远程调试在selenium chromedriver上运行的Internjs

时间:2015-01-14 16:43:30

标签: google-chrome selenium remote-debugging selenium-chromedriver intern

我尝试远程调试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_2.11 --port=8765
  • 上运行chromedriver
  • 使用--remote-debugging-port=8765
  • 运行chrome

但我没有其他想法如何启动chrome调试服务器。

我尝试过的有用链接对我不起作用:

更新1 强制Chromedriver在远程调试时使用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'
  }
};

现在,当您运行Intern测试时,Intern将使用您之前打开的Chrome实例。现在您可以打开localhost:9222并且您将看到您可以调试运行测试的选项卡。但是对我来说,我只能看到远程标签,但点击它却什么也没做。

我也尝试过Firefox WebIDE。我尝试连接到localhost:9222,它开始加载,一段时间后它说它无法连接。

1 个答案:

答案 0 :(得分:1)

我今晚尝试了类似的东西,没有使用框架。我打开了一个webdriver会话&添加了远程调试器功能。 似乎无法运行webdriver会话&远程调试同时进行。我让一些谷歌家伙验证了这一点,但还没有收到答案。