3

我只是用 Selenium 迈出了第一步。我成功设置了一个测试(Firefox 驱动程序),在我的 Jenkins 上的 Selenium 网格上运行(使用 Jenkins-Selenium-Grid 插件)。我还在运行 Jenkins 的机器(Server2003 64 位)上安装了 Chromdriver 插件和 Chrome 本身。为所有用户安装了 Chrome(在 C:\Program Files (x86)\Google\Chrome\Application\chrome.exe 中)。问题是:一旦我尝试使用我得到的 Chromedriver

UnreachableBrowserException: Could not start a new session. Possible causes are invalid     address of the remote server or browser start-up failure.

既然 Firefox 测试运行良好,那一定是“浏览器启动”的问题?!所以第一个问题是:Chromdriver 假定的 chrome 二进制文件的默认位置是什么?第二个问题:如何解决这个问题?是否有要设置的环境属性?或者我可以简单地将 PATH 设置为 chrome.exe 的位置。

更新:我挖了一下,我想我遇到了这个那个。这个问题有什么解决方法吗?

4

4 回答 4

5

您可以将其用作节点设置代码:

java -jar selenium-server-standalone-2.19.0.jar -Dwebdriver.chrome.driver="C:\Java\chromedriver.exe" -role node -hub http://localhost:4444/grid/register -browser " browserName=internet explorer,version=8,platform=WINDOWS"-browser"browserName=chrome,version=17,platform=WINDOWS"-browser"browserName=firefox,version=9,platform=WINDOWS"-browser"browserName=opera,版本=11,平台=WINDOWS"

所以直接指向 chromedriver 二进制文件,它是一个 chromedriver.exe,而不是常见的 chrome.exe。我有类似的问题,它对我有用。

于 2012-03-05T14:39:50.630 回答
4

我自己也经历了同样的过程。

使用Selenium 插件,您可以设置硒网格。
使用Chromedriver 插件,您可以自动安装 chrome 驱动程序。
使用Selenium Axis 插件,您可以创建矩阵作业。

首次安装问题 安装 Chromedriver 插件后,可能需要几分钟才能下载并在自动安装后准备就绪。可能是从服务器在完全安装主服务器之前尝试安装 chromedriver,因此无法查找下载位置。重新启动从站将导致它再次尝试并在从站上安装 chromedriver。

在每个从站和主站上,您最终应该得到一个$JENKINS_HOME\tools\chromedriver\chromedrive.exe您可以在 Chrome[驱动程序] 二进制路径的 Jenkins Selenium 插件配置中引用的,因为tools\chromedrive\chromedriver.exeJenkins 将为您添加特定的从站 $JENKINS_HOME詹金斯硒配置

将 Chrome 安装到默认位置,结果C:\Program Files (x86)\Google\Chrome\Application\chrome.exe与描述的相同。

此时我可以成功运行测试作业,而不会出现您显示的错误。

DesiredCapabilities capability = DesiredCapabilities.chrome();
WebDriver driver = new RemoteWebDriver(new URL("http://Jenkins.ip.here:4444/wd/hub"), capability);
driver.get(siteBase.toString());
String page = driver.getPageSource();

所以还有一些其他的事情要考虑

  • 更改了 jenkins selenium 配置后,您是否重新启动了 selenium 服务,在配置更改后它似乎停止了它们。配置是否指定了实例。
  • 如果是安装位置问题,您可以使用更改测试用例中的安装位置选项

    ChromeOptions options = new ChromeOptions();
    options.setBinary("/path/to/other/chrome/binary");
    
于 2015-02-14T00:04:31.580 回答
1

您是否指定了-Dwebdriver.chrome.driver=Path/To/ChromeDriver启动节点的时间?

添加这可能会有所帮助。

于 2013-02-26T13:16:54.343 回答
0

我在 selenium 组中问了同样的问题:

https://groups.google.com/forum/?fromgroups#!topic/selenium-users/-3LJ3wma3RE

那里提供的解决方案对我不起作用,但可能对您有用?(在詹金斯上为 chromedriver 设置 PATH)

于 2012-03-14T08:15:47.343 回答