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

der*_*itz 3 selenium jenkins selenium-chromedriver jenkins-plugins

我只是用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.
Run Code Online (Sandbox Code Playgroud)

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

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

Are*_*rek 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.我有类似的问题,它对我有用.


Gre*_*jan 5

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

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

首次安装问题 安装Chromedriver插件后,可能需要花费几分钟的时间进行下载,并在自动安装后即可使用。可能是从属在完全安装了主控之前尝试安装chromedriver,因此无法查找下载位置。重新启动从站将导致其重试,并在从站上安装chromedriver。

在每个从属服务器和主服务器上,您最终都应该得到一个$JENKINS_HOME\tools\chromedriver\chromedrive.exe,您可以在Jenkins Selenium插件配置中为Chrome [driver]二进制路径引用它,因为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();
Run Code Online (Sandbox Code Playgroud)

所以要考虑其他一些事情

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

    ChromeOptions options = new ChromeOptions();
    options.setBinary("/path/to/other/chrome/binary");
    
    Run Code Online (Sandbox Code Playgroud)