如何在Jenkins托管的网格上使用Chromedriver设置Selenium

时间:2012-03-05 13:45:50

标签: selenium jenkins jenkins-plugins selenium-chromedriver

我只是用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的位置。

更新:我挖了一下,ith我遇到了thisthat。这个问题的解决方法是什么?

4 个答案:

答案 0 :(得分: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,version = 11中,平台= WINDOWS“

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

答案 1 :(得分:5)

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

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

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

在每个奴隶和主人身上,你最终应该得到$JENKINS_HOME\tools\chromedriver\chromedrive.exe,你可以在Jenkins Selenium插件配置中将Chrome [驱动程序]二进制路径引用为tools\chromedrive\chromedriver.exe,Jenkins将在前面添加$JENKINS_HOME特定于奴隶C:\Program Files (x86)\Google\Chrome\Application\chrome.exeJenkins Selenium Config

将Chrome安装到默认位置,结果与所描述的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(); 相同。

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

ChromeOptions options = new ChromeOptions();
options.setBinary("/path/to/other/chrome/binary");

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

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

    更改测试用例中的安装位置选项
    {{1}}

答案 2 :(得分:1)

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

添加此功能可能有所帮助。

答案 3 :(得分:0)

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

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

那里提供的解决方案对我没有用,但可能对你有用吗? (在jenkins上为chromedriver设置PATH)