在 selenium chromedriver 上运行的远程调试 Internjs
Posted
技术标签:
【中文标题】在 selenium chromedriver 上运行的远程调试 Internjs【英文标题】:Remote debugging Internjs that runs on selenium chromedriver 【发布时间】:2015-03-12 22:35:23 【问题描述】:我尝试远程调试 Internjs 运行的测试。 基本上它是由 Selenium 和 Chromedriver 运行的 Chrome。
我将 Chromedriver debuggerAddress 选项设置为
debuggerAddress: '127.0.0.1:8765'
现在,当我运行测试时,Selenium 会等待一段时间,然后失败并显示消息:
FATAL ERROR
UnknownError: [POST http://localhost:4444/wd/hub/session / "desiredCapabilities":"browserName":"chrome","name":"tests/intern_local","idle-timeout":60,"selenium-version":"2.44.0","chromeOptions":"debuggerAddress":"127.0.0.1:8765"] unknown error: cannot connect to chrome at 127.0.0.1:8765
from chrome not reachable
(Driver info: chromedriver=2.12.301326 (093c7e07b4a916b690e784b0374c7f618f1ea4be),platform=Mac OS X 10.10.1 x86_64) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 60.64 seconds
我不确定我必须做什么才能使 chrome 连接到服务器。
我试过了:
在该端口上运行 chromedriver./chromedriver_2.11 --port=8765
使用--remote-debugging-port=8765
运行 chrome
但我不知道如何启动 chrome 调试服务器。
我尝试过但对我不起作用的有用链接:
Remote debugging protocol Remotely debugging Chrome Desktop Chromedriver Capabilities (aka ChromeOptions)更新 1 强制 Chrome 驱动程序使用已开启远程调试的 Chrome 实例
像Mozilla article一样运行一个新的Chrome实例
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --remote-debugging-port=9222 --no-first-run --no-default-browser-check --user-data-dir=$(mktemp -d -t 'chrome-remote_data_dir')
实习生
intern.capabilities =
'selenium-version': '2.44.0'
, 'chromeOptions':
debuggerAddress: '127.0.0.1:9222'
;
现在,当您运行实习生测试时,实习生将使用您之前打开的 Chrome 实例。现在您可以打开localhost:9222
,您会看到您可以调试运行测试的选项卡。但是对我来说,我只能看到那个远程标签,但点击它什么也没做。
我也试过 Firefox WebIDE。我试图连接到localhost:9222
,它开始加载,一段时间后它说它无法连接。
【问题讨论】:
【参考方案1】:我今晚尝试了类似的方法,但没有使用框架。我打开了一个 webdriver 会话并添加了远程调试器功能。 似乎不可能同时运行 webdriver 会话和远程调试。我请了一些 Google 人员进行验证,但尚未收到答复。
【讨论】:
所以,我想知道这是不是真的(webdriver session + remote debug 同时=不可能)。 从我前段时间调试的情况来看,这两个工具似乎使用相同的调试器协议,分别使用相同的服务器端点连接到浏览器。如果这已经由其中一个进程控制,则另一个进程将无法连接。未经任何比我更专业的人验证,但这是我观察到的行为。以上是关于在 selenium chromedriver 上运行的远程调试 Internjs的主要内容,如果未能解决你的问题,请参考以下文章
在Centos7上安装Python+Selenium+Chrome+Chromedriver
在树莓派 3 上使用 selenium 和 chromedriver 时出错 - Raspbian Jessie
sh 在Ubuntu 16.04上安装ChromeDriver和Selenium
sh 在Ubuntu 16.04上安装Chrome,ChromeDriver和Selenium