2012-03-05 39 views
3

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

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的位置。

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

回答

4

我自己也经历了同样的过程。使用Selenium Plugin您可以设置硒网格。
使用Chromedriver Plugin您可以自动安装chrome驱动程序。
使用​​您可以创建矩阵作业。

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

在每个从属,你应该最后用$JENKINS_HOME\tools\chromedriver\chromedrive.exe这可以参考在詹金斯硒插件配置为Chrome [驱动]二元路径作为tools\chromedrive\chromedriver.exe和詹金斯将前面加上特定从属$JENKINS_HOME为你最终的主人。 Jenkins Selenium Config

将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(); 

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

  • 已经改变詹金斯硒的配置,你有没有重新启动硒服务,配置更改后它似乎停止他们。配置是否指定了实例?
  • 如果是一个安装位置的问题,您可能能够使用

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

您可以使用此作为一个节点设置代码:

Java的罐子硒的服务器独立-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 =歌剧,版本= 11,平台= WINDOWS”

因此,有直接点chromedriver二进制文件,这是一个不chromedriver.exe共同CHRO me.exe。我有类似的问题,它为我工作。

+0

我使用詹金斯硒网格插件和Chromedriver插件更改测试用例的安装位置的选择,这意味着所有的节点它安装是由这个插件完成的(如上所述,firefox运行正常)。由于詹金斯在系统帐户下运行,所以在默认位置没有chrome.exe。 但设置“.setCapability(”chrome.binary“,”\“C:\\ Program Files(x86)\\ Google \\ Chrome \\ Application \”“)”没有帮助。我不知道jenkins插件试图找到可执行文件(%HOMEPATH%未设置为系统)。所以如何设置路径或者将它们复制到。 – dermoritz 2012-03-05 14:49:11

1

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

添加这可能会有所帮助。

+0

它应该在java命令后面添加,因为它是JVM的一个参数,如果它放在.jar规范之后,命令将失败 – 2016-10-25 10:26:10

相关问题