Docker中运行Nightwatchtesting – Selenium服务器无法启动

我正在尝试将我的e2etesting集成到我们的CIpipe道中。 我们使用Jenkins作为CI,并且我们构build了一个docker镜像,所有的testing都从docker运行。

当试图运行e2etesting时,我收到一个错误消息:“连接被拒绝!selenium服务器是否启动?

在build立图像并安装所有npm包后,我在Jenkins文件中使用这个命令:

run_in_stage('End2End test', { image.inside("-u root") { sh ''' npm run build:dev http-server ./dist -p 3001 -s & xvfb-run --server-args="-screen 0 1600x1200x24" npm run test:e2e:smoke ''' } }) 

在docker文件中,我使用xvfb设置了Chrome。

  RUN \ wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - && \ echo "deb http://dl.google.com/linux/chrome/deb/ stable main" > /etc/apt/sources.list.d/google.list && \ apt-get update && \ apt-get install -y xvfb google-chrome-stable 

这是我在nightwatch.conf.js文件中设置selenium的方法:

 const seleniumServer = require('selenium-server-standalone-jar'); const chromeDriver = require('chromedriver'); selenium: { start_process: true, server_path: seleniumServer.path, host: '127.0.0.1', port: 4444, cli_args: { 'webdriver.chrome.driver': chromeDriver.path } }, 

Interesting Posts