【问题标题】:Can not run ng e2e in Ubuntu (Digital Ocean)无法在 Ubuntu(数字海洋)中运行 ng e2e
【发布时间】:2017-08-30 19:56:39
【问题描述】:

我正在尝试使用 @angular/cliUbuntu 16.04.2 x64 运行 e2e (ng e2e) 测试>(数字海洋) 系统抛出下一个错误:

[19:06:51] I/update - chromedriver: unzipping chromedriver_2.31.zip
[19:06:52] I/update - chromedriver: setting permissions to 0755 for /var/lib/jenkins/workspace/synctive_insynctive2_master-K4DWE65EX25OYDIWIK3ALYX67LFQGPTCQV6C56IBXDIXXOVGYBRA/HubIns/node_modules/protractor/node_modules/webdriver-manager/selenium/chromedriver_2.31
[19:06:52] I/update - chromedriver: chromedriver_2.31 up to date
[19:06:52] I/launcher - Running 1 instances of WebDriver
[19:06:52] I/direct - Using ChromeDriver directly...
[19:07:53] E/launcher - unknown error: Chrome failed to start: exited abnormally
  (Driver info: chromedriver=2.31.488763 (092de99f48a300323ecf8c2a4e2e7cab51de5ba8),platform=Linux 4.4.0-83-generic x86_64)
[19:07:53] E/launcher - WebDriverError: unknown error: Chrome failed to start: exited abnormally
  (Driver info: chromedriver=2.31.488763 (092de99f48a300323ecf8c2a4e2e7cab51de5ba8),platform=Linux 4.4.0-83-generic x86_64)
    at Object.checkLegacyResponse (/var/lib/jenkins/workspace/synctive_insynctive2_master-K4DWE65EX25OYDIWIK3ALYX67LFQGPTCQV6C56IBXDIXXOVGYBRA/HubIns/node_modules/selenium-webdriver/lib/error.js:505:15)
    at parseHttpResponse (/var/lib/jenkins/workspace/synctive_insynctive2_master-K4DWE65EX25OYDIWIK3ALYX67LFQGPTCQV6C56IBXDIXXOVGYBRA/HubIns/node_modules/selenium-webdriver/lib/http.js:509:13)
    at doSend.then.response (/var/lib/jenkins/workspace/synctive_insynctive2_master-K4DWE65EX25OYDIWIK3ALYX67LFQGPTCQV6C56IBXDIXXOVGYBRA/HubIns/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 (/var/lib/jenkins/workspace/synctive_insynctive2_master-K4DWE65EX25OYDIWIK3ALYX67LFQGPTCQV6C56IBXDIXXOVGYBRA/HubIns/node_modules/selenium-webdriver/lib/webdriver.js:777:24)
    at Function.createSession (/var/lib/jenkins/workspace/synctive_insynctive2_master-K4DWE65EX25OYDIWIK3ALYX67LFQGPTCQV6C56IBXDIXXOVGYBRA/HubIns/node_modules/selenium-webdriver/chrome.js:709:29)
    at Direct.getNewDriver (/var/lib/jenkins/workspace/synctive_insynctive2_master-K4DWE65EX25OYDIWIK3ALYX67LFQGPTCQV6C56IBXDIXXOVGYBRA/HubIns/node_modules/protractor/built/driverProviders/direct.js:77:33)
    at Runner.createBrowser (/var/lib/jenkins/workspace/synctive_insynctive2_master-K4DWE65EX25OYDIWIK3ALYX67LFQGPTCQV6C56IBXDIXXOVGYBRA/HubIns/node_modules/protractor/built/runner.js:195:43)
    at q.then.then (/var/lib/jenkins/workspace/synctive_insynctive2_master-K4DWE65EX25OYDIWIK3ALYX67LFQGPTCQV6C56IBXDIXXOVGYBRA/HubIns/node_modules/protractor/built/runner.js:339:29)
    at _fulfilled (/var/lib/jenkins/workspace/synctive_insynctive2_master-K4DWE65EX25OYDIWIK3ALYX67LFQGPTCQV6C56IBXDIXXOVGYBRA/HubIns/node_modules/protractor/node_modules/q/q.js:834:54)
    at self.promiseDispatch.done (/var/lib/jenkins/workspace/synctive_insynctive2_master-K4DWE65EX25OYDIWIK3ALYX67LFQGPTCQV6C56IBXDIXXOVGYBRA/HubIns/node_modules/protractor/node_modules/q/q.js:863:30)
    at Promise.promise.promiseDispatch (/var/lib/jenkins/workspace/synctive_insynctive2_master-K4DWE65EX25OYDIWIK3ALYX67LFQGPTCQV6C56IBXDIXXOVGYBRA/HubIns/node_modules/protractor/node_modules/q/q.js:796:13)
    at /var/lib/jenkins/workspace/synctive_insynctive2_master-K4DWE65EX25OYDIWIK3ALYX67LFQGPTCQV6C56IBXDIXXOVGYBRA/HubIns/node_modules/protractor/node_modules/q/q.js:556:49
    at runSingle (/var/lib/jenkins/workspace/synctive_insynctive2_master-K4DWE65EX25OYDIWIK3ALYX67LFQGPTCQV6C56IBXDIXXOVGYBRA/HubIns/node_modules/protractor/node_modules/q/q.js:137:13)
    at flush (/var/lib/jenkins/workspace/synctive_insynctive2_master-K4DWE65EX25OYDIWIK3ALYX67LFQGPTCQV6C56IBXDIXXOVGYBRA/HubIns/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)
[19:07:53] E/launcher - Process exited with error code 199

【问题讨论】:

  • 您的液滴尺寸是多少?如果它是一个小的 (512MB) 液滴,则可能内存不足。
  • 它有 2 GB,我的机器里只有 Jenkins
  • 那台机器上是否安装了 Chrome?是否在该机器上运行 X 服务器以便 Chrome 可以打开图形窗口?
  • Chrome 已安装,但我不知道 X 服务器是什么,你有 @JB Nizet 的例子吗?

标签: angular ubuntu digital-ocean angular-e2e


【解决方案1】:

解决了这个问题:

我安装了:

sudo apt-get install -y xvfb
sudo apt-get install -y  xfonts-100dpi xfonts-75dpi xfonts-cyrillic  dbus-x11

还有魔法:

xvfb-run -a -e /dev/stdout -s "-screen 0 2920x2580x24" ng e2e

【讨论】:

  • 作为附加细节,根据环境设置,您可以将 --env=... 传递给 ng e2e,这样如果您将其与 CI/CD 设置结合使用,您的 e2e测试将命中正确的 API。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-03-02
  • 1970-01-01
  • 2017-07-07
  • 2021-07-27
  • 1970-01-01
  • 1970-01-01
  • 2016-08-12
相关资源
最近更新 更多