ReportNG 报告中文处理

转载自https://blog.51cto.com/11565528/2082784

一、说明 :当前ReportNG 最新是1.1.4版本,这个版本不支持中文报告,在testng.xml中,如果配置了有中文的项目名称等,在测试报告报告中会乱码
二、原因解析:
在1.1.4版本的包:reportng-1.1.4.jar中 ,有一个类:AbstractReporter中的generateFile方法中需要调整源码生成报告时的编码处理不兼容汉字
三、处理办法:
第一:将AbstractReporter中的generateFile方法源码修改为如下:
(可以使用jd-gui.exe打开,也可以使用IDE打开)

protected void generateFile(File file, String templateName, VelocityContext context)
throws Exception
{
    OutputStream out = new FileOutputStream(file);
    Writer writer = new BufferedWriter(new OutputStreamWriter(out, "utf-8"));
    try
    {
        Velocity.mergeTemplate(this.classpathPrefix + templateName, "UTF-8", context, writer);
        writer.flush();
    }
    finally
    {
        writer.close();
    }
}

第二:将修改后的jar包重命名为:reportng-1.1.5.jar(最好是先复制1.1.4的jar包在修改,最后重命名复制修改的那个jar文件,保证之前1.1.4版本不被修改,备份在那里)
第三:将修改后重命名的reportng-1.1.5.jar 文件重新编译成1.1.5版本
编译方法:
1、cmd开启命令行,进入到maven的目录的bin路径下
2、执行命令:
mvn install:install-file -DgroupId=org.uncommons -DartifactId=reportng -Dversion=1.1.5 -Dpackaging=jar -Dfile=E:\java_Project\9.15\java\RepoterNG1.1.5\reportng-1.1.5.jar
3、说明:编译命令的前面三个参数分别对应的就是 pom.xml中配置
reportng依赖的三个标签参数;
Dpackaging 参数表示是打包方式;
Dfile是指定被编译的源文件(保存路径+文件名)
第四:修改项目中maven的pom.xml依赖配置为修改后的1.1.5版本(当前已经将修改后1.1.5版本的reportng-1.1.5.jar包存放到了项目的resource目录中,在后续使用的时候,直接将这个包手动的导入到项目的库中即可)

第五:重新执行:
命令:mvn test
或者IDE 项目中右键pom.xml——>run maven——> test
第六:进入target目录中,打开surefire-reports——>html——>index.html
中文将不再乱码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值