pytest--allure报告中添加用例详情

前言

前面介绍了如何生成allure的报告,看着allure的页面非常好看,但是感觉少了一些内容,allure还可以增加一些用例详情内容,这样让我们的报告看着更加绚丽。

allure增加用例详情

我们可以在报告测试套件中增加用例详情内容。

用例标题

1、需要导入allure模块

2、在每条用例函数前需要加上 @allure.title('标题内容') 

3、正常执行生成allure报告。

import allure

class TestCase:

    @allure.title('用例1的名称')
    def test_01(self):
        print('---用例01---')
        assert 1

    @allure.title('用例2的名称')
    def test_02(self):
        print('---用例02---')
        assert 1

    @allure.title('用例3的名称')
    def test_03(self):
        print('---用例03---')
        assert 2

通过在cmd中输入 pytest --alluredir ./report/result 执行测试用例,在执行 allure serve report/result 打开allure报告。这样就能在报告中看出生成了三条用例,并将对应的用例名称显示出来了。

### 安装 `pytest` 及其插件时可能遇到的问题及解决方案 在安装 `pytest` 和相关插件的过程中,可能会因为依赖冲突、环境配置不一致或其他原因导致报错。以下是针对这些常见问题的分析和解决方法: #### 1. **依赖版本冲突** 如果在执行命令 `pip install pytest pytest-html pytest-xdist pytest-ordering pytest-rerunfailures allure-pytest` 时出现错误提示,可能是某些包之间的版本存在兼容性问题。 - 验证当前 Python 的版本是否满足各插件的要求[^2]。如,部分插件可能仅支持特定范围内的 Python 版本。 - 使用以下命令逐一升级 pip 并重新尝试安装: ```bash python -m pip install --upgrade pip setuptools wheel ``` #### 2. **网络连接或镜像源问题** 有时由于国内网络的原因,可能导致无法正常访问 PyPI 源,从而引发超时或下载失败等问题。 - 切换至国内镜像源(如阿里云或清华大学开源软件镜像站),并重试安装: ```bash pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pytest pytest-html pytest-xdist pytest-ordering pytest-rerunfailures allure-pytest ``` #### 3. **已存在的旧版本干扰** 当环境中已经存在较老版本的库时,新版本的安装可能会受到阻碍。 - 卸载现有的 `pytest` 及其关联插件后再重新安装: ```bash pip uninstall pytest pytest-html pytest-xdist pytest-ordering pytest-rerunfailures allure-pytest pip install pytest pytest-html pytest-xdist pytest-ordering pytest-rerunfailures allure-pytest ``` #### 4. **具体插件的特殊需求** 不同插件可能存在额外的依赖项或者特殊的安装条件。 - 对于 `allure-pytest` 插件,需确认 JAVA 环境变量 `JAVA_HOME` 已正确定义[^2]。可以通过以下方式验证 Java 是否可用以及路径设置是否正确: ```bash echo %JAVA_HOME% java -version ``` - 如果未定义,则需要手动指定 JDK 路径,并将其加入系统的环境变量中。 #### 5. **日志排查与调试** 通过增加 `-v` 参数查看详细的安装过程中的日志信息,有助于定位具体的错误位置。 - 执行带详细输出的日志记录命令: ```bash pip install -v pytest pytest-html pytest-xdist pytest-ordering pytest-rerunfailures allure-pytest ``` --- ### 示代码片段:自定义 conftest.py 文件结构 为了更好地管理测试框架的行为,在项目根目录下创建 `conftest.py` 文件,其中可包含钩子函数用于定制化操作[^4]。如下所示是一个简单的实现子: ```python # conftest.py from typing import Optional import pytest def pytest_collection_modifyitems(session, config, items: list): """修改收集到的测试用例名称编码""" for item in items: item.name = item.name.encode('utf-8').decode('unicode-escape') item._nodeid = item.nodeid.encode('utf-8').decode('unicode-escape') def pytest_runtest_setup(item: "Item") -> None: """每次测试前调用此钩子打印 setup 日志""" print('hook : setup') def pytest_runtest_teardown(item: "Item", nextitem: Optional["Item"]) -> None: """每次测试结束后调用此钩子打印 teardown 日志""" print('hook : teardown') ``` --- ### 总结 以上提供了关于如何处理 `pytest` 及其插件安装过程中可能出现的各种问题的具体措施。每一步都旨在帮助开发者快速找到根本原因并加以修复。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值