定制并优化reportng生成测试报告
2018-11-20
1.首先,我们得去github上下载reportng源码。ReportNG Source Code Download:https://github.com/dwdyer/reportng源码使用的是Intellij+Maven+Ant+TestNG开发的Java项目。我使用的是官网免费的IntelliJ IDEA Community Edition 2016.2Intellij下载和安装地址:http://www.360doc.com/content/16/0803/16/32074671_580528432.shtml2.然后,导入maven工程代码,并处理掉报错。
3.修改ReportNGUtils类。/*** @author Sunny* @param driver* @param baseDir* @return*/public static String getImageString(WebDriver driver, String baseDir) {String imgName = generateFileNameWithPrefix();File srcFile = ((TakesScreenshot) driver).getScreenshotAs(OutputType.FILE);try {FileUtils.copyFile(srcFile, new File(baseDir + File.separator+ imgName));} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}return imgName;}public static String removeImage(String imgName) {return imgName.replaceAll("","");}public static String generateFileNameWithPrefix() {final DateFormat ExcuteTime_FILE_NAME = DateFormat.getDateTimeInstance(DateFormat.MEDIUM, DateFormat.MEDIUM);String fileName = ExcuteTime_FILE_NAME + ".png";return fileName;}4.修改ReportMetadata类,为了处理打开的index.html时间显示乱码。
将原字段DATE_FORMAT属性改为:private static Locale locale = new Locale("en", "US");private static final DateFormat DATE_FORMAT = DateFormat.getDateInstance(DateFormat.FULL, locale);5.修改TestResultComparator类。public int compare(ITestResult result1, ITestResult result2){/*** @author Sunny* Update veriable longresult2*/// return result1.getName().compareTo(result2.getName());int longresult2 = 0;if (result1.getStartMillis() < result2.getStartMillis()) {longresult2 = -1;} else {longresult2 = 1;}return longresult2;}6.修改reportng.properties文件,自定义oneclass属性值。oneclass.description=Descriptiononeclass.duration=Durationoneclass.testdata=Data being usedoneclass.testresult=Test resultoneclass.screenshot=Screen shotoneclass.additionalinfo=Additional Info7.修改class-results.html.vm,将源码修改为
#set ($output = $utils.getTestOutput($testResult))#if ($output.size() > 0)#else$utils.getImageString($line)
#end#end
$messages.getString("failedTests") | ||||
---|---|---|---|---|
$testClass.name ⁄ $messages.getString("oneclass.duration") | $messages.getString("oneclass.description") | $messages.getString("oneclass.testdata") | $messages.getString("oneclass.testresult") | $messages.getString("oneclass.screenshot") |
$testClass.name ⁄ $messages.getString("oneclass.duration") | ||||
---|---|---|---|---|
$testClass.name | $messages.getString("oneclass.description") | $messages.getString("oneclass.testdata") | $messages.getString("oneclass.testresult") | $messages.getString("oneclass.screenshot") |
免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。
http://www.pinlue.com/style/images/nopic.gif