allure 报告更改标题和语言为中文

在网上看到好多谈到更改allure 的标题设置都很麻烦,去更改JSON文件

其实可以有更简单的办法,就是在生成报表时增加参数

使用allure --help 查看:

--lang, --report-language 

设置报告的语言,默认是应用
The report language.


--name, --report-name

报告名称,在这里指定报告名称即可
The report name.

自己项目的例子:

subprocess.run(f"allure generate -o {allure_reports} -c {allure_results} --lang zh --name XXXX公司-自动化测试报告",shell=True)

<think>好的,我现在要解决用户的问题:如何使用Allure生成包含中文的测试报告。首先,我需要了解用户的需求。用户可能在使用Allure生成测试报告时遇到了中文显示问题,比如乱码或者无法正确显示中文字符。他们希望得到解决方法,确保生成的报告能正确展示中文内容。 接下来,我需要回忆Allure的相关知识。Allure是一个测试报告工具,支持多种语言,包括Python。用户提到他们使用了pytest框架,并且已经安装了allure-pytest插件,这符合引用中的环境搭建步骤[^1][^4]。但生成的报告可能存在中文显示问题,这可能涉及到编码配置或字体支持的问题。 首先,检查环境配置是否正确。根据引用[4],用户需要安装Allure命令行工具allure-pytest插件,并且确保有JDK环境。如果这些步骤已经完成,那么问题可能出在编码设置上。 然后,考虑测试用例中的中文处理。在Python中,如果测试用例的描述或断言信息包含中文,需要确保Python文件本身使用UTF-8编码。这可以通过在Python文件头部添加编码声明来实现,比如`# -*- coding: utf-8 -*-`。此外,pytest运行时的终端编码也需要设置为UTF-8,可以通过设置环境变量`PYTHONIOENCODING=utf-8`来避免控制台输出乱码。 接下来,生成Allure报告时的编码设置也很重要。在生成报告时,可能需要指定编码参数。根据引用[2],生成报告的命令是`allure serve ./result/`,但可能需要添加`--clean`参数来清除旧数据。不过,这里的关键是确保Allure在生成报告时使用正确的编码。可能需要在命令行中设置编码环境变量,比如`ALLURE_OPTS="-Dfile.encoding=UTF-8"`,或者在allure的配置文件中设置相关参数。 另外,Allure的HTML报告默认可能不包含中文字体,这会导致浏览器渲染时出现乱码。解决方法是在Allure生成的HTML报告中引入中文字体。可以通过自定义Allure的样式表(CSS),添加对中文字体的支持,例如使用`font-family: "Microsoft YaHei", sans-serif;`。这需要找到Allure报告的CSS文件,并修改相应的样式部分。 用户可能还需要在测试代码中使用Allure的装饰器来添加中文描述,例如`@allure.title("测试登录功能")`。此时,必须确保这些字符串是Unicode格式,Python 3默认使用Unicode,但在Python 2中需要显式声明,不过用户可能已经使用Python 3,所以这一步可能不需要特别处理。 另外,检查操作系统的区域语言设置是否支持中文,尤其是在Windows系统上,可能需要设置系统区域为非Unicode程序的语言中文(这可能会导致其他问题,所以需谨慎)。不过,这可能不是最佳解决方案,更推荐通过配置Allure测试环境本身来支持中文。 总结可能的步骤: 1. 确保Python文件测试代码使用UTF-8编码。 2. 设置环境变量以支持UTF-8编码。 3. 生成Allure报告时指定正确的编码参数。 4. 修改Allure的CSS样式以包含中文字体。 5. 验证生成的报告是否正确显示中文。 需要验证这些步骤的有效性,可能需要实际测试。例如,在测试用例中添加中文描述,运行测试生成Allure报告,然后检查报告中的中文是否正常显示。如果仍然有问题,可能需要进一步调整CSS或检查其他配置。 最后,可能还需要参考Allure的官方文档或社区资源,看看是否有其他用户遇到类似问题以及他们的解决方案。根据引用[3],Allure支持多语言,因此理论上应该支持中文,可能需要正确的配置来实现。</think>### 如何使用Allure生成中文测试报告 #### 1. 环境配置 - **安装Allure命令行工具** 确保正确安装Allure命令行工具并配置环境变量(Windows需手动配置,Mac可使用`brew install allure`)。 - **安装`allure-pytest`插件** 通过`pip install allure-pytest`安装插件,确保pytest能生成Allure格式的测试结果[^4]。 - **验证JDK环境** Allure依赖Java环境,需安装JDK并确保`java`命令可用。 #### 2. 编码与字体配置 - **Python文件编码声明** 在测试脚本首行添加`# -*- coding: utf-8 -*-`,确保Python解析器正确处理中文字符。 ```python # -*- coding: utf-8 -*- import pytest import allure @allure.title("测试登录功能") def test_login(): assert "登录成功" in "操作结果" ``` - **设置终端编码** 运行pytest时添加环境变量`PYTHONIOENCODING=utf-8`,避免控制台输出乱码: ```bash PYTHONIOENCODING=utf-8 pytest --alluredir=./result ``` - **生成报告时指定编码** 使用以下命令生成报告,强制使用UTF-8编码: ```bash ALLURE_OPTS="-Dfile.encoding=UTF-8" allure serve ./result ``` #### 3. 自定义CSS支持中文字体 - **修改Allure样式表** 找到Allure的CSS文件(通常在`~/.allure/config`或安装目录的`plugins`文件夹中),添加中文字体支持: ```css /* 修改全局字体 */ * { font-family: "Microsoft YaHei", "PingFang SC", sans-serif !important; } ``` 保存后重新生成报告即可生效。 #### 4. 验证中文显示 - 在测试用例中使用中文标题描述: ```python @allure.feature("用户管理模块") @allure.story("登录功能") @allure.title("验证中文标题") def test_chinese_display(): allure.dynamic.description("这是一个包含中文描述的测试用例") assert True ``` - 运行测试并生成报告后,检查Allure报告中的标题、步骤图表是否正常显示中文。 #### 5. 常见问题解决 - **乱码问题** 若报告仍显示乱码,检查操作系统语言环境是否为中文,或尝试在浏览器中手动切换编码为UTF-8。 - **样式未生效** 确保自定义CSS文件路径正确,或通过Allure的`--clean`参数清除缓存: ```bash allure generate ./result --clean -o ./report ``` ###
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

fish_study_csdn

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值