Allure报告

时光总嘲笑我的痴心妄想 提交于 2021-01-09 12:32:11
1.安装解压

Allure 是一款轻量级的开源自动化测试报告生成框架。它支持绝大部分测试框架,比如 TestNG、Junit 、pytest、unittest 等。本文主要介绍 pytest 框架结合 Allure 生成 格式统一、美观的测试报告。

Allure下载:
https://github.com/allure-framework/allure2/releases

2.配置环境变量

1.path配置:E:\allure-2.7.0\bin

2.pycharm中项目安装allure-pytest    

3.报告说明

4.代码规则

编写一段使用 pytest 框架的测试代码

# -*- coding: utf-8 -*-"""@PRO  :python-Api @Time :2020/12/24 16:05@Auth :Simon@File :test_demo.py
"""import osimport allureimport pytest
@allure.step("1.输入车牌号")def step_2_1_1(): print("测试用例1") assert 1

@allure.step("2.点击搜索按钮")def step_2_1_2(): print("测试用例1") assert 1

@allure.step("3.点击搜索到的车辆")def step_2_1_3(): print("测试用例1") assert 1

@allure.step("1.双击车辆")def step_2_1_4(): print("测试用例1") assert 1

@allure.step("2.双击车辆")def step_2_1_5(): print("测试用例1") assert 1
@allure.step("3.点击车辆详情")def step_2_1_6(): print("测试用例1") assert 1

@allure.feature("车辆监控")class TestDemo2():
@allure.story("实时监控") def test_1_1(self): '''测试成功用例''' print("测试用例1") assert 1
@allure.feature("车辆监控") @allure.story("排版检测") def test_1_2(self): '''测试成功用例''' print("测试用例1") assert 1 @allure.feature("车辆监控") @allure.story("历史轨迹") def test_1_3(self): '''测试成功用例''' print("测试用例1") assert 1
#--------------------------------------

@allure.feature("视频监控")@allure.story("实时视频")class TestDemoAllure(): '''case description: 1.点文章分类导航标签 -跳转编辑页面 2.编辑页面输入,分类名称 3.点保存按钮保存成功 '''
@allure.title("搜索车辆用例") @allure.description("这里显示用例的描述") @allure.testcase("http://49.235.x.x:8080/zentao/testcase-view-6-1.html") @allure.issue("http://49.235.x.x:8080/zentao/bug-view-1.html") @allure.link(url="http://www.tibetjccar.com/#/videoMonitor/realPlay", name="car1") def test_case_1(self): step_2_1_1() step_2_1_2() step_2_1_3()

@allure.title("对车辆进行操作") @allure.description("显示对车辆的各种操作按钮") def test_case_2(self): step_2_1_4() step_2_1_5() step_2_1_6()


@allure.story("统计报表") class Testreport(): @allure.title("终端报警明细") def test_2_2(self): '''测试成功用例''' print("测试用例1") assert 1
def main(): # 执行pytest单元测试,生成 Allure 报告需要的数据存在 report\test 目录 os.system(r'del /s /q ..\uitest\Report\*.*') pytest.main(['--alluredir', './Report/test']) # pytest.main(['1test_batchlogin.py', '-n=auto']) os.system('allure generate ./Report/test -o ./Report/html --clean') os.system('allure serve Report/test')
if __name__ == "__main__": print(u"start execute testcase") main()# -*- coding: utf-8 -*-"""@PRO :python-Api @Time :2020/12/24 16:05@Auth :Simon@File :test_demo.py"""import osimport allureimport pytest@allure.step("1.输入车牌号")def step_2_1_1(): print("测试用例1") assert 1@allure.step("2.点击搜索按钮")def step_2_1_2(): print("测试用例1") assert 1@allure.step("3.点击搜索到的车辆")def step_2_1_3(): print("测试用例1") assert 1@allure.step("1.双击车辆")def step_2_1_4(): print("测试用例1") assert 1@allure.step("2.双击车辆")def step_2_1_5(): print("测试用例1") assert 1@allure.step("3.点击车辆详情")def step_2_1_6(): print("测试用例1") assert 1@allure.feature("车辆监控")class TestDemo2(): @allure.story("实时监控") def test_1_1(self): '''测试成功用例''' print("测试用例1") assert 1 @allure.feature("车辆监控") @allure.story("排版检测") def test_1_2(self): '''测试成功用例''' print("测试用例1") assert 1 @allure.feature("车辆监控") @allure.story("历史轨迹") def test_1_3(self): '''测试成功用例''' print("测试用例1") assert 1#--------------------------------------@allure.feature("视频监控")@allure.story("实时视频")class TestDemoAllure(): '''case description: 1.点文章分类导航标签 -跳转编辑页面 2.编辑页面输入,分类名称 3.点保存按钮保存成功 ''' @allure.title("搜索车辆用例") @allure.description("这里显示用例的描述") @allure.testcase("http://49.235.x.x:8080/zentao/testcase-view-6-1.html") @allure.issue("http://49.235.x.x:8080/zentao/bug-view-1.html") @allure.link(url="http://www.tibetjccar.com/#/videoMonitor/realPlay", name="car1") def test_case_1(self): step_2_1_1() step_2_1_2() step_2_1_3() @allure.title("对车辆进行操作") @allure.description("显示对车辆的各种操作按钮") def test_case_2(self): step_2_1_4() step_2_1_5() step_2_1_6() @allure.story("统计报表") class Testreport(): @allure.title("终端报警明细") def test_2_2(self): '''测试成功用例''' print("测试用例1") assert 1def main(): # 执行pytest单元测试,生成 Allure 报告需要的数据存在 report\test 目录 os.system(r'del /s /q ..\uitest\Report\*.*') pytest.main(['--alluredir', './Report/test']) # pytest.main(['1test_batchlogin.py', '-n=auto']) os.system('allure generate ./Report/test -o ./Report/html --clean') os.system('allure serve Report/test')if __name__ == "__main__": print(u"start execute testcase") main()

可把steps单独封装起来,见上一章pytest

5.装饰器

@allure 装饰器中的一些功能点:

@allure.feature :用于定义被测试的功能,被测产品的需求点

@allure.story :用于定义被测功能的用户场景,即子功能点

@allure.step :用于将一个测试用例,分成几个步骤在报告中输出

allure.attach :用于向测试报告中输入一些附加的信息,通常是一些测试数据信息



点个赞,证明你还爱我

本文分享自微信公众号 - 字节在线(byteol)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!