我使用量角器编写了自动化程序。
我想通过jenkins运行它。
我的shell命令:
docker pull selenium/hub:latest
docker pull selenium/node-chrome:latest
docker rm -f selenium-hub && echo "container selenium-hub removed" || echo "container selenium-hub does not exist"
docker run -d -p 4444:4444 --name selenium-hub selenium/hub:latest
docker run -d --link selenium-hub:hub selenium/node-chrome:latest
protractor conf.js
一切都很完美。
我的问题是:我能完全确定只有我的代码在docker上运行而且所有其他组件(比如我在同一台服务器上运行的角网站)都不会使用docker,即使用docker时我应该采取什么预防措施我的服务器有100多个不同的应用程序在运行,我希望那些应用程序不应该有任何副作用。就像某个应用程序在nodejs v3上运行而我的docker有nodejs v5一样,那么使用nodejs v3的应用程序继续只在nodejs v3上运行。
答案 0 :(得分:0)
我假设你担心其他一些应用程序正在使用硒?这在技术上是可行的,因为当您启动selenium hub映像时,参数-p 4444:4444
将端口4444绑定到您的localhost。
要确保所有内容都是自包含的,您需要使用参数-p 4444
并在docker容器中运行量角器测试。
这样的Dockerfile
将用于您的测试(未经测试)
FROM node:alpine
COPY your/source/directory /opt/
WORKDIR /opt/
RUN npm install -g protractor
CMD protractor conf.js
注意:您的量角器配置必须引用selenium hub容器名称(即selenium-hub)而不是 localhost