# 1. Playwright/Puppeteer 在自动化测试的 CDP(Chrome DevTools Protocol) A 它们直接使用 WebDriver 协议,与 CDP 无关 B 它们通过 CDP 的 WebSocket 发送命令控制浏览器,并封装成高层 API ✓ 正确答案 C CDP 只能用于调试,不能用于自动化 D Puppeteer 支持所有浏览器,包括 Safari 原生
# 2. Chrome 远程调试(chrome --remote-debugging-port=9222) A 该端口只能用于本地页面调试,无法供自动化连接 B 启动后可通过 http://localhost:9222/json 获取标签页调试地址,供 CDP 客户端连接 ✓ 正确答案 C 该参数会禁用 JS 执行 D 远程调试端口不需要任何防护,可放心暴露
# 3. Node.js 调试(--inspect、chrome://inspect) A --inspect-brk 在首行暂停,可通过 chrome://inspect 连接浏览器 DevTools 调试 Node ✓ 正确答案 B --inspect 会阻塞 Node 启动,直到连接调试器 C Node 调试无法使用断点,只能靠日志 D chrome://inspect 只能调试浏览器,无法调试 Node
# 4. Chrome DevTools 远程调试 Android 设备 A 需启用手机 USB 调试并用 adb 连接,chrome://inspect 发现设备后用桌面 DevTools 调试 ✓ 正确答案 B 无需 USB 连接,无线即可直接调试 C 只能调试模拟器,无法调试真机 D 移动端调试无法查看网络请求
# 5. CDP(Chrome DevTools Protocol)的原理,远程调试与自动化? A CDP 通过 WebSocket 以 JSON 消息按域组织命令与事件,是 DevTools 与自动化的基础 ✓ 正确答案 B CDP 通过 HTTP 请求以 HTML 格式通信 C CDP 只能用于截屏,不能订阅事件 D CDP 与 DevTools 无关,是独立的浏览器功能
# 6. WebDriver BiDi(双向协议)相比 CDP 的跨浏览器标准化优势,以及 Playwright 对 BiDi 支持与 CDP 回退的现状? A BiDi 是 Chrome 专有协议,与 CDP 相同 B BiDi 只支持单向命令,不支持事件 C BiDi 是 W3C 标准化双向协议,跨浏览器统一,Playwright 对 BiDi 未覆盖的能力回退到 CDP ✓ 正确答案 D Playwright 只能使用 CDP,完全不支持 BiDi
# 7. Safari iOS 远程调试(Web Inspector Agent) A 只要在任意系统装 Chrome 即可调试 Safari iOS B Web Inspector 的能力与 Chrome DevTools 完全一致 C Safari iOS 无法调试任何页面 D 需在 Mac 上启用 Safari 开发菜单,USB 连接 iOS 设备后用 Web Inspector 调试 ✓ 正确答案
# 8. CDP 域(Network/Page/Runtime)在自定义调试工具的工程价值 A Network 域只能用于查看缓存,无法拦截请求 B Runtime 域无法在页面执行 JS C CDP 域无法被外部工具调用 D Network 域采集请求、Page 域控制导航与截图、Runtime 域执行 JS 与捕获错误,可组合构建自定义工具 ✓ 正确答案
# 9. Headless Chrome 与 CI/CD 集成 A Headless Chrome 无法渲染页面或执行 JS B Headless Chrome 在无界面环境运行并提供 CDP,可在 CI 中执行 Puppeteer 测试、Lighthouse 审计与截图等自动化 ✓ 正确答案 C Headless Chrome 只能用于本地,不能用于 CI D 无头浏览器无法生成截图
# 10. iframe 与 WebView 的调试方法 A iframe 内部的变量一定可以从父页面直接访问 B DevTools 可通过上下文切换调试 iframe,Android WebView 需启用 setWebContentsDebuggingEnabled 后经 chrome://inspect 调试 ✓ 正确答案 C WebView 无法进行任何调试 D 跨域 iframe 完全无法调试任何信息
# 11. 用 CDP 编程化采集 Performance trace(Tracing.start/stop、categories 选择)并做自动化回归分析 A 采集 trace 不需要选择 categories B 通过 Tracing.start/stop 指定 categories 采集 trace,可解析提取指标并在 CI 中做性能回归 ✓ 正确答案 C trace 数据无法被脚本解析,只能人工查看 D Tracing 域只能采集网络请求,无法采集主线程
# 12. source map 上传与错误监控(Sentry)符号化的联动流程(构建期上传、release 关联、生产栈还原) A 构建期上传 source map 并关联 release,Sentry 用其将生产压缩栈还原为源码位置 ✓ 正确答案 B 生产环境无需 source map 也能还原源码栈 C release 与 source map 无关,无需关联 D Sentry 只能上传压缩栈,无法还原
# 13. WebView 内调试(Android chrome://inspect、iOS Safari Web Inspector)的能力边界与版本限制 A Android WebView 需 setWebContentsDebuggingEnabled(true) 才能经 chrome://inspect 调试,且受版本与宿主限制 ✓ 正确答案 B Android WebView 默认即可调试,无需任何配置 C WebView 调试能力与桌面浏览器完全一致,无任何限制 D iOS WKWebView 无法通过任何方式调试
# 14. Puppeteer/Playwright 与 DevTools 协议的配合? A 框架提供高层交互 API,同时可通过 CDPSession 发送原始 CDP 命令做深度采集,二者互补 ✓ 正确答案 B 框架无法访问底层 CDP 命令 C 使用 CDP 后必须放弃框架的全部功能 D CDP 只能用于性能分析,无法用于自动化
# 15. 远程真机调试,WebView 与移动端调试? A 真机调试无需任何 USB 连接 B WebView 无法在真机上调试任何内容 C 真机调试能力不受任何版本限制 D Android 用 chrome://inspect、iOS 用 Web Inspector 调试,WebView 需 App 侧开启调试开关 ✓ 正确答案
# 16. 移动端远程调试,Safari/Chrome 的 WebView 调试? A Safari WebView 调试能力与 Chrome 完全相同 B 两种 WebView 调试都无需任何平台配置 C Chrome WebView 需安卓原生开启调试,经 chrome://inspect 调试;Safari WKWebView 需在 Mac Safari 中调试 ✓ 正确答案 D WebView 调试只能看 DOM,无法看网络
# 17. 远程调试的安全风险,--remote-debugging-port 暴露导致的被接管攻击、绑定 localhost/127.0.0.1 与鉴权 token 的防护措施? A 远程调试端口即使暴露也无安全性可言的风险 B 默认 --remote-debugging-port 绑定 0.0.0.0,是安全的 C 若调试端口暴露,攻击者可通过 CDP 接管浏览器;应绑定 127.0.0.1、使用鉴权 token 与防火墙防护 ✓ 正确答案 D 远程调试无法被外部访问,无需任何防护