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

如何在Extent Report 2.41.2(Selenium)标题中添加Logo

解决Extent Report添加Logo失败的问题

我来帮你搞定Extent Report加Logo的问题,先说说你当前配置里可能踩的坑,再给你两种可行的解决办法:

你当前XML配置的问题点

  • 直接用本地绝对路径C:\CATS\logo.png不行:Extent Report是网页格式的报告,浏览器出于安全限制无法直接访问本地磁盘的绝对路径
  • 你的自定义ExtentReporterNG可能没实现解析<reportHeadline>里img标签的逻辑:很多自定义的Reporter并不会自动处理XML里的这种内嵌HTML,所以写了也没用

方案1:在ExtentReporterNG代码里直接配置Logo(最可靠)

大部分情况下,直接在自定义的Reporter类里加Logo是最稳妥的,步骤如下:

  1. 打开你的phoenix.report.ExtentReporterNG类
  2. 在初始化ExtentReports的代码块里,添加Logo配置,示例代码如下:
import com.aventstack.extentreports.ExtentReports;
import com.aventstack.extentreports.reporter.ExtentHtmlReporter;
import com.aventstack.extentreports.reporter.configuration.Theme;
import org.testng.IReporter;
import org.testng.ISuite;
import org.testng.xml.XmlSuite;
import java.util.List;

public class ExtentReporterNG implements IReporter {
    private ExtentReports extent;

    @Override
    public void generateReport(List<XmlSuite> xmlSuites, List<ISuite> suites, String outputDirectory) {
        // 初始化HTML报告生成器
        ExtentHtmlReporter htmlReporter = new ExtentHtmlReporter(outputDirectory + "/ExtentReport.html");
        
        // 配置报告主题、标题等
        htmlReporter.config().setTheme(Theme.STANDARD);
        htmlReporter.config().setDocumentTitle("Myphoenix自动化测试报告");
        htmlReporter.config().setReportName("登录模块测试执行报告");
        
        // 关键:设置Logo路径,把logo.png放到报告输出目录(比如target/surefire-reports)
        htmlReporter.config().setLogoUrl("logo.png");
        
        // 绑定报告生成器到ExtentReports
        extent = new ExtentReports();
        extent.attachReporter(htmlReporter);
        
        // 这里可以添加其他报告逻辑,比如测试用例结果的写入
        // ...
    }
}
  1. 把你的logo.png复制到测试报告的输出目录(比如Maven项目的target/surefire-reports,Gradle项目的build/reports/tests/test),这样报告就能正确加载图片了

方案2:修正XML配置的路径(仅当你的Reporter支持XML解析时)

如果你坚持要用XML配置,需要调整路径并确保Reporter能解析:

  • 改用相对路径,把logo.png放到项目的资源目录(比如src/main/resources)
  • 修正后的XML示例:
<?xml version="1.0" encoding="UTF-8"?>
<suite name="MYhoenixTestExecution" verbose="1" >
    <listeners>
        <listener class-name="phoenix.report.ExtentReporterNG" />
    </listeners>
    <reportHeadline>Automation Report 
        <image id="image-zoom">
            <![CDATA[ <img src='../src/main/resources/logo.png' style='height:50px; width:auto;'/> ]]>
        </image>
    </reportHeadline>
    <test name="Myphoenix_Login TC" >
        <classes>
            <class name="phoenix.testcases.Login_TC"/>
        </classes>
    </test>
</suite>

注意:如果你的ExtentReporterNG没有写解析<reportHeadline>标签的逻辑,这个方法还是无效,优先选方案1


额外检查项

  • 确保图片格式是PNG/JPG这类浏览器支持的格式
  • 生成报告后,右键查看报告里的图片地址,确认路径是否正确,对应的目录下是否存在图片文件

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 08:56:29