网站源码素材,优化大师是干什么的,宁波正规品牌网站设计,宿州微网站建设Allure 是一个强大的测试报告工具#xff0c;与 pytest 集成可以生成详细的测试报告#xff0c;包括测试步骤、测试数据、截图、错误堆栈等。 1. 安装 Allure 和相关依赖 安装 pytest-allure-adaptor 插件#xff1a; pip install allure-pytest确保本地已安装 Allure 工具。…Allure 是一个强大的测试报告工具与 pytest 集成可以生成详细的测试报告包括测试步骤、测试数据、截图、错误堆栈等。 1. 安装 Allure 和相关依赖 安装 pytest-allure-adaptor 插件 pip install allure-pytest确保本地已安装 Allure 工具。如果未安装可通过以下方式安装 MacOS brew install allureWindows/Linux 下载 Allure 的 官方版本解压后配置到环境变量中。 验证安装是否成功 allure --version2. pytest 与 Allure 的集成 1生成 Allure 报告
确保已经运行了 pytest 测试并生成了 Allure 数据文件。例如
pytest --alluredir./allure-results这里的 allure-results 目录是 Allure 生成的原始数据文件存储路径。 2 使用 Allure 命令生成 HTML 报告
运行以下命令将 allure-results 转换为 HTML 报告
allure generate ./allure-results -o ./allure-report --clean-o ./allure-report 指定生成的 HTML 报告输出目录。 --clean 会在生成新报告前清除旧的报告内容。
3 打开生成的 Allure 报告 方式 1通过 Allure 命令直接打开 运行以下命令Allure 会启动一个本地服务来展示报告 allure open ./allure-report执行后浏览器会自动打开 Allure 报告。 方式 2手动打开 index.html 进入生成的 Allure 报告目录 cd ./allure-report找到 index.html 文件用浏览器直接打开 Windows: 双击 index.html 文件。Linux/Mac: 使用浏览器打开例如 firefox index.html
# 或
google-chrome index.html Allure 服务启动方式推荐 使用 allure open 命令启动本地服务查看报告。这种方式可以动态加载资源避免直接打开 index.html 时某些功能如图表、附件因浏览器安全策略而失效。 防止报错 如果直接打开 index.html 时出现资源加载失败的问题如无法显示图表建议使用以下命令启动本地 HTTP 服务 python -m http.server 8080然后在浏览器访问http://localhost:8080/allure-report/index.html 3. Allure 的常用装饰器
Allure 提供了一系列装饰器用于标记测试用例的元数据、步骤和测试附加信息。
3.1 测试标题和描述 allure.title 自定义测试用例标题。 import allureallure.title(测试用户登录功能)
def test_login():assert login(user, password) successallure.description 添加测试用例的详细描述。 allure.description(验证用户登录接口是否返回正确的结果)
def test_login():assert login(user, password) success3.2 测试分类 allure.severity 标记测试用例的优先级blocker, critical, normal, minor, trivial。 allure.severity(allure.severity_level.CRITICAL)
def test_payment():assert process_payment() is Trueallure.feature 按功能模块对测试用例进行分组。 allure.feature(登录模块)
def test_login():assert login(user, password) successallure.story 标记功能模块中的子功能。 allure.feature(登录模块)
allure.story(用户使用正确的凭据登录)
def test_login():assert login(user, password) success3.3 测试步骤
allure.step 添加测试步骤便于报告中展示测试用例执行的流程。 allure.step(输入用户名和密码)
def enter_credentials(username, password):passallure.step(点击登录按钮)
def click_login():passdef test_login():enter_credentials(user, password)click_login()assert True3.4 附件 allure.attach 添加测试附件可以是文本、HTML、图片等。 allure.attach(这是一个文本附件, name文本信息, attachment_typeallure.attachment_type.TEXT)
def test_attach_text():assert Trueallure.attach(h1这是一个HTML附件/h1, nameHTML信息, attachment_typeallure.attachment_type.HTML)
def test_attach_html():assert True附加图片或日志 allure.attach.file(screenshot.png, name截图, attachment_typeallure.attachment_type.PNG)
def test_attach_image():assert True4. 结合案例完整示例
import allureallure.feature(支付模块)
allure.story(支付功能验证)
allure.severity(allure.severity_level.BLOCKER)
allure.title(验证用户支付成功)
def test_payment():with allure.step(初始化支付数据):payment_data {amount: 100, currency: USD}allure.attach(str(payment_data), name支付数据, attachment_typeallure.attachment_type.JSON)with allure.step(执行支付请求):response process_payment(payment_data) # 假设这个是支付函数allure.attach(str(response), name支付响应, attachment_typeallure.attachment_type.TEXT)with allure.step(校验支付结果):assert response[status] success, 支付失败def process_payment(data):# 模拟支付接口响应return {status: success, transaction_id: 12345}5. Allure 的核心功能 多层次分组 使用 allure.feature 和 allure.story 组织测试报告的层级。 测试用例管理 自定义标题、描述、标签如优先级、用例类型。 步骤可视化 通过 allure.step 展示用例执行的具体过程。 附件支持 附加截图、日志、JSON 响应等信息。 失败快照 自动捕获失败的堆栈信息。 6. 总结
通过集成 Allure 和 pytest可以实现清晰直观的测试报告展示。合理利用装饰器和附件功能能够极大提升测试报告的可读性与信息量使开发和测试团队更高效地协作与问题定位。