我想为我的vue.js应用程序添加一些e2e测试,并在管道中运行它们。 我的gitlab-ci.yml中的相应部分如下所示:
e2e:
image: node:8
before_script:
- npm install
services:
- name: selenium/standalone-chrome
alias: chrome
stage: testing
script:
- cd online-leasing-frontend
- npm install
- npm run test:e2e
还有我的nightwatch.js配置:
{
"selenium": {
"start_process": false
},
"test_settings": {
"default": {
"selenium_port": 4444,
"selenium_host": "chrome"
}
}
}
“ selenium_host”:“ chrome”是否是将主机设置为硒服务的正确方法? 我收到以下错误消息,指示我的e2e测试无法连接到硒服务:
连接被拒绝!硒服务器启动了吗?
有什么提示吗?
答案 0 :(得分:1)
问题是,根据this issue,Gitlab CI使用Kubernetes Executor
而不是Docker Executor
,后者将所有服务映射到127.0.0.1
。将selenium_host
设置为此地址后,一切正常。
{
"selenium": {
"start_process": false
},
"test_settings": {
"default": {
"selenium_port": 4444,
"selenium_host": "127.0.0.1",
}
}
}
答案 1 :(得分:0)
在硒仓库中说: “当使用Chrome或Firefox执行docker run映像时,请挂载-v / dev / shm:/ dev / shm或使用标志--shm-size = 2g来使用主机的共享内存。” 我不太了解gitlab-ci,但恐怕无法将其作为参数添加到服务中。