2.1selenium集成docker进行多线程运行脚本
========================================
1、输出的日志分开版
========================================
![](https://img.haomeiwen.com/i10318111/519db728bb2d5820.png)
多线程py脚本
python.exe robot_duoxiancheng.py F:\bingfa node1,node2,node3
![](https://img.haomeiwen.com/i10318111/203a1a25e7dad618.png)
![](https://img.haomeiwen.com/i10318111/0b0b5e0171f45523.png)
![](https://img.haomeiwen.com/i10318111/2e3547f180407934.png)
========================================
2、输出的日志汇总版
========================================
![](https://img.haomeiwen.com/i10318111/f6900e9af292fa97.png)
多线程脚本
python.exe robot_duoxiancheng.py F:\test.txt node2,node1
![](https://img.haomeiwen.com/i10318111/09b0bf0e606b7fd7.png)
![](https://img.haomeiwen.com/i10318111/7a28f07290209b96.png)
脚本robot_duoxiancheng.py接收两个参数,
第一个,执行的测试套件或文件夹,
第二个,以逗号分隔的多个标签,然后有多少个标签,就启动多少个线程
根据不同的标签执行 pybot -i tag的命令,至于怎么使用python的多线程这里就不用多说了,大家估计比我还熟悉。
最后所有自动化测试的线程都结束之后执行rebot的命令来合并自动化测试报告。
========================================
以下是测试脚本
========================================
![](https://img.haomeiwen.com/i10318111/51ee066e29442b71.png)
![](https://img.haomeiwen.com/i10318111/b6263970234edac0.png)
上面有2个浏览器就是通过VNC viewer来连接到容器中查看远程浏览器的情况的,在连接到selenium gird的时候,gird会自动判断哪个浏览器是空闲的,那gird就会把用例分配到对应空闲的浏览器中执行
大概并发的自动化测试就实现了,当然这里还有一个注意的地方,就是执行用例失败之后的截图,如果是多线程执行的话,截图也是多线程的,线程1产生的截图1命名为selenium-screen-1.png,线程2也会产生的截图1命名为selenium-screen-1.png,那这样线程2的截图就会把线程1的截图给覆盖了,那解决办法是,既然用到线程,那肯定有线程或进程id的,那就在图片命名中加一个线程id号和当前时间就能解决问题了,具体的就是在selenium2library中的_screenshot.py:
![](https://img.haomeiwen.com/i10318111/9c02e2385ad7cc99.png)
![](https://img.haomeiwen.com/i10318111/becca274a45eee74.png)