@allure.epic:最高级别的分类,表示一个大的功能、模块或业务场景。功能模块
@allure.feature:表示一个功能模块或业务子场景,位于史诗下。主流程
@allure.story:表示一个具体的测试场景,位于特性下。具体主流程或分支流程-如增、删、改
@allure.title:表示故事中的一个具体测试场景的标题。
from allure_commons.types import AttachmentType
是用于 Allure 测试报告 的附件类型定义模块,它提供了一些预定义的附件类型,帮助你将文件、文本、图片等信息附加到 Allure 测试报告中。
主要功能
-
明确附件类型:
- 当你将文件、日志、截图或其他数据附加到 Allure 报告时,可以通过指定附件类型,让报告正确识别和渲染这些附件。
- 比如,
AttachmentType.TEXT
表示普通文本,AttachmentType.PNG
表示图片。
-
增强报告的可读性:
- 不仅展示测试用例的运行结果,还可以附加更多上下文信息,例如请求的 JSON 数据、响应日志、截图等,帮助调试和分析失败原因。
二、AttachmentType
from allure_commons.types import AttachmentType
常用的附件类型
以下是 AttachmentType
中的一些预定义类型及其作用:
附件类型 | 描述 |
---|---|
AttachmentType.TEXT | 普通文本附件,比如日志或控制台输出。 |
AttachmentType.JSON | JSON 格式的数据附件,用于附加请求或响应数据。 |
AttachmentType.HTML | HTML 格式附件,比如网页内容或报告片段。 |
AttachmentType.PNG | PNG 格式的图片附件,用于附加截图或图表。 |
AttachmentType.JPG | JPG 格式的图片附件。 |
AttachmentType.CSV | CSV 格式的附件,用于附加表格或数据文件。 |
AttachmentType.XML | XML 格式的数据附件。 |
AttachmentType.MARKDOWN | Markdown 格式的文本附件,用于附加格式化文本或文档。 |
AttachmentType.PDF | PDF 文件附件,用于附加文档或截图。 |
示例用法
在测试中使用 AttachmentType
将信息附加到 Allure 报告:
1. 附加文本日志
import allure
allure.attach("这是测试日志内容", name="Test Log", attachment_type=AttachmentType.TEXT)
2. 附加 JSON 数据
response_data = {"status": 200, "message": "Success"}
allure.attach(str(response_data), name="Response JSON", attachment_type=AttachmentType.JSON)
3. 附加截图
with open("screenshot.png", "rb") as image:
allure.attach(image.read(), name="Screenshot", attachment_type=AttachmentType.PNG)
4. 附加 HTML
html_content = "<html><body><h1>Hello, World!</h1></body></html>"
allure.attach(html_content, name="Sample HTML", attachment_type=AttachmentType.HTML)
在接口测试中的典型用法
结合 Schemathesis 和 Allure,附加接口请求和响应的数据:
@schema.parametrize()
def test_api(case):
# 调用接口
response = case.call()
# 附加请求信息
allure.attach(f"Request URL: {case.path}\nMethod: {case.method}\nHeaders: {case.headers}",
name="Request Info", attachment_type=AttachmentType.TEXT)
# 附加响应信息
allure.attach(response.text, name="Response Body", attachment_type=AttachmentType.JSON)
# 验证响应
case.validate_response(response)
总结
AttachmentType
是 Allure 提供的一种类型标识工具,用于明确附件的格式和用途。通过它,你可以将各种数据(如日志、截图、请求/响应信息)附加到测试报告中,让测试结果更加直观和便于分析。