2016-10-11 3 views
0

분도기를 사용하여 angularjs 앱에 대해 e2e-tests를 작성했습니다. 모든 것이 잘 작동합니다. 하지만이 테스트는 도커 컨테이너에서 실행하고 싶습니다. 도커 컨테이너에서는 Xvfb :0 -ac -screen 0 1024x768x24 &을 시작하고 DISPLAY=:0 환경을 설정했습니다. 크롬은 도커 이미지 내에 있습니다. 하지만 뭔가 잘못되었습니다.WebDriver가 도커 내에서 크롬을 시작할 수 없습니다.

protractor client/e2e-tests/protractor.conf.js --verbose 

[13:14:40] I/local - Starting selenium standalone server... 
[13:14:40] I/launcher - Running 1 instances of WebDriver 
[13:14:42] I/local - Selenium standalone server started at http://172.17.0.2:50962/wd/hub 

    /code/node_modules/selenium-webdriver/error.js:27 
     super(opt_error); 
     ^
    WebDriverError: null 
     at WebDriverError (/code/node_modules/selenium-webdriver/error.js:27:5) 
     at Object.checkLegacyResponse (/code/node_modules/selenium-webdriver/error.js:580:13) 
     at /code/node_modules/selenium-webdriver/lib/webdriver.js:64:13 
     at Promise.invokeCallback_ (/code/node_modules/selenium-webdriver/lib/promise.js:1329:14) 
     at TaskQueue.execute_ (/code/node_modules/selenium-webdriver/lib/promise.js:2790:14) 
     at TaskQueue.executeNext_ (/code/node_modules/selenium-webdriver/lib/promise.js:2773:21) 
     at asyncRun (/code/node_modules/selenium-webdriver/lib/promise.js:2652:27) 
     at /code/node_modules/selenium-webdriver/lib/promise.js:639:7 
     at process._tickCallback (internal/process/next_tick.js:103:7) 
    From: Task: WebDriver.createSession() 
     at acquireSession (/code/node_modules/selenium-webdriver/lib/webdriver.js:62:22) 
     at Function.createSession (/code/node_modules/selenium-webdriver/lib/webdriver.js:295:12) 
     at Builder.build (/code/node_modules/selenium-webdriver/builder.js:458:24) 
     at Local.DriverProvider.getNewDriver (/code/node_modules/protractor/built/driverProviders/driverProvider.js:37:33) 
     at Runner.createBrowser (/code/node_modules/protractor/built/runner.js:182:43) 
     at /code/node_modules/protractor/built/runner.js:255:30 
     at _fulfilled (/code/node_modules/q/q.js:834:54) 
     at self.promiseDispatch.done (/code/node_modules/q/q.js:863:30) 
     at Promise.promise.promiseDispatch (/code/node_modules/q/q.js:796:13) 
     at /code/node_modules/q/q.js:604:44 
    [13:15:03] E/launcher - Process exited with error code 1 

나를 위해 chromedriver가 시작되지 않는 것 같습니다. 나는 을 --stackTrace--troubleshoot으로 시작하려했지만 더 많은 정보를 얻지 못했습니다.

답변

0

오류 WebDriver : null은 각도기가 도커에서 크롬 브라우저를 찾을 수 없기 때문입니다. 이미 도커 컨테이너에 설치된 크롬 브라우저에 대한 심볼릭 링크를 만들어야합니다. 스크립트가 크롬 브라우저에서 실행되게하려면 run selenium on chromium을보십시오.

+0

그건 도움이되지 못했습니다. 심 링크를 설정하거나 binary-path를 chrome-options로 설정하십시오. –

+0

어떤 OS를 사용하고 있습니까? –

+0

도커 내에서'Debian GNU/Linux 8.5 (jessie)'를 사용하고 있습니다. –

관련 문제