自动化测试“观影”
自从上了Docker,自动化测试可以默默地在后台容器上执行,解决了占用自己的电脑执行测试的问题。这一点尤其在最后一个版本测试时间紧张的时候非常棒。但是难免会碰到失败的用例,这时候单纯看日志的截图不保险,因为有些出错的截图有些奇怪,大多数情况下我们会再次跑一遍失败的用例,来排除环境的问题,脚本的问题,以便甄别是否真的是程序的bug。之前因为觉得大头的时间消耗已经解决,就没有深究这一步是否可以进一步压缩。这周看到一个有意思的工具Zalenium,可以以视频的方式像看电影一样回放自动化测试的执行。
工具上手非常简单,记录如下。下周会继续研究怎么和我们现有的自动化测试融合起来。
1.command line运行如下2个语句,分别拉取 docker-selenium镜像和zalenium镜像(速度较慢,请耐心等待)
docker pull elgalu/selenium
docker pull dosel/zalenium
2.本地创建一个如下的demo.py文件
from selenium import webdriver
from time import sleep
driver = webdriver.Remote(
command_executor='http://127.0.0.1:4444/wd/hub',
desired_capabilities={'browserName': 'chrome'})
driver.get('https://www.baidu.com')
driver.find_element_by_id("kw").send_keys("docker selenium")
driver.find_element_by_id("su").click()
sleep(1)
driver.quit()
3. command line运行
docker run --rm -ti --name zalenium -p 4444:4444 -v /var/run/docker.sock:/var/run/docker.sock -v /tmp/videos:/home/seluser/videos --privileged dosel/zalenium start
4.新开一个command line,在刚才存放demo.py目录下运行python demo.py,看到command line运行完即可(不会有browser 弹出)
5.打开http://localhost:4444/dashboard/
看到左边有执行记录,点选,右边点播放按钮可以回放执行过程