为什么具有真正无头选项的Chrome 59-Beta无法与Protractor一起使用?

时间:2017-05-15 08:20:30

标签: node.js angular google-chrome protractor travis-ci

我想使用最新的Chrome 59-Beta和--headless选项来测试我们的Angular项目(github .com / h-da / geli)。

我能够将karma与新的GC-Beta一起使用,但我无法使用新的GC-Beta运行protractor。我试图在Jenkins和我当地的流浪汉机器上运行量角器,两者都给了我同样的错误:

    [17:13:12] I/direct - Using ChromeDriver directly...
    [17:14:12] E/launcher - chrome not reachable
      (Driver info: chromedriver=2.29.461571 (8a88bbe0775e2a23afda0ceaf2ef7ee74e822cc5),platform=Linux 4.4.0-51-generic x86_64)
    [17:14:12] E/launcher - WebDriverError: chrome not reachable (Driver info: chromedriver=2.29.461571 (8a88bbe0775e2a23afda0ceaf2ef7ee74e822cc5),platform=Linux 4.4.0-51-generic x86_64)
        at Object.checkLegacyResponse (/home/travis/build/[secure]/geli/app/webFrontend/node_modules/selenium-webdriver/lib/error.js:505:15)
        at parseHttpResponse (/home/travis/build/[secure]/geli/app/webFrontend/node_modules/selenium-webdriver/lib/http.js:509:13)
        at doSend.then.response (/home/travis/build/[secure]/geli/app/webFrontend/node_modules/selenium-webdriver/lib/http.js:440:13)
        at process._tickCallback (internal/process/next_tick.js:109:7)
    From: Task: WebDriver.createSession()
        at Function.createSession (/home/travis/build/[secure]/geli/app/webFrontend/node_modules/selenium-webdriver/lib/webdriver.js:777:24)
        at Function.createSession (/home/travis/build/[secure]/geli/app/webFrontend/node_modules/selenium-webdriver/chrome.js:709:29)
        at Direct.getNewDriver (/home/travis/build/[secure]/geli/app/webFrontend/node_modules/protractor/lib/driverProviders/direct.ts:90:25)
        at Runner.createBrowser (/home/travis/build/[secure]/geli/app/webFrontend/node_modules/protractor/lib/runner.ts:225:39)
        at q.then.then (/home/travis/build/[secure]/geli/app/webFrontend/node_modules/protractor/lib/runner.ts:391:27)
        at _fulfilled (/home/travis/build/[secure]/geli/app/webFrontend/node_modules/protractor/node_modules/q/q.js:834:54)
        at self.promiseDispatch.done (/home/travis/build/[secure]/geli/app/webFrontend/node_modules/protractor/node_modules/q/q.js:863:30)
        at Promise.promise.promiseDispatch (/home/travis/build/[secure]/geli/app/webFrontend/node_modules/protractor/node_modules/q/q.js:796:13)
        at /home/travis/build/[secure]/geli/app/webFrontend/node_modules/protractor/node_modules/q/q.js:556:49
        at runSingle (/home/travis/build/[secure]/geli/app/webFrontend/node_modules/protractor/node_modules/q/q.js:137:13)
        at flush (/home/travis/build/[secure]/geli/app/webFrontend/node_modules/protractor/node_modules/q/q.js:125:13)
        at _combinedTickCallback (internal/process/next_tick.js:73:7)
        at process._tickCallback (internal/process/next_tick.js:104:9)
    [17:14:12] E/launcher - Process exited with error code 199

你可以在这里看到Jenkins Build:travis-ci .org / khase / geli / builds / 232136348以及Build在这里的代码:https://github.com/khase/geli/tree/1fe73b4aac9b和量角器文件在这里https://github.com/khase/geli/blob/1fe73b4aac9b5c8c0b39b93a8fe40283dd3a92f7/app/webFrontend/protractor.conf.js < / p>

现在我的问题:为什么我会得到chrome not reachable

非常感谢你们:)

PS:我们分叉了我们的真实项目来测试CI的东西=&gt; / khase /格力

1 个答案:

答案 0 :(得分:0)

尝试使用更高版本的chromedriver。这些错误通常表示chrome和chromedriver之间的版本不匹配。根据您的日志,您使用的是chromedriver=2.29.461571,我认为它对于Chrome 59来说太旧了。

您可以在http://chromedriver.chromium.org/downloads上检查可用的版本(如今还列出了受支持的chrome版本)。另外,您可以使用webdriver-manager自动获取最新/特定版本,通常从您的CI管道中获取。