我用量角器为angularjs应用程序编写了e2e-tests。一切正常。但我想在docker容器中运行此测试。在docker容器中,我启动了Xvfb :0 -ac -screen 0 1024x768x24 &
并设置了DISPLAY=:0
环境。 Chromium也在docker-image中。
但出了点问题。
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将无法启动。我尝试使用protractor
和--stackTrace
启动--troubleshoot
,但获取的信息不多。
答案 0 :(得分:0)
错误@Multipart
@POST("user")
Call<UserModelResponse> uploadMultipleFiles(@Part("Authorization") RequestBody authorization,
@Part("description") RequestBody description,
@Part("file\"; filename=\"myFilename\" ") RequestBody filePart);
是因为量角器在docker中找不到chrome浏览器。您需要创建一个已安装在docker容器中的chrome浏览器的符号链接。查看run selenium on chromium以使您的脚本在Chrome浏览器上运行。