日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

testng的报告自定义笔记

發布時間:2024/4/14 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 testng的报告自定义笔记 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

自定義報告學習筆記一

????效果圖:

????????

在長輩的代碼下,自己修改:

package com.rpoter;


import java.io.File;

import java.io.IOException;

import java.io.UnsupportedEncodingException;

import java.nio.file.Files;

import java.nio.file.Paths;

import java.nio.file.StandardOpenOption;

import java.text.SimpleDateFormat;

import java.util.Calendar;

import java.util.Date;

import java.util.List;

import java.util.Map;

import java.util.Set;


import org.testng.IReporter;

import org.testng.ISuite;

import org.testng.ISuiteResult;

import org.testng.ITestContext;

import org.testng.ITestResult;

import org.testng.reporters.HtmlHelper;

import org.testng.xml.XmlSuite;


public class Reporter implements IReporter {

private String reportPath;

/** 手機型號 */

private String Mobile_phone = "小米手機";

/** 測試包名 */

private String package_name = "com.systoon.beijingtoon";

/** 版本號 */

private String versionName = "1.8.1";

/** 手機系統版本 */

private String MobileSystem = "安卓5.6";

/** 通過 */

public int Passed = 0;

/** 失敗 */

public int Failed = 0;

/** 跳過 */

public int Skipped = 0;


@Override

public void generateReport(List<XmlSuite> xmlSuites, List<ISuite> suites, String outputDirectory) {

File htmlReportDir = new File("test-output/Test-report");

if (!htmlReportDir.exists()) {

htmlReportDir.mkdirs();

}

String reportName = formateDate() + ".html";

reportPath = htmlReportDir + "/" + reportName;

File report = new File(htmlReportDir, reportName);

if (report.exists()) {

try {

report.createNewFile();

} catch (IOException e) {

e.printStackTrace();

}

}

StringBuffer sb = new StringBuffer();

? ?String title = "UI自動化測試用例運行結果列表";

? ?sb.append("<html>\n<head><title>UI自動化測試報告</title>")

? ? ?.append(HtmlHelper.getCssString("."))

? ? ?.append("</head><body style=\"background-color:#FAEBD7;\">\n")

? ? ?.append("<h2><p align='center'>").append(title).append("</p></h2>\n")

? ? ?.append("<table border='1' width='90%'>")

? ? ?.append("<tr><th>手機品牌名稱</th><th>手機系統版本</th><th>測試包名</th><th>版本號</th><th>通過數</th><th>失敗數</th><th>跳過</th><th>詳情 </th></tr>\n");

String res = sb.toString();

try {

Files.write((Paths.get(reportPath)), res.getBytes("utf-8"));

} catch (IOException e) {

e.printStackTrace();

}

for (ISuite suite : suites) {

? ? ? ? ? ?Map<String, ISuiteResult> tests = suite.getResults();

? ? ? ? ? ?for (ISuiteResult r : tests.values()) {

? ? ? ? ? ? ? ?ITestContext overview = r.getTestContext();

? ? ? ? ? ? ? ?System.err.println("suite: " + overview.getName());

? ? ? ? ? ? ? ?System.err.println("Stard Time: "+overview.getStartDate());

? ? ? ? ? ? ? ?System.err.println("End Time: "+overview.getEndDate());

?

? ? ? ? ? ? ? ?System.err.println("all methods num : "+overview.getAllTestMethods().length);

? ? ? ? ? ? ? ??

? ? ? ? ? ? ? ?//passed

? ? ? ? ? ? ? ?Passed = overview.getPassedTests().size();

? ? ? ? ? ? ? ?System.err.println("passed: " + overview.getPassedTests().size());

? ? ? ? ? ? ? ?Set<ITestResult> passedSet = overview.getPassedTests().getAllResults();

? ? ? ? ? ? ? ?for(ITestResult p : passedSet){

? ? ? ? ? ? ? ? ? ?System.err.println("class: " +p.getTestClass().getName() + " | method: "+p.getName());

? ? ? ? ? ? ? ?}

?

? ? ? ? ? ? ? ?//failed

? ? ? ? ? ? ? ?Failed = overview.getFailedTests().size();

? ? ? ? ? ? ? ?System.err.println("failed: " + overview.getFailedTests().size());

? ? ? ? ? ? ? ?Set<ITestResult> failedSet = overview.getFailedTests().getAllResults();

? ? ? ? ? ? ? ?for(ITestResult f : failedSet){

? ? ? ? ? ? ? ? ? ?System.err.println("class: " +f.getTestClass().getName()+ " | method: "+f.getName() + " | error: "+ f.getThrowable());

? ? ? ? ? ? ? ?}

? ? ? ? ? ? ? ??

? ? ? ? ? ? ? ?//skipped

? ? ? ? ? ? ? ?Skipped = overview.getSkippedTests().size();

? ? ? ? ? ? ? ?System.err.println("skipped: " + overview.getSkippedTests().size());

? ? ? ? ? ? ? ?Set<ITestResult> skippedSet = overview.getSkippedTests().getAllResults();

? ? ? ? ? ? ? ?for(ITestResult s : skippedSet){

? ? ? ? ? ? ? ? ? ?System.err.println("---- " +s.getName() );

? ? ? ? ? ? ? ? ? ?System.err.println(s.getThrowable());

? ? ? ? ? ? ? ?}

? ? ? ? ? ? ? ?System.err.println("==================================");

? ? ? ? ? ?}

? ? ? ? ? ??

? ? ? ?}

? ? String reportN = "file:///D:/TOOL/JAVAspace/JmeterTest/"+htmlReportDir+"/"+formateDate() +"index"+".html";

StringBuilder sb1 = new StringBuilder();

sb1.append("<td>"+Mobile_phone+"</td><td>"+MobileSystem+"</td><td>"+versionName+"</td><td>"+package_name+"</td>");

sb1.append("<td>"+Passed+"</td><td>"+Failed+"</td><td>"+Skipped+"</td><td>鏈接地址為: "+reportN+"");

sb1.append("<a href='").append(reportN).append("</a></td>\n");

? ?sb1.append("</table><br/>");

? ? ? ?sb1.append("</body></html>\n");

? ?String res1 = sb1.toString();


try {

Files.write((Paths.get(reportPath)), res1.getBytes("utf-8"), StandardOpenOption.APPEND);

} catch (IOException e) {

e.printStackTrace();

}

}

public static String formateDate() {

SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd-HH-mm-ss");

Calendar cal = Calendar.getInstance();

Date date = cal.getTime();

return sf.format(date);

}

}



轉載于:https://blog.51cto.com/357712148/1968679

總結

以上是生活随笔為你收集整理的testng的报告自定义笔记的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。