1.在python文件中生成测试报告
若要生成allure测试报告,有两种方式,一种是在cmd命令下运行输出 ;另外一种直接在python代码中运行输出,这里介绍在python代码中如何生成测试报告,具体就是如下的两个步骤 :
import os
import pytest
#步骤1: 通过Pytest生成测试报告数据文件,这里带有--alluredir参数 ,生成的数据文件目录为allure-result中
pytest.main(['cases','-sv','--alluredir','allure-result'])
# 步骤2 : 通过allure 读取数据源生成测试报告
"""
解释:
allure-result : 生成的json数据文件目录
-o allure-report : 生成的allure报告目录
-c : 生成之前清除目录
"""
cmd = "allure generate allure-result -o allure-report -c"
os.system(cmd)
通过以上命令就可以生成allure测试报告,像下面的这样的结果 。
2.Jenkins配置全局工具
因为allure是java开发的,而且这两个工具需要支持在cmd命令行中运行 。故需要将它们俩配置到全局变量中,具体操作为:
配置后保存即可。
3.在Jenkins中配置job
但是若要想把allure报告集成到Jenkins中,需要如下3步 :
- 下载安装allure插件 ,若已下载这一步可忽略。
- 修改python代码,去掉最后生成报告的哪一步 。
- 将代码推送到代码服务器上,如gitee上。
- 配置一个自由风格的任务
- 运行job,生成allure报告
以下为每一步的详细操作
1.下载安装allure插件 ,若已下载这一步可忽略。
2.修改python代码,去掉最后生成报告的哪一步 。
将最开头的那段代码修改为如下的代码,注:此代码文件名叫run_case.py
import os
import pytest
#步骤1: 通过Pytest生成测试报告数据文件,这里带有--alluredir参数 ,生成的数据文件目录为allure-result中
pytest.main(['cases','-sv','--alluredir','allure-result'])
# 步骤2 : 通过allure 读取数据源生成测试报告
"""
解释:
allure-result : 生成的json数据文件目录
"""
cmd = "allure generate allure-result -c"
os.system(cmd)
这里的代码和最开头的那段代码相比,这段代码去掉了-o allure-report 。因为在Jenkins中不需要指定allure的测试报告目录,它会自动指定和读取 。
3.将代码推送到代码服务器上,如gitee上。
上一步将代码修改后,直接通过git上传到代码服务器上 。
4.配置一个自由风格的任务
需要说明的是,其实这里配置什么类型的任务都可以,这里为了简单只是配置了一个自由风格的任务。
配置后,点击保存
5.运行job,生成allure报告
4.遇到错误及解决方案
在一开始构建的时候总是报如下的这个错误 ,
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
Picked up JAVA_TOOL_OPTIONS: Dfile.encoding=UTF8
Unrecognized option: Dfile.encoding=UTF8
网上查了半天没找到原因 ,后来看到JAVA_TOOL_OPTIONS: Dfile.encoding=UTF8这句代码似曾相识 ,于是在系统配置中找到了这个配置了。具体如下
最后找到了这个变量,将其删除后保存。重启启动Jenkins重新构建即可。
最后: 为了回馈铁杆粉丝们,我给大家整理了完整的软件测试视频学习教程,朋友们如果需要可以自行免费领取 【保证100%免费】
全套资料获取方式:点击下方小卡片自行领取即可