本文共 1367 字,大约阅读时间需要 4 分钟。
一、说明 :当前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.jar3、说明:编译命令的前面三个参数分别对应的就是 pom.xml中配置reportng依赖的三个标签参数;Dpackaging 参数表示是打包方式;Dfile是指定被编译的源文件(保存路径+文件名)第四:修改项目中maven的.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中文将不再乱码转载于:https://blog.51cto.com/11565528/2082784