我想为我的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测试无法连接到硒服务:
连接被拒绝!硒服务器启动了吗?
有什么建议吗?
问题是,根据此问题,Gitlab CI使用的是Kubernetes Executor
,而不是将所有服务映射到127.0.0.1
的Docker Executor
。将selenium_host
设置为此地址后,一切正常。
{
"selenium": {
"start_process": false
},
"test_settings": {
"default": {
"selenium_port": 4444,
"selenium_host": "127.0.0.1",
}
}
}
关于Selenium Repo,它说:"当使用Chrome或Firefox为映像执行docker run时,请挂载-v/dev/shm:/dev/shm或使用标志--shm size=2g来使用主机的共享内存。"我不太了解gitlab ci,但恐怕不可能将其作为参数添加到服务中。