Python(自动化测试allure生成报告)
今天简单总结一下最近在项目中使用allure生成报告时的一些经验。
allure是我们在做接口自动化测试时所使用的一种产生报表的插件。首先要注意的是,由于他和pytest是绑定的。如果我们在生成时,文件名没有写成‘test_’开头或‘_test’结尾,那么我们在启动allure报告时就会报错。这点要注意。
首先安装:我们可以起官网下载allure。随便解压一个地方之后,我们需要将bin目录添加到环境变量中,这样我们才可以在终端使用allure命令

添加好后在cmd输入:pip install allure-pytest安装
安装好后可以通过:allure --version查看版本号

那么全部完成后我们在python中的使用就是import allure导入allure包,allure的使用主要是通过装饰器,标注用例的名称,级别,步骤等。我们来看几个具体的代码:

在代码中是:
import pytest from KeJie.api.kjgoodspostApi import KEJIEPOST from KeJie.com.readCsv import READCSV import allure # 将csv文件中的测试数据导入 para = READCSV().readAll(start=1, end=5) # 将全字段测试csv文档数据导入 paraall = READCSV(file='alltestdata.csv').readAll(start=1, end=14) # 将库存测试csv文档数据导入 paraamount = READCSV(file='amount_test_data.csv').readAll(start=1, end=1) # 将修改测试csv文档数据导入 paraupdate = READCSV(file='update_goods_data.csv').readAll(start=1, end=6) # 必填测试 @pytest.mark.parametrize("outdety, number, code,price, ftax,unit,msg_code,desc", para) @allure.epic("KEJIE仓中仓") @allure.feature("必填测试") @allure.story("测试必填项") @allure.step("必填项场景测试py") @allure.severity("NORMAL") def test_good_01(outdety, number, code, price, ftax, unit, msg_code, desc): kj = KEJIEPOST() res = kj.goodPost(outdety, number, code, price, ftax, unit) msg = res.json()['code'] print(msg) print(msg_code) print(desc) # 断言,当报错码等于10201时才正确 assert str(msg) == msg_code
完成后我们在终端输入:
pytest --alluredir ./report/allure_result生成报告数据

随后我们使用allure serve启动我们的allure报告,它的原理和前端一样,只不过我们前端使用npm run serve启动或者yarn serve

启动后我们就可以看到一份完整的报告啦!


浙公网安备 33010602011771号