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

RestAssured+Allure在Jenkins运行时无法渲染HTTP附件及日志无响应问题

Jenkins运行Java17测试套件出现Allure渲染异常及无响应日志问题

测试套件基于Java17开发,本地IDE或Maven命令运行完全正常,但在Jenkins执行时出现以下问题:

  • 请求发送后日志仅显示请求体,无响应内容
  • Allure无法渲染HTTP附件,抛出AttachmentRenderException及IndexOutOfBoundsException异常

已尝试以下操作但未解决问题:

  • 调整依赖版本
  • 清理Maven本地仓库
  • 切换Java版本至11
  • 注释log().all()语句
  • 调整AllureRestAssured过滤器

相关代码、依赖版本及报错日志如下:

CODE

protected Response delete(ApiRequestModel apiRequestModel) {
    return given()
        .spec(apiConnector.authorize())
        .filter(new AllureRestAssured())
        .headers(apiRequestModel.getHeaders())
        .body(apiRequestModel.getRequestBody())
        .when()
        .log()
        .all()
        .delete(apiRequestModel.getEndpoint())
        .then()
        .log()
        .all()
        .statusCode(apiRequestModel.getStatusCode())
        .extract()
        .response();
}

Dependency version

<properties>
    <java.version>17</java.version>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <allure.testng.version>2.21.0</allure.testng.version>
    <allure.maven.version>2.10.0</allure.maven.version>
    <allure.rest-assured.version>2.21.0</allure.rest-assured.version>
    <allure.report.version>2.12.0</allure.report.version>
    <maven.compiler.plugin.version>3.10.1</maven.compiler.plugin.version>
    <maven-surefire-plugin-version>3.0.0-M5</maven-surefire-plugin-version>
    <rest-assured.version>5.1.1</rest-assured.version>
    <testng.version>7.6.1</testng.version>
    <jackson.version>2.14.1</jackson.version>
    <json.version>20210307</json.version>
    <aspectj.version>1.9.19</aspectj.version>
  </properties>

LOGS

io.qameta.allure.attachment.AttachmentRenderException: Could't render http attachment file
    at io.qameta.allure.attachment.FreemarkerAttachmentRenderer.render(FreemarkerAttachmentRenderer.java:49)
    at io.qameta.allure.attachment.FreemarkerAttachmentRenderer.render(FreemarkerAttachmentRenderer.java:28)
    at io.qameta.allure.attachment.DefaultAttachmentProcessor.addAttachment(DefaultAttachmentProcessor.java:41)
    at io.qameta.allure.restassured.AllureRestAssured.filter(AllureRestAssured.java:103)


Caused by: java.lang.IndexOutOfBoundsException: start 160, end 0, length 161
    at java.base/java.lang.AbstractStringBuilder.checkRange(AbstractStringBuilder.java:1802)
    at java.base/java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:680)
    at java.base/java.lang.StringBuffer.append(StringBuffer.java:393)
    at java.base/java.io.StringWriter.write(StringWriter.java:122)
    at freemarker.template.utility.StringUtil.XMLOrHTMLEnc(StringUtil.java:215)
    at freemarker.template.utility.StringUtil.XHTMLEnc(StringUtil.java:105)
    at freemarker.core.HTMLOutputFormat.output(HTMLOutputFormat.java:62)
    at freemarker.core.DollarVariable.accept(DollarVariable.java:68)
    at freemarker.core.Environment.visit(Environment.java:347)
    at freemarker.core.Environment.visit(Environment.java:353)
    at freemarker.core.Environment.visit(Environment.java:353)
    at freemarker.core.Environment.process(Environment.java:326)
    at freemarker.template.Template.process(Template.java:383)
    at io.qameta.allure.attachment.FreemarkerAttachmentRenderer.render(FreemarkerAttachmentRenderer.java:46)

请问是否有人遇到过类似问题,或有解决思路?

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 16:45:15