一、构建 Web 自动化测试项目
相比 unittest单元测试框架,pytest更适合用来做 UI自动化测试,它提供了以下功能。
(1)在 unittest中,浏览器的启动或关闭只能基于测试方法或测试类;pytest可以通过
conftest.py文件配置全局浏览器的启动或关闭,整个自动化测试项目的运行只需启动或关
闭一次浏览器即可,这将大大节省测试用例执行时间。
(2)测试用例运行失败截图。unittest本身是不支持该功能的,pytest-html可以实现测
试用例运行失败自动截图,只需在 conftest.py中做相应的配置即可。
(3)测试用例运行失败重跑。UI自动化测试的稳定性一直是难题,虽然可以通过元素
等待来增加稳定性,但有很多不可控的因素(如网络不稳定)会导致测试用例运行失败,
pytest-rerunfailures可以轻松实现测试用例运行失败重跑。
二、pytest是什么
pytest是python的一款测试框架,拥有unittest的功能并比它更丰富。
三、allure是什么
有非常多的优秀的测试框架,但却是有非常少优秀的报告工具可以展示非常清楚的用例执行过程和结果。
allure是一款开源的,专门用来展示测试结果的工具,目的是希望团队内部每一个人都可以看到非常清楚的测试结果。
allure可以与非常多的著名测试框架做集成。
像java语言,可以与junit4,junit5,TestNG测试框架集成。
python语言,可以与pytest,behave,nose测试框架集成。
allure会将测试用例的执行数据保存到xml文件当中,再利用allure的命令行将文件转换成html形式呈现出来。
测试报告插件:allure
1:官网下载地址:
https://repo.maven.apache.org/maven2/io/qameta/allure/allure-commandline/2.13.2/
2:下载.zip文件解压
3:解压后配置环境变量
4:在cmd中输入allure,或者输入allure —version,出现命令提示或版本号说明安装成功。
四、allure与pytest的集成
在allure安装完成之后,需要与pytest集成,能够在pytest运行完成之后,生成allure的文件 。
1、安装pytest的allure支撑插件。
pip命令行:pip install allure-pytest
2、在执行pytest命令时,添加allure命令参数:—alluredir=Outputs/allure (相对于pytest命令所在目录的测试报告目录)
1 if __name__ == '__main__':
2 pytest.main(["-s","-v","--html=Outputs/reports/pytest.html",
3 "--alluredir=Outputs/allure"]) # allure文件生成的目录
在cmd命令行当中,执行:allure serve 测试结果文件目录,就会生成漂亮的html报告。
五、allure与jenkins的集成
allure与jenkins集成之后,可以直接在jenkins上,直接查看到上图的allure结果。
并因为jenkins的构建记录都存在,所以可以看到历史构建曲线图,用例数的变化、通过率的变化、耗时的变化等均可查看到。
集成步骤如下:
1、在jenkins上安装allure插件。
Step1: 去jenkins插件网站上下载allure插件最新版本:
http://mirrors.jenkins-ci.org/plugins/allure-jenkins-plugin/
Step2: 打开jenkins,在系统管理 —> 插件管理 —>Advanced —> Upload Plugin
可将jenkins服务重新重启,使安装的插件生效。
2、在jenkins 全局工具当中配置allure命令行。
在 系统管理 —> 全局工具配置 —> 当中做以下配置(allure和jdk),配置完并保存。
3、在Job当中,配置allure报告展示。
详情请参考:https://www.cnblogs.com/Simple-Small/p/11512337.html