如何在Jenkins托管的网格上使用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的位置。
更新:我挖了一下,以为我碰到了这个或那个。这个问题有什么解决方法吗?
回答:
我自己也经历了相同的过程。
使用Selenium插件可以设置硒网格。
使用Chromedriver插件可以自动安装chrome驱动程序。
使用Selenium Axis插件可以创建矩阵作业。
安装Chromedriver插件后,可能需要花费几分钟的时间进行下载,并在自动安装后即可使用。可能是从属在完全安装了主控之前尝试安装chromedriver,因此无法查找下载位置。重新启动从站将导致其重试,并在从站上安装chromedriver。
在每个从属服务器和主服务器上,您最终都应该得到一个$JENKINS_HOME\tools\chromedriver\chromedrive.exe
,您可以在Jenkins
Selenium插件配置中为Chrome
[driver]二进制路径引用它,因为tools\chromedrive\chromedriver.exe
Jenkins会$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”);
以上是 如何在Jenkins托管的网格上使用Chromedriver设置Selenium 的全部内容, 来源链接: utcz.com/qa/410619.html