51Testing软件测试论坛

标题: 如何输出allure让测试报告更为精彩 [打印本页]

作者: lsekfe    时间: 2022-9-6 10:15
标题: 如何输出allure让测试报告更为精彩
定制化后的allure测试报告效果展示
[attach]142521[/attach]

[attach]142522[/attach]
如何定制化输出锦上添花的allure测试报告
  使用前,先导入allure模块。
  1.  import allure
复制代码
使用前,先熟悉运行测试用例的有关allure的命令行参数
  1. --allure-severities=SEVERITIES_SET
  2.     --allure-epics=EPICS_SET
  3.     --allure-features=FEATURES_SET
  4.     --allure-stories=STORIES_SET
  5.     --allure-ids=IDS_SET  Comma-separated list of IDs.
  6.     --allure-link-pattern=LINK_TYPE:LINK_PATTERN
  7.     --alluredir=DIR       Generate Allure report in the specified directory (may
  8.     --clean-alluredir     Clean alluredir folder if it exists
  9.     --allure-no-capture   Do not attach pytest captured logging/stdout/stderr to Allure Report
复制代码
1、feature——测试用例特性(主要功能模块):一般是在类上
  使用方法:@allure.feature()
[attach]142523[/attach]
[attach]142524[/attach]
[attach]142525[/attach]
可以根据feature特性过滤出测试用例执行:
  pytest test_allure.py --allure-features="登录模块" -vs

2、story——feature功能模块下的分支功能:一般是在方法上
  使用方法:@allure.story()
[attach]142526[/attach]
[attach]142527[/attach]
可以根据story特性过滤出测试用例执行:
  1.   pytest test_allure.py --allure-stories="登录失败"  -vs
复制代码
如果希望执行多个story或者feature,多个story名或feature名中间加","即可:
  1. pytest test_allure.py --allure-stories="登录失败","登出失败"  -vs
复制代码
【注意】
  ①–allure-features和–allure-stories同时使用时,如果–allure-features中的用例包括了–allure-stories的用例,则只执行–allure-features的用例;如果不包含,则同时执行–allure-features和–allure-stories的用例。
  ②虽然通过?pytest -m?命令行参数运行测试用例同样可以达到分组运行测试用例的目的;但是使用allure特性来实现分组运行测试用例同样可以在allure报告中展示,使allure特性更直观。
  3、severity——测试用例的严重级别
  场景:通常测试有冒烟测试、验证上线测试等场景,按照重要性级别来分别执行。比如上线前要把主流程和重要模块都跑一遍。
  解决:通过在方法、函数和类上添加allure.severity来附加标记。
  执行:?pytest 文件名 --allure-severities=normal -vs?
  Allure中对严重级别的定义:
  ·blocker级别:中断缺陷(客户端程序无响应,无法执行下一步操作)
  · critical级别:临界缺陷( 功能点缺失)
  · normal级别:普通缺陷(数值计算错误)
  · minor级别:次要缺陷(界面错误与UI需求不符)
  · trivial级别:轻微缺陷(必输项无提示,或者提示不规范)
  使用方法:@allure.severity(allure.severity_level.CRITICAL) 或者@allure.severity('critical')




[attach]142528[/attach]
[attach]142529[/attach]
4、step——测试用例的步骤
  使用方法:
  ①@allure.step()?只能以装饰器的形式放在类或者方法上面。  
  ②with allure.step()?:? 可以放在测试用例方法里面,但测试步骤的代码需要被该语句包含。
[attach]142532[/attach]
[attach]142533[/attach]
5、attach——用于向测试报告中输入一些附加的信息,通常是一些测试数据信息
  使用方法:?allure.attach(body, name, attachment_type, extension)?
  参数:
  ·body - 要写入文件的原始内容
  · name - 包含文件名的字符串
  · attachment_type - 其中一个 allure.attachment_type值
  · extension - 提供的将用作创建文件的扩展名
[attach]142534[/attach]

[attach]142535[/attach]
6、link/issue/testcase——链接
  使用方法:
  @allure.link()
  @allure.issue()
  @allure.testcase()
[attach]142536[/attach]
[attach]142537[/attach]
7、description——用例描述
  使用方法:
  @allure.description() 提供描述字符串的装饰器。
  @allure.description_html() 提供一些HTML在测试用例的描述部分。
[attach]142538[/attach]
[attach]142539[/attach]









欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2