远程调试自动化

共 17 题
#

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 远程调试无法被外部访问,无需任何防护