谢谢鼓励,继续加油
嗯,我也是看了那篇文章受了些启发
试一试
这个例子是个 web UI 自动化的例子,所以一个容器可以理解成一整套 UI 测试环境。被测试 bing 网站通过 web 打开,多个容器可以共用一台宿主主机,每个容器测试过程,测试结果,测试环境环境是独立的。从而实现一台服务器并行运行多个 UI 自动化效果。如果有共用的测试数据,可以创建一个公用的数据库容器并挂载到本地磁盘,或者把测试数据放在 git 仓库,通过 git pull 获取最新测试数据。具体看你的项目需求和测试数据存放格式,是用数据库,还是 csv 文本。
这个测试场景里面每个容器运行相对独立的,你可以理解成一个容器就是一个虚拟机,互相之前不会有影响的。如果用到同一个测试数据不会有影响,比如 case1 在容器 1 里面运行,case2 在容器 2 里面运行。互相影响测试数据不知道是什么场景,可以举个详细例子么?
并行执行是通过 jenkins 的 job 任务调度实现的。比如建两个 job,里面启动命令都是下面这样格式,只需要更新映射到宿主机的端口(5096,4466),避免冲突就可以了。
```docker run --rm -p *5906:25900 -p *4466:24444 -v "$(pwd)":/home/seluser/automation/myScript --name automation-container-robot -d automation-test-robot
然后两个 job 或者多个 job 可以根据你的需要定时跑就行了,因为运行环境都是在容器,互相之间并不影响,从而达到并行的效果。这样说能理解么?
一个 docker+selenium+python 的 demo,希望对你有帮助
https://testerhome.com/topics/16605
补充一下,dockerfile 是基于基础镜像文件生成新的镜像文件。镜像文件运行起来之后叫容器,dockerfile 并不直接生成容器。
谢谢鼓励,把相关 demo 代码放到https://github.com/Danielyan86/Python-Study/tree/master/DockerDemo/automation_test/unittest_demo 这个路径下面了,希望对你有帮助。移动端的测试基本思路是一样的,前提是容器环境有移动端的模拟器。