96SEO 2026-02-20 09:22 0
Allure框架是一个灵活的轻量级多语言测试报告工具它不仅以web的方式展示了简介的测试结果而且允许参与开发过程的每个人从日常执行的测试中最大限度的提取有用信息。

从dev/qa的角度来看Allure报告简化了常见缺陷的统计失败的测试可以分为bug和被中断的测试还可以配置日志、步骤、fixture、附件、计时、执行历史以及与TMS和BUG管理系统集成所以通过以上配置所有负责的开发人员和测试人员可以尽可能的掌握测试信息。
从管理者的角度来看Allure提供了一个清晰的“大图”其中包括已覆盖的特性、缺陷聚集的位置、执行时间轴的外观以及许多其他方便的事情。
allure的模块化和可扩展性保证了您总是能够对某些东西进行微调使Allure更适合您那么今天我们就来说说如何使报告更加详细的显示我们需要的信息以及allure与jenkins的集成
pytest框架编写的项目如何生成测试报告这里将不再讲解具体过程可以参考我之前的文章往上翻能找得到。
注意python使用的allure插件为allure-pytest
为了大家能够快速的认识allure的所有功能特性附上完整的测试代码
在Allure报告中添加环境信息通过创建environment.properties或者environment.xml文件并把文件存放到allure-results(这个)目录下
environmentparameterkeyBrowser/keyvalueChrome/value/parameterparameterkeyBrowser.Version/keyvalue63.0/value/parameterparameterkeyStand/keyvalueProduction/value/parameterparameterkeyApiUrl/keyvalue127.0.0.1/login/value/parameterparameterkeypython.Version/keyvalue3.6/value/parameter
测试报告默认统计两种类型的测试用例结果失败的用例和故障测试用例我们可以自定义添加用例的统计类型同样需要在allure-results目录下新建categories.json文件
.*FileNotFoundException.*},{name:
Fixtures和Finalizers是pytest在测试开始和测试结束调用的方法allure会自动跟踪每一个fixture的调用并且详细显示会调用哪些fixture和参数而且会保留正确的调用顺数
function_scope_step():print(function_scope_step)def
class_scope_step():print(class_scope_step)def
module_scope_step():print(module_scope_step)def
session_scope_step():print(session_scope_step)def
step_inside_test_body():print(step_inside_test_body)pytest.fixture(params[True,
function_scope_fixture_with_finalizer(request):if
request.param:print(True)else:print(False)def
function_scope_finalizer():function_scope_step()request.addfinalizer(function_scope_finalizer)pytest.fixture(scopeclass)
class_scope_fixture_with_finalizer(request):def
class_finalizer_fixture():class_scope_step()request.addfinalizer(class_finalizer_fixture)pytest.fixture(scopemodule)
module_scope_fixture_with_finalizer(request):def
module_finalizer_fixture():module_scope_step()request.addfinalizer(module_finalizer_fixture)pytest.fixture(scopesession)
session_scope_fixture_with_finalizer(request):def
session_finalizer_fixture():session_scope_step()request.addfinalizer(session_finalizer_fixture)class
test_with_scoped_finalizers(self,function_scope_fixture_with_finalizer,class_scope_fixture_with_finalizer,module_scope_fixture_with_finalizer,session_scope_fixture_with_finalizer):step_inside_test_body()
pytest支持使用allure.step修饰某些测试用例中需要的函数使测试用例在allure报告中能够更加详细的显示测试过程
test_allure_feature.py文件中修改如下代码
input_username():print(输入用户名)allure.step(输入密码)
allure.step修饰的测试步骤还支持在conftest.py文件中定义作为fixture的步骤现在我们在项目目录下新建conftest.py文件写入如下代码
fixture_step():passpytest.fixture
test_allure_feature.py文件中添加如下用例
使用allure.attach可以给报告中添加文件图片loghtml代码等等。
我们修改test_allure_feature.py中如下用例
test_failed(self):failedtry:assert
attachment_typeallure.attachment_type.PNG)raise
如果你想在报告中展示测试用例的描述信息那么你可以使用allure.description(string)或者allure.description_html(html代码)修饰你的测试用例test_allure_feature.py文件修改如下代码
allure.description(这是一个一直执行失败的测试用例)def
test_failed(self):你也可以在这里添加用例的描述信息但是会被allure.description覆盖try:assert
attachment_typeallure.attachment_type.PNG)raise
使用allure.title(title)可以重命名测试用例在allure报告中的名称test_allure_feature.py文件修改如下代码
allure.title(登录成功场景-{data})pytest.mark.parametrize(data,
input_password(data[pwd])result
这三种特性都可以给测试用例添加一个链接test_allure_feature.py文件修改如下代码
allure.testcase(https://www.cnblogs.com/linuxchao/,
Trueallure.link(https://www.cnblogs.com/linuxchao/,
namebug链接)allure.description(这是一个一直执行失败的测试用例)def
test_failed(self):你也可以在这里添加用例的描述信息但是会被allure.description覆盖try:assert
attachment_typeallure.attachment_type.PNG)raise
eallure.issue(https://www.cnblogs.com/linuxchao/,
feature和story被称为行为驱动标记因为使用这个两个标记通过报告可以更加清楚的掌握每个测试用例的功能和每个测试用例的测试场景
在test_allure_feature.py文件中的测试类使用allure.feature修饰,
以上两种标记不仅仅能够在测试报告中显示而且还可以使用命令执行指定的测试模块或者场景
此标记用来标识测试用例或者测试类的级别分为blockercriticalnormalminortrivial5个级别下面们把测试用例按级别标记并查看一下测试报告
以上就是所有的allure-pytest插件在pytest中支持的大部分功能特性也许整理的不是很详细所以如果你想详细的了解具体的特性在报告中的效果还需自己动手尝试一下今天就讲到这了希望看到这篇文章的你能更好的理解pytest。
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback