You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用@Step注解在Allure Report中打印长字符串?

解决Allure Report中@Step长字符串被截断的问题

我来帮你搞定Allure Report里@Step长文本被截断显示省略号的问题,这里有几个实用的解决方案:

方案1:调整Allure的截断长度配置

Allure默认会对Step的描述文本进行截断,你可以通过配置参数修改这个行为。只需要在项目的src/test/resources目录下创建或修改allure.properties文件,添加以下配置:

# 设置为-1表示完全不截断,也可以设置一个足够大的数值(比如10000)
allure.step.description.max.length=-1

这个配置会全局调整Step描述的最大显示长度,设置为-1后所有长文本都会完整展示。

方案2:用Allure Attachment展示完整内容

如果不想全局修改配置,或者希望在保留Step简洁显示的同时提供完整文本,可以在你的info方法中添加Allure附件,把长文本单独作为附件存储,在报告中点击附件就能查看完整内容:

import io.qameta.allure.Allure;
import io.qameta.allure.Step;

@Step("LOG.INFO : {message}") 
public static void info(String message){ 
    System.out.println(message);
    // 添加附件,第一个参数是附件名称,第二个是附件内容
    Allure.addAttachment("完整日志详情", message);
}

这样在Allure Report里,你的Step会显示截断的文本(如果配置没改的话),但下方会多出一个“完整日志详情”的附件,点击就能看到全部内容。

方案3:自定义Allure报告模板(进阶)

如果需要完全自定义Step的显示逻辑,可以修改Allure的Freemarker模板。在src/test/resources/allure-report/templates目录下找到step.ftl文件(如果没有就从Allure的jar包中复制一份),找到处理描述的代码段,去掉截断相关的逻辑。比如原本的模板可能有类似${truncate(step.description, config.stepDescriptionMaxLength)}的代码,把truncate函数去掉,直接用${step.description}即可。
这个方法适合需要全局统一修改显示样式的场景,但需要你对Freemarker模板语法有一定了解。

注意:如果使用的是Allure旧版本,方案1中的配置参数可能不同,比如早期版本用的是allure.report.step.description.limit,需要对应调整参数名称。

内容的提问来源于stack exchange,提问作者Priya Priyadarshini

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 09:22:56