解决:allure输出测试报告显示中文unicode乱码

        1.问题展示

         Pytest是一个广泛使用的Python测试框架,通过参数化测试(Parameterized Testing)功能,可以轻松地为测试用例提供多组输入数据。然而,当我们尝试在参数化测试中使用中文作为测试用例的IDs时,有时会遇到Unicode编码问题,导致测试报告中显示的是乱码

        2.解决方法

  • pytest.ini文件中加上如下配置(注意ini配置文件需要放在项目的根目录昂)
    disable_test_id_escaping_and_forfeit_all_rights_to_community_support = True
    
### 解决 Allure 使用中的常见问题 #### 1. 环境配置不当导致无法全局调用 `allure` 命令 当尝试在 Linux 中使用 `os.system()` 执行 allure 相关命令时,可能会因为未正确设置环境变量而失败。为了确保可以在任何位置执行 `allure` 命令,需将 Allure 的可执行文件路径加入到系统的 PATH 变量中[^3]。 ```bash export PATH=$PATH:/path/to/allure/bin ``` 建议将上述命令添加至 `.bashrc` 或者 `.zshrc` 文件中以便每次登录自动加载此配置。 #### 2. 测试报告生成过程中出现中文字符乱码现象 对于 Pytest 和 Allure 结合使用时产生的 Unicode 编码错误,特别是涉及中文字符的情况,可以通过调整 Python 脚本内部以及 HTML 报告模板来处理这个问题。具体措施如下: - **修改 pytest.ini 配置** 确保项目根目录下的 `pytest.ini` 文件中含有以下内容以支持 UTF-8 编码: ```ini [pytest] addopts = --maxfail=1 -q --tb=native --encoding=utf-8 ``` 这一步骤有助于防止因默认编码不匹配而导致的数据传输过程中的信息丢失或变形。 -8859-1 进行渲染。此时可以考虑创建一个简单的插件来自定义结果处理器,在其中显式指定输出格式为 utf-8 。详情参见官方文档关于扩展 Allure 功能的部分[^4]。 #### 3. 正确获取并安装最新版本的 Allure 工具包 为了避免兼容性问题带来的麻烦,应当始终从官方网站下载最新的稳定版 Allure 发布包。当前推荐的方式是从 GitHub 上对应的仓库页面下载适用于操作系统的二进制分发文件[^1][^2]: - 访问链接:https://github.com/allure-framework/allure2/releases - 根据操作系统选择合适的压缩包进行下载解压即可完成初步部署工作。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值