
本文转自测试人社区,原文链接:https://ceshiren.com/t/topic/32336
安装与下载
需要下载本地文件,并且添加到环境变量里
windows:下载,解压,并配置环境变量
 mac:brew install allure
环境变量:将bin目录纳入path路径中
python安装第三方依赖
win:pip install allure-pytest
mac:pip3 install allure-pytest
allure-pytest依赖会自动安装Allure-pytest和Allure-python-commons包,以生成与Allure 2兼容的报告数据
基本用法
命令行执行,在进行pytest测试时,生成allure数据: pytest --allure=./allure-results
命令行执行,将生成的allure数据解析出来,展示在浏览器中: allure serve ./allure-results
Allure 注解
| 使用方法 | 参数值 | 参数说明 | 
|---|---|---|
| @allure.epic() | epic描述 | 敏捷里面的概念,定义史诗,往下是feature | 
| @allure.feature() | 模块名称 | 功能点的描述,往下是story | 
| @allure.story() | 用户故事 | 用户固戍,往下是title | 
| @allure.title | 用例的标题 | 重命名HTML报告名称 | 
| @allure.testcase() | 测试用例的链接地址 | 对应功能测试用例系统里的case | 
| @allure.issue | 缺陷 | 对应缺陷管理系统里面的链接 | 
| @allure.description() | 用例描述 | 测试用例的描述 | 
| @allure.step() | 操作步骤 | 测试用例的步骤 | 
| @allure.severity() | 用例等级 | blocker,critical,normal,minor,trivial | 
| @allure.link() | 链接 | 定义一个链接在测试报告展示 | 
| @allure.attachment() | 附件 | 报告添加附件 | 



import allure
import pytest
 
@allure.feature('test_success')
def test_success():
    """this test succeeds"""
    assert True
 
@allure.feature('test_failure')
def test_failure():
    """this test fails"""
    assert False
 
@allure.feature('test_skip')
def test_skip():
    """this test is skipped"""
    pytest.skip('for a reason!')
 
@allure.feature('test_broken')
def test_broken():
    raise Exception('oops')
 
if __name__ == '__main__':
    # pytest.main(["-s","allure-test.py"])
    '''
    -q: 安静模式, 不输出环境信息
    -v: 丰富信息模式, 输出更详细的用例执行信息
    -s: 显示程序中的print/logging输出
    '''
    pytest.main(['-s', '-q','test_allure02.py','--clean-alluredir','--alluredir=allure-results'])
    os.system(r"allure generate -c -o allure-report")
在报告中添加图片附件,文件附件
安装第三方依赖
pip install pytest-allure-adaptor
@allure.attach的用法
 
1、 allure.attach(body,name,attachment_type,extension)
 参数说明:
- 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:附件的拓展名
使用范例(添加文本文件)
# file_name: test_allure_attachments.py
import pytest
import allure
@pytest.fixture()
def attach_for_text():
    allure.attach(body="这是一段文本,setUp", name="test文本01", attachment_type=allure.attachment_type.TEXT)
    yield
    allure.attach(body="这是一段文本,teardown", name="test文本02", attachment_type=allure.attachment_type.TEXT)
def test_attachment_text(attach_for_text):
    pass
if __name__ == '__main__':
    pytest.main(['-s', 'test_allure_attachments.py'])
使用范例(添加图片和html)
# file_name: test_allure_attachments.py
import pytest
import allure
def test_mutiple_attachments():
    allure.attach.file("./pytest_study/image/pikaqiu.jpg", attachment_type=allure.attachment_type.JPG)
    allure.attach("<html><body><font color='red'>这是一段html</font></body></html>",
                  attachment_type=allure.attachment_type.HTML)
if __name__ == '__main__':
    pytest.main(['-s', 'test_allure_attachments.py'])

推荐学习
【霍格沃兹测试开发】7天软件测试快速入门带你从零基础/转行/小白/就业/测试用例设计实战
【霍格沃兹测试开发】最新版!Web 自动化测试从入门到精通/ 电子商务产品实战/Selenium (上集)
【霍格沃兹测试开发】最新版!Web 自动化测试从入门到精通/ 电子商务产品实战/Selenium (下集)
【霍格沃兹测试开发】明星讲师精心打造最新Python 教程软件测试开发从业者必学(上集)
【霍格沃兹测试开发】明星讲师精心打造最新Python 教程软件测试开发从业者必学(下集)
【霍格沃兹测试开发】精品课合集/ 自动化测试/ 性能测试/ 精准测试/ 测试左移/ 测试右移/ 人工智能测试
【霍格沃兹测试开发】腾讯/ 百度/ 阿里/ 字节测试专家技术沙龙分享合集/ 精准化测试/ 流量回放/Diff
【霍格沃兹测试开发】Pytest 用例结构/ 编写规范 / 免费分享
【霍格沃兹测试开发】JMeter 实时性能监控平台/ 数据分析展示系统Grafana/Docker 安装
【霍格沃兹测试开发】接口自动化测试的场景有哪些?为什么要做接口自动化测试?如何一键生成测试报告?
【霍格沃兹测试开发】面试技巧指导/ 测试开发能力评级/1V1 模拟面试实战/ 冲刺年薪百万!
【霍格沃兹测试开发】腾讯软件测试能力评级标准/ 要评级表格的联系我
【霍格沃兹测试开发】Pytest 与Allure2 一键生成测试报告/ 测试用例断言/ 数据驱动/ 参数化
【霍格沃兹测试开发】App 功能测试实战快速入门/adb 常用命令/adb 压力测试
【霍格沃兹测试开发】阿里/ 百度/ 腾讯/ 滴滴/ 字节/ 一线大厂面试真题讲解,卷完拿高薪Offer !
【霍格沃兹测试开发】App自动化测试零基础快速入门/Appium/自动化用例录制/参数配置
【霍格沃兹测试开发】如何用Postman 做接口测试,从入门到实战/ 接口抓包(最新最全教程)



















