一、基础
安装模块:
pip3 install pytst
pip3 install pytest-allure
导入模块:
import pytest
import allure
Allure基础方法
二、实例
allure配置在方法里(全部方法代码示例 )
import allure
def test_case1():
"""
测试用例1
"""
allure.dynamic.title("动态title")
allure.dynamic.description_html("动态description_html")
allure.dynamic.severity("blocker")
allure.dynamic.feature("动态feature")
allure.dynamic.story("动态story")
allure.dynamic.tag("动态tag")
allure.dynamic.link("https://www.baidu.com/?wd=1", "动态link")
allure.dynamic.issue("https://www.baidu.com/?wd=2", "动态issue")
allure.dynamic.testcase("https://www.baidu.com/?wd=3", "动态testcase")
def test_case2():
"""
测试用例2
"""
allure.dynamic.description("动态description")
def test_case2():
"""
测试用例3
"""
allure.attach('步骤标题',name='详细步骤描述')
allure.attach.file()
def test_case3():
"""
测试用例4:动态设置step
"""
with allure.step('请求'):
allure.attach(f'{url}', name='get请求')
with allure.step('响应'):
allure.attach('状态码', name='状态码')
with allure.step('断言'):
assert modular=='接口归属模块'
allure.attach('OK', name='断言')
def test_case3():
"""
测试用例4:方法内跳过测试用例
"""
if modular == "接口归属模块2":
pytest.skip("跳过测试用例")
allure报告中allure.title 去掉后方的参数化显示
解决方法:
listener.py 文件位置:Lib\site-packages\allure_pytest\listener.py (第三方包所在的LIb目录) 将下图中红色部分test_result.parameters.extend([]) 中参数改成空列表就行了
allure.attach()&allure.attach.file()
方法1:
allure.attach(body, name=None, attachment_type=None, extension=None): 参数定义
body :要显示的内容(附件)。
name :附件名字。
attachment_type :附件类型,是 allure.attachment_type 里面的其中一种。
extension :提供将用作创建文件的扩展名(比较少用)。
方法2:
allure.attach.file(source, name, attachment_type, extension): 参数定义
source :文件路径,相当于传一个文件。
name :附件名字。
attachment_type:附件类型,是 allure.attachment_type 里面的其中一种。
extension :提供将用作创建文件的扩展名(比较少用)。attachment_type支持的附件类型:
执行命令
# --clean-alluredir 清空结果数据上一次执行的历史文件
pytest.main(['-sq', '--alluredir', '指定结果生成的路径', '--clean-alluredir', "指定执行的.py文件"])
# --clean 清空静态报告上一次执行的历史文件
os.system(r'allure generate 结果文件路径 -o 指定生成的静态报告路径 --clean-alluredir')
文章转载自一生之记,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。