在Linux平台上无法通过Jenkins中的Selenium启动Chrome浏览器

时间:2019-02-26 05:49:24

标签: linux selenium google-chrome jenkins selenium-chromedriver

Jenkins正在显示启动chromedriver的消息,但未触发chromedriver并且测试用例失败。我不知道为什么会发生

注意:为此代码创建的xml在终端上成功运行。我认为问题是chromedriver

硒代码:

   public class cmddd {
      @Test
      public void f() throws InterruptedException {
          System.setProperty("webdriver.chrome.driver", "/home/dev2/Downloads/newchromedriver/chromedriver");
            WebDriver m = new ChromeDriver();
            m.get("https://www.google.com/");
            System.out.println("passed");
    }
    }


JENKINS OUTPUT:

   Building in workspace /home/dev2/eclipse-workspace/seffcon
    [seffcon] $ /bin/sh -xe /tmp/jenkins170843147783066328.sh
    + ./cd.sh
    [TestNG] Running:
      /home/dev2/eclipse-workspace/seffcon/cd.xml

    Starting ChromeDriver 2.40.565383 (76257d1ab79276b2d53ee976b2c3e3b9f335cde7) on port 20671
    Only local connections are allowed.

    ===============================================
    Suite
    Total tests run: 1, Failures: 1, Skips: 0
    ===============================================
    Build step 'Execute shell' marked build as failure
    Finished: FAILURE

2 个答案:

答案 0 :(得分:1)

此错误消息...

Starting ChromeDriver 2.40.565383 (76257d1ab79276b2d53ee976b2c3e3b9f335cde7) on port 20671
Only local connections are allowed.
.
Build step 'Execute shell' marked build as failure
Finished: FAILURE

...表示 ChromeDriver 无法启动/产生新的 WebBrowser ,即 Chrome浏览器会话。

您的主要问题是所使用的二进制版本之间的不兼容性

  • 您正在使用 chromedriver = 2.40
  • chromedriver=2.40的发行说明中明确提到以下内容:
  

支持 Chrome v66-68

  • 可能您正在使用最新的Chrome浏览器,即 chrome = 72.0
  • 根据ChromeDriver - WebDriver for Chrome
    • 如果您使用的是Chrome 73版,请下载ChromeDriver 73.0.3683.20
    • 如果您使用的是Chrome版本72,请下载ChromeDriver 2.46或ChromeDriver 72.0.3626.69
    • 如果您使用的是Chrome版本71,请下载ChromeDriver 2.46或ChromeDriver 71.0.3578.137
    • 对于旧版Chrome,请访问this discussion了解支持它的ChromeDriver版本。

解决方案

  • Chrome 版本升级到 Chrome v72 级别。
  • 根据ChromeDriver - WebDriver for Chrome,将 ChromeDriver 升级到ChromeDriver v2.46ChromeDriver 72.0.3626.69
  • 通过您的 IDE
  • 清理您的项目工作区重建您的项目,并且仅具有必需的依赖项。
  • 如果您的基本 Web客户端版本过旧,请通过Revo Uninstaller进行卸载,并安装最新版本的 Web客户端。 li>
  • 进行系统重启
  • 执行您的@Test
  • 始终在driver.quit()方法内调用tearDown(){},以优雅地关闭和销毁 WebDriver Web Client 实例。

答案 1 :(得分:-1)

检查您的chromedriver版本和chromebrowser版本。当版本不匹配时,我已经注意到这种现象。

您可以引用此链接http://chromedriver.chromium.org/downloads