自动化测试报告--allur使用教程

本文对比了allure和HTMLRunnerCN生成测试报告的差异,并深入介绍了allure的使用方法,包括其优势和实际操作步骤,最后给出了采用allure的结论。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、 allure和HTMLRunnerCN生成测试报告的区别

	HTMLRunnerCN生成的测试报告,如下:

在这里插入图片描述

	allure生成测试报告如下:

在这里插入图片描述

allure生成的测试报告相比HTMLRunnerCN生成的测试报告更加美观

二、 allure的使用

#  运行文件:baidu.py
from selenium import webdriver


driver = webdriver.Chrome()
driver.get("https://www.baidu.com/")

def test_case_input():
    # 百度输入框输入搜多内容
    driver.find_element_by_id("kw").send_keys("unittest的使用")
def test_case_client():
    driver.find_element_by_id("su").click()        # 点击搜索
运行脚本:cd  当前目录下
				  pytest baidu.py --alluredir allure-report     运行文件
				  allure serve allure-report    生成allur测试报告
运行结果如下:

在这里插入图片描述

三、结论

1. 测试函数必须以“test_”开头。
2. 测试类命名以"Test"开头。
### 解决方案 当 Jenkins 集成 Allure 报告时出现报告为空的情况,通常是因为以下几个原因导致的: #### 1. **Allure 结果目录未正确生成** 如果 `allure-results` 文件夹不存在或者路径配置错误,则会导致 Allure 报告无法正常解析测试结果。需要确认测试运行完成后是否成功生成了 `allure-results` 文件夹及其内部文件。 可以通过以下命令手动验证是否存在该目录以及其内容: ```bash ls C:\ProgramData\Jenkins\.jenkins\workspace\<job-name>\allure-results ``` 如果没有找到对应的文件夹或其中的内容缺失,则可能是测试脚本未能正确执行或将结果保存至指定位置[^3]。 #### 2. **Allure Generate 命令参数设置不当** 在构建过程中使用的 `os.system()` 调用了 `allure generate` 命令来生成 HTML 报告。然而,如果输入源 (`C:\ProgramData\Jenkins\.jenkins\workspace\api\report\tmp`) 或输出目标 (`C:\ProgramData\Jenkins\.jenkins\workspace\api\report\html`) 的路径不匹配实际环境中的数据存储情况,也会造成最终生成的报告为空白状态[^2]。 建议调整为如下形式并确保临时文件夹存在且含有有效的 XML 测试结果文件后再尝试重新生成: ```python import os os.system(r"allure generate C:\path_to_results --output C:\path_to_html_report --clean") ``` #### 3. **插件版本兼容性问题** 有时不同版本之间的差异也可能引发此类现象。比如旧版 Jenkins 和新版 Allure 插件之间可能存在某些功能上的冲突。因此应当检查当前所安装组件的具体版本号,并参照官方文档更新至相互支持的状态[^4]。 另外还需注意的是,在使用 Python 运行上述系统调用语句前最好先单独测试一遍纯 CMD 下面同样的指令能否顺利产出预期效果再移植回代码里去执行会更加稳妥一些。 --- ### 示例修正后的 Pipeline Script (Groovy) 下面给出一段基于 Groovy 编写的 Jenkinsfile 片段作为参考实现之一: ```groovy pipeline { agent any stages { stage('Run Tests') { steps{ bat 'pytest tests/ --alluredir=allure-results' } } stage('Generate Report'){ steps{ script{ def resultDir = "${WORKSPACE}\\allure-results" def reportDir = "${WORKSPACE}\\allure-report" if(fileExists(resultDir)){ dir(reportDir){ bat "allure generate ${resultDir} -o . --clean" } }else{ error("No test results found at path: ${resultDir}") } } } } stage('Publish Report'){ steps{ allure([ includeProperties: false, jdk: '', properties: [], reportBuildPolicy: 'ALWAYS', results:[ [path:'${WORKSPACE}/allure-report'] ] ]) } } } } ``` 此脚本定义了一个完整的流水线流程,涵盖了从运行测试到发布报表的所有必要环节。 --- ### 注意事项 - 确认所有涉及路径均具有读写权限。 - 如果采用远程节点部署方式还需要同步本地主机与 Slave Agent 上的相关资源文件。 - 安装必要的依赖项如 allure-commandline 工具包等。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值