我在量角器(v7)中有一个 e2e 测试项目,在config.ts中将 chrome 设置为目标浏览器
...
directConnect: true,
multiCapabilities: [
{
browserName: 'chrome',
chromeOptions: {
args: ["--headless", "--disable-gpu", "--window-size=1920x1080", "--no-sandbox"]
}
}
],
...
通过 gitlab-runner 的 shell 执行程序运行项目gitlab-runner exec shell run_tests
工作正常,但如果我通过 gitlab-runner 的 docker 执行程序运行它gitlab-runner exec docker run_tests
,它会在 gitlab-ci 脚本的yarn test
cmd(基本上转换为protractor config.ts
)上崩溃,并带有以下日志:
protractor config.ts
[09:14:27] I/launcher - Running 1 instances of WebDriver
[09:14:27] I/direct - Using ChromeDriver directly...
[09:14:27] E/launcher - spawn /builds/project-0/node_modules/webdriver-manager/selenium/chromedriver_90.0.4430.24 ENOENT
[09:14:27] E/launcher - Error: spawn /builds/project-0/node_modules/webdriver-manager/selenium/chromedriver_90.0.4430.24 ENOENT
at Process.ChildProcess._handle.onexit (internal/child_process.js:249:19)
at onErrorNT (internal/child_process.js:442:16)
at processTicksAndRejections (internal/process/task_queues.js:84:9)
[09:14:27] E/launcher - Process exited with error code 199
error Command failed with exit code 199.
.gitlab -ci.yml看起来像这样:
image: node:12.2.0-alpine
stages:
- run
variables:
SERVER_URL: "https://xyz.io/login"
USER_1_USERNAME: "rico"
run_tests:
stage: run
script:
- echo $SERVER_URL
- echo $USER_1_USERNAME
- yarn install:deps
- yarn test
任何帮助都感激不尽。我在 ci 脚本中缺少 chrome 安装吗?