量angular器+ Selenium Chrome Docker = WebDriverError:未知错误:Chrome无法启动:退出正常

我已经完成了本教程的所有内容http://www.protractortest.org/#/tutorial

https://github.com/angular/protractor-cookbook/tree/master/protractor-docker

(我最近从sepereatedselenium毂和节点更改为https://hub.docker.com/r/selenium/standalone-chrome/ )

我已经创build了一个protractor.config.js:

exports.config = { framework: 'jasmine', seleniumAddress: 'http://localhost:4455/wd/hub', specs: ['../tests/protractor/spec.js'], } 

我的testing里面的testing/量angular器/ spec.js

 // spec.js describe('Protractor Demo App', function() { it('should add one and two', function() { browser.get('http://juliemr.github.io/protractor-demo/'); element(by.model('first')).sendKeys(1); element(by.model('second')).sendKeys(2); element(by.id('gobutton')).click(); expect(element(by.binding('latest')).getText()). toEqual('5'); // This is wrong! }); }); 

这些是我的selenium中枢和铬节点:

 docker run -d -p 4455:4444 --name selenium-hub selenium/hub:latest docker run -d --link selenium-hub:hub selenium/node-chrome:latest 

这给了这些docker集装箱:

 806106331d22 selenium/node-chrome:latest "/opt/bin/entry_point" 23 seconds ago Up 22 seconds insane_newton d93265006f9d selenium/hub:latest "/opt/bin/entry_point" 37 minutes ago Up 37 minutes 0.0.0.0:4455->4444/tcp selenium-hub 

这是发生了什么事情:

 ./node_modules/.bin/protractor tests/config/protractor.conf.js [16:01:28] I/launcher - Running 1 instances of WebDriver [16:01:28] I/hosted - Using the selenium server at http://localhost:4455/wd/hub 

一分钟后我得到这个错误:

 [12:32:34] E/launcher - WebDriverError: unknown error: Chrome failed to start: exited normally (Driver info: chromedriver=2.30.477691 (6ee44a7247c639c0703f291d320bdf05c1531b57),platform=Linux 4.4.4-200.fc22.x86_64 x86_64) (WARNING: The server did not provide any stacktrace information) Command duration or timeout: 60.03 seconds Build info: version: '3.4.0', revision: 'unknown', time: 'unknown' System info: host: '923fd0282cf0', ip: '172.17.0.27', os.name: 'Linux', os.arch: 'amd64', os.version: '4.4.4-200.fc22.x86_64', java.version: '1.8.0_131' Driver info: driver.version: ChromeDriver at WebDriverError (node_modules/protractor/node_modules/selenium-webdriver/lib/error.js:27:5) at Object.checkLegacyResponse (node_modules/protractor/node_modules/selenium-webdriver/lib/error.js:505:15) at parseHttpResponse (node_modules/protractor/node_modules/selenium-webdriver/lib/http.js:509:13) at doSend.then.response (node_modules/protractor/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 (node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver.js:777:24) at Function.createSession (node_modules/protractor/node_modules/selenium-webdriver/chrome.js:709:29) at createDriver (node_modules/protractor/node_modules/selenium-webdriver/index.js:167:33) at Builder.build (node_modules/protractor/node_modules/selenium-webdriver/index.js:623:16) at Hosted.getNewDriver (node_modules/protractor/lib/driverProviders/driverProvider.ts:60:29) at Runner.createBrowser (node_modules/protractor/lib/runner.ts:225:39) at q.then.then (node_modules/protractor/lib/runner.ts:391:27) at _fulfilled (node_modules/protractor/node_modules/q/q.js:834:54) at self.promiseDispatch.done (node_modules/protractor/node_modules/q/q.js:863:30) at Promise.promise.promiseDispatch (node_modules/protractor/node_modules/q/q.js:796:13) [12:32:34] E/launcher - Process exited with error code 199 

可能是什么原因?

 exports.config = { capabilities: { 'browserName': 'chrome' }, framework: 'jasmine', seleniumAddress: 'http://localhost:4455/wd/hub', specs: ['../tests/protractor/spec.js'], jasmineNodeOpts: { defaultTimeoutInterval: 30000 } }; 

请在conf文件和spec文件中添加下面的内容,然后运行

  browser.ignoreSynchronization=true; 

并在浏览器启动URL后添加等待时间

  browser.sleep(5000); 

并在Conf文件中显式添加Jasmine默认超时间隔和function

  browserName:"chrome" 

请确保Conf和Spec文件在相同的位置。