2016-10-11 3 views
0

Ich schrieb e2e-Tests für eine angularjs App mit Winkelmesser. Alles funktioniert gut. Aber ich möchte diese Tests in einem Andock-Container ausführen. Im Docker Container habe ich Xvfb :0 -ac -screen 0 1024x768x24 & gestartet und die DISPLAY=:0 Umgebung eingestellt. Chrom befindet sich ebenfalls im Docker-Image. Aber etwas ging schief.WebDriver kann kein Chrom innerhalb von Docker starten

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 

Für mich scheint es, dass der Chromtreiber nicht gestartet wird. Ich habe versucht, protractor mit --stackTrace und --troubleshoot starten, aber nicht mehr Informationen.

Antwort

0

Der Fehler WebDriver : null ist, weil Winkelmesser kann nicht finden Chrome Browser im Andockfenster. Sie müssen einen Symlink zum Chrome-Browser erstellen, der bereits im Docker-Container installiert ist. Sehen Sie sich run selenium on chromium an, damit Ihre Skripts auf dem Chrom-Browser laufen.

+0

Das hat nicht geholfen. Setzen Sie entweder den Symlink oder den Binärpfad auf chrome-options. –

+0

Welches Betriebssystem verwenden Sie? –

+0

Ich benutze 'Debian GNU/Linux 8.5 (jessie)' im Andockfenster. –

Verwandte Themen