如何将getStartMillis转换为Selenium中的正常时间格式(通过jenkins将结果从Selenium代码发布到Splunk)

问题描述 投票:0回答:1

我正在使用此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

感谢帮助

selenium jenkins splunk
1个回答
0
投票

这是正确的,当您调用test.getStartMillis()时,您获取的是时间格式https://www.epochconverter.com。您需要将其转换为“人类”日期格式。

类似:

Entry.append.startedTime = new Date(result.getStartMillis());
© www.soinside.com 2019 - 2024. All rights reserved.