我正在使用此ITestResult接口,并在其中使用方法。但是我遇到了一个问题,在我的splunk报告中,StartTime和EndTime以一种奇怪的格式显示,例如EndTime:1574335356061和StartTime:1574334748190。总时间TotalTime:607871。
有没有一种方法可以以正常格式获取开始时间,结束时间和上班时间。
下面是我编写的代码。
public static void postLabTestResult(ITestResult test) {
String testResult = test.getStatus()==1 ? "PASS" : "FAIL" ;
String testFailReason = test.getThrowable() != null ? test.getThrowable().toString() : "NotDefined";
SimpleDateFormat dateTimeFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
String dateTime = dateTimeFormat.format(new Date());
StringBuilder Entry = new StringBuilder();
DesktopOSType desktopOS = TestRun.getOS();
Entry.append("{\"DateTime\": " + "\"" + dateTime + "\", ");
Entry.append("\"StartTime\": " + "\"" + test.getStartMillis() + "\", ");
Entry.append("\"EndTime\": " + "\"" + test.getEndMillis() + "\", ");
Entry.append("\"TotalTime\": " + "\"" + (test.getEndMillis() - test.getStartMillis()) + "\", ");
Entry.append("\"LabTestFailReason\": " + "\"" + testFailReason.replace("\n", "").replace("\t", "") + "\"}]}");
//post to splunk
Logger.logMessage("LabTestData posted: "+ SplunkManager.postEvent(ConfigProps.SPLUNK_INDEX, Entry.toString()));
}
splunk报告显示了这样的内容
EndTime: 1574335356061
LabTestFailReason: java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
LabTestName: verifyLoginTest
LabTestResult: FAIL
StartTime: 1574334748190
TotalTime: 607871
感谢帮助
这是正确的,当您调用test.getStartMillis()时,您获取的是时间格式https://www.epochconverter.com。您需要将其转换为“人类”日期格式。
类似:
Entry.append.startedTime = new Date(result.getStartMillis());