一尘不染

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

jenkins

我只是在硒方面迈出了第一步。我成功设置了一个测试(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的位置。

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


阅读 445

收藏
2020-07-25

共1个答案

一尘不染

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

使用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();

所以要考虑其他一些事情

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

    options.setBinary(“/path/to/other/chrome/binary”);

2020-07-25