一、环境准备:
提前准备环境:Java1.8
Allure2 解析过程:
1.安装 allure2(信赖Java1.8)
allure官方下载地址:
https://repo.maven.apache.org/maven2/io/qameta/allure/allure-commandline/
2.安装 allure-pytest 命令:pip install allure-pytest
3.生成allure测试结果:pytest --alluredir=./report
4.展示报告:allure serve./report
5.生成最终版本的报告:alluregenerate./report
二、allure 装饰器描述
使用方法 | 参数值 | 参数说明 |
@allure.epic() | epic描述 | 敏捷里面的概念,定义史诗,往下是feature |
@allure.feature() | 功能模块名称 | 功能点的描述,往下是story |
@allure.story() | 子功能模块 | 用户故事,往下是title |
@allure.title(用例的标题) | 用例的标题 | 重命名html报告名称 |
@allure.step() | 操作步骤 | 测试用例的步骤 |
@allure.testcase() | 测试用例的链接地址 | 对应功能测试用例系统里面的case |
@allure.issue() | 缺陷 | 对应缺陷管理系统里面的链接 |
@allure.description() | 用例描述 | 测试用例的描述 |
@allure.severity() | 用例等级 | blocker,critical,normal,minor,trivial |
@allure.link() | 链接 | 定义一个链接,在测试报告展现 |
@allure.attachment() | 附件 | 报告添加附件 |
三、allure 使用
allure运行不同的测试用例:
--allure-severities=SEVERITIES_SET
--allure-epics=EPICS_SET
--allure-features=FEATURES_SET
--allure-stories=STORIES_SET
--allure-ids=IDS_SET Comma-separated list of IDs.
--allure-link-pattern=LINK_TYPE:LINK_PATTERN
--alluredir=DIR Generate Allure report in the specified directory (may
--clean-alluredir Clean alluredir folder if it exists
--allure-no-capture Do not attach pytest captured logging/stdout/stderr to
同时可以忘记了可以根据下图查找
举例:
@allure.epic("epic:测试用例demo") class TestTwo(): @allure.title("title:第一个用例") @allure.feature("第一个用例") def test_one( self ): data = {"age": 34, "height": 100, "name": "韩梅梅"} print(data["age"]) with allure.step("第一步data转换python"): pay = json.loads(json.dumps(data)) with allure.step("第二步转成yaml格式写入yaml文件中"): yaml_data = yaml.dump(pay, allow_unicode=True) with open("../data/major.yaml", 'w', encoding='utf8') as f: f.write(yaml_data) with allure.step("第三步读取yaml文件"): with open("../data/major.yaml", 'r', encoding='utf8') as f: print(yaml.safe_load(f)) @allure.title("title:第二个用例") @allure.feature("第二个用例") def test_two( self ): data1 = {"age": 22,"height": 100,"file_name": "第二个用例"} print(data1["file_name"]) @allure.description("description:测试用例描述11") @allure.story("第三个用例") def test_three( self ): c = 5 /0 return c @allure.story("第四个用例") def test_four( self ): data = {"age": 37, "height": 102, "file_name": "第四个用例"} print(data["file_name"]) @allure.story("第五个用例") def test_five( self ): data = {"age": 38, "height": 103, "file_name": "第五个用例"} print(data["file_name"]) @allure.story("第六个用例") def test_six( self ): c = 5-8 assert c == 2
输出报告如下:
四、查看Allure测试报告
方式一:测试完成后查看实际报告, 在线看报告,会直接打开默认浏览器展示当前报告
allure serve ./report/ (注意这里的serve书写)
控制台输入:D:\newcode\pythonProject\testcase> pytest -vs .\test_two.py --alluredir=..\report\
查询报告:allure serve ..\report
新增用例:
pytest -vs .\test_two.py --alluredir=..\report\
在执行生成报告:
allure generate --clean ..\report\
方式二:从结果生成报告,这是一个启动tomcat的服务,
先执行命令:
pytest -vs .\test_two.py --alluredir=..\report\
需要两个步骤:生成报告,打开报告生成报告
再执行命令:
allure generate --clean ..\report\(注意:覆盖路径加–clean )