ui自动化脚本代码编写完后无法展示报告,且需要手动进行生成和处理,也不方便跨平台分享和展示,如果在jenkins上集成报告可省去很多流程和步骤,如报告生成,报告展示,集成报表,测试数据收集,在线查看,历史记录展示等;
主要架构:TestNg+Selenium+Allure+Gitlab+Browser(chrom/firefox)+Jenkins
集成Step
根据不同项目,开发ui自动化代码 ,代码需要headless无头模式可运行,可参考文章:
TestNg+Selenium+Chrom+Allure自动化DemoPeter (aspeter.com)
2. 远程服务环境搭建,下载allure-command
安装,配置环境变量,建立软链接,命令 allure --version 查看版本,可输出版本号,安装配置成功
jenkins下载allure插件
jenkins-插件管理-可选插件-allure 点击安装
3.Allure 全局工具配置
Dashboard-全局工具配置- Allure Commandline,配置在本地安装好的Allure command 安装路径
4.远程代码调试
因为ui自动化脚本和CI/CD集成为分离式协作,只需要关注生成结果后如何集成到jenkins中,预设ui自动化脚本可在linux远程服务器中运行,需要提前准备一份test-results testNg生成的测试结果(ui自动化脚本开发且可以成功在linux中运行,即可自动生成results结果)
1.新建Jenkins Task(在此处花费时间较多)
因为Allure插件只在PostBuild中可以调用,所以需要去尝试哪种方式可以集成Allure报告,直接给结论,可以使用MultiConfigurationProject,Maven Project 这两种类型的Task;
2.Jenkins Task中JDK环境指定
需要尝试去配置(不指定会直接报错,有的task类型中不可指定jdk版本),而且也需要指定jenkins slave机器,因为Allure command是在slave上安装,UI 自动化脚本也是在slave上运行。
3.生成Allure报告的命令,指定jenkins中查看报告的路径
默认已生成测试结果,且结果已存在于allure-results中,提前配置生成报告的路径 allure-report(report path html报告路径),并且需要和Jenkins+Allure展示报告地址一致,否则将无法成功运行Jenkins task,无法生成Allure报告,无法展示Allure报告;
4.MultiConfigurationProject类型,有PostSteps
5.Maven Project 类型
5.报告展示
每次构建结束,在构建历史后面都可以查看对应编号的测试报告,在Allure 历史趋势中也可以查看任意一次的测试详情,点击进入报告详情如下图:
Reference
Allure-command :
Allure 官方文档: