【问题标题】:Chromedriver works manually but fails when ran from Jenkins SlaveChromedriver 手动工作,但从 Jenkins Slave 运行时失败
【发布时间】:2016-09-05 21:38:37
【问题描述】:

我有一个使用 LinuxMint 的 Jenkins 从节点设置。所以我们可以在 Chrome 和 Firefox 的 Linux 机器上做一些浏览器测试。

我安装了最新的 Chromedriver,测试可以运行它,当我手动进入 /var/jenkins/workspace/<project name>/TestAutomation/SeleniumFramework 并执行我的 run npm <test name> 时,测试会启动 chromedriver 并成功运行。

当我进入 Jenkins 并运行我的测试时,chromedriver 出现以下错误,我不知道该去哪里。:

直接使用 ChromeDriver... [启动器] 运行 1 个 WebDriver 实例 /var/jenkins/workspace/QA-E2E-Linux/TestAutomation/SeleniumFramework/node_modules/selenium-webdriver/lib/atoms/error.js:108 var template = new Error(this.message); ^ UnknownError:未知错误:Chrome 无法启动:异常退出 (驱动程序信息:chromedriver=2.21.371461(633e689b520b25f3e264a2ede6b74ccc23cb636a),平台=Linux 3.19.0-32-generic x86_64) 在新的 bot.Error (/var/jenkins/workspace/QA-E2E-Linux/TestAutomation/SeleniumFramework/node_modules/selenium-webdriver/lib/atoms/error.js:108:18) 在 Object.bot.response.checkResponse (/var/jenkins/workspace/QA-E2E-Linux/TestAutomation/SeleniumFramework/node_modules/selenium-webdriver/lib/atoms/response.js:109:9) 在 /var/jenkins/workspace/QA-E2E-Linux/TestAutomation/SeleniumFramework/node_modules/selenium-webdriver/lib/webdriver/webdriver.js:160:24 在 promise.ControlFlow.runInFrame_ (/var/jenkins/workspace/QA-E2E-Linux/TestAutomation/SeleniumFramework/node_modules/selenium-webdriver/lib/goog/../webdriver/promise.js:1857:20) 在 goog.defineClass.notify (/var/jenkins/workspace/QA-E2E-Linux/TestAutomation/SeleniumFramework/node_modules/selenium-webdriver/lib/goog/../webdriver/promise.js:2448:25) 在 promise.Promise.notify_ (/var/jenkins/workspace/QA-E2E-Linux/TestAutomation/SeleniumFramework/node_modules/selenium-webdriver/lib/goog/../webdriver/promise.js:564:12) 在 Array.forEach (本机) 在 promise.Promise.notifyAll_ (/var/jenkins/workspace/QA-E2E-Linux/TestAutomation/SeleniumFramework/node_modules/selenium-webdriver/lib/goog/../webdriver/promise.js:553:15) 在 goog.async.run.processWorkQueue (/var/jenkins/workspace/QA-E2E-Linux/TestAutomation/SeleniumFramework/node_modules/selenium-webdriver/lib/goog/async/run.js:130:15) 在 process._tickCallback (internal/process/next_tick.js:103:7) 来自:任务:WebDriver.createSession() 在 Function.webdriver.WebDriver.acquireSession_ (/var/jenkins/workspace/QA-E2E-Linux/TestAutomation/SeleniumFramework/node_modules/selenium-webdriver/lib/webdriver/webdriver.js:157:22) 在 Function.webdriver.WebDriver.createSession (/var/jenkins/workspace/QA-E2E-Linux/TestAutomation/SeleniumFramework/node_modules/selenium-webdriver/lib/webdriver/webdriver.js:131:30) 在新驱动程序(/var/jenkins/workspace/QA-E2E-Linux/TestAutomation/SeleniumFramework/node_modules/selenium-webdriver/chrome.js:810:36) 在 DirectDriverProvider.getNewDriver (/var/jenkins/workspace/QA-E2E-Linux/TestAutomation/SeleniumFramework/node_modules/protractor/lib/driverProviders/direct.js:68:16) 在 Runner.createBrowser (/var/jenkins/workspace/QA-E2E-Linux/TestAutomation/SeleniumFramework/node_modules/protractor/lib/runner.js:182:37) 在 /var/jenkins/workspace/QA-E2E-Linux/TestAutomation/SeleniumFramework/node_modules/protractor/lib/runner.js:263:21 在 _fulfilled (/var/jenkins/workspace/QA-E2E-Linux/TestAutomation/SeleniumFramework/node_modules/q/q.js:797:54) 在 self.promiseDispatch.done (/var/jenkins/workspace/QA-E2E-Linux/TestAutomation/SeleniumFramework/node_modules/q/q.js:826:30) 在 Promise.promise.promiseDispatch (/var/jenkins/workspace/QA-E2E-Linux/TestAutomation/SeleniumFramework/node_modules/q/q.js:759:13) 在 /var/jenkins/workspace/QA-E2E-Linux/TestAutomation/SeleniumFramework/node_modules/q/q.js:525:49 [启动器] 进程退出,错误代码 1

【问题讨论】:

    标签: linux selenium jenkins protractor selenium-chromedriver


    【解决方案1】:

    第一个解决方案:

    你安装了java 8吗?如果是,请卸载它并安装 java 7。

    第二种解决方案:

    将量角器降级到 v1.8.0

    ~

    更多信息: https://github.com/angular/protractor/issues/1905

    @编辑

    我在 jenkins - linux 中发现了一个和你类似的主题,同样的错误:

    In you jenkins settings add a global property
    
    key : DISPLAY
    value:0:0
    
    On your server start Xvfb in the background:
    
    Xvfb :0 -ac -screen 0 1024x768x24 &
    

    链接:unknown error: Chrome failed to start: exited abnormally (Driver info: chromedriver=2.9

    【讨论】:

    • 这两种解决方案都不起作用。我仍然可以在 Jenkins 从属设备上手动运行测试,但我无法从 Jenkins 运行它们。
    • 我找到了有关您的问题的更多信息:stackoverflow.com/questions/22558077/…
    • 谢谢,我确实知道了问题所在。我通过 SSH 从 Jenkins 连接到奴隶。改用 Java Web Start 后,它工作得很好,浏览器也启动了。
    【解决方案2】:

    所以我通过 SSH 从 Jenkins 主服务器连接到从服务器。这永远不会启动浏览器会话。我切换到 Java Web Start 选项,它启动了浏览器就好了。

    【讨论】:

      猜你喜欢
      • 2016-12-22
      • 1970-01-01
      • 2013-05-27
      • 1970-01-01
      • 1970-01-01
      • 2018-03-29
      • 1970-01-01
      • 2018-02-17
      • 2019-10-21
      相关资源
      最近更新 更多