测试人社区

开启Chrome Remote Debug的正确方式

将浏览器启动程序配置到环境变量path中

  • Windows系统:将chrome浏览器启动程序chrome.exe所在文件夹配置到环境变量path中
  • Linux系统:将chrome浏览器启动程序chrome所在文件夹配置到环境变量path中
  • Mac系统:将chrome浏览器启动程序Google Chrome所在文件夹配置到环境变量path中
  • 验证配置是否正确:WIndows/Linux系统在命令行执行chrome Mac系统在命令行执行Google\ Chrome,能够打开Chrome浏览器说明配置成功

配置完毕或已经配置但仍然报命令不存在

  • 重启命令行或者终端后再次尝试
  • 重启电脑后再次尝试

确定命令启动前是否已将chrome进程都关闭

  • 在通过命令启动远程调试的chrome之前,需要关闭chrome有关的进程,除了chrome浏览器之外,还有chrome后台进程、浏览器插件等
  • chrome设置-高级里有一项设置可以关闭掉再试一下,能解决不少后台进程问题image

使用命令启动开启远程调试的Chrome浏览器

  • Windows/Linux命令为:chrome --remote-debugging-port=9222 (9222为端口号,可以换成任意一个没有被占用的端口)
  • Mac命令为:Google\ Chrome --remote-debugging-port=9222 (9222为端口号,可以换成任意一个没有被占用的端口) (注意命令中间的反斜线)

确定调试模式浏览器启动成功

  • 调试模式启动浏览器后,通过浏览器访问127.0.0.1:9222(9222为端口号,对应之前启动命令中配置的端口号),如果页面没有报错,那么说明调试模式的浏览器启动成功

在脚本中配置复用chrome浏览器地址

  • options中需要设置debugger_address参数,参数地址中端口号与启动调试模式命令中配置的端口号一致(如果地址使用localhost的话还要确认在hosts中,localhost是否配置到了127.0.0.1)

在哪个节点会用到浏览器复用这个配置环境的?

就在企业微信登录那节课就用的到,或者是平时编写web测试脚本的时候,用来调试用的

mac上的一个示例,如果提示在已有的浏览器会话中打开,就说明有问题,只有看到DevTools listening on 才代表成功。

seveniruby:~ seveniruby$ /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome -remote-debugging-port=9222
正在现有的浏览器会话中打开。
seveniruby:~ seveniruby$
seveniruby:~ seveniruby$
seveniruby:~ seveniruby$ /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome -remote-debugging-port=9222

DevTools listening on ws://127.0.0.1:9222/devtools/browser/e1035d14-2f7e-4852-aabf-8372b707e3b8