Can we get test case Start time, execution duration and end time from code?

Do I get above details after execution from code?

Have a look at the following sample code:

1 Like

Thank’s for the answer.
But i’m looking for some katalon inbuilt keywords like ‘TestCaseContext’ interface for getting all information about test case, can you suggest something like that.

I do not think there is such inbuilt API published and well-known, that allows you to get access to the start time,execution duration, end time.


Let me inform you, please find
<YourProjectDir>/Reports/<Test Suite Name>/yyyymmdd_hhMMss/yyyymmdd_hhMMss.csv
file on your PC.

For example, the following is an example of mine:

Suite/Test/Step Name,Browser,Description,Tag,Start time,End time,Duration,Status
chronos_capture,Firefox 66.0,,,2019-05-31 11:12:39,2019-05-31 11:13:08,29.062s,INCOMPLETE
,,,,,,,
Test Cases/CURA/visitSite,Firefox 66.0,,,2019-05-31 11:12:40,2019-05-31 11:13:07,26.152s,PASSED
Start listener action : beforeTestCase,Firefox 66.0,,,2019-05-31 11:12:41,2019-05-31 11:12:41,0.119s,PASSED
mr = internal.GlobalVariable[MATERIAL_REPOSITORY.getName()],Firefox 66.0,,,2019-05-31 11:12:41,2019-05-31 11:12:41,0.002s,PASSED
assert mr != null,Firefox 66.0,,,2019-05-31 11:12:41,2019-05-31 11:12:41,0.002s,PASSED
"openBrowser("""")",Firefox 66.0,,,2019-05-31 11:12:41,2019-05-31 11:12:46,4.982s,PASSED
"setViewPortSize(1024, 768)",Firefox 66.0,,,2019-05-31 11:12:46,2019-05-31 11:12:46,0.038s,PASSED
driver = getWebDriver(),Firefox 66.0,,,2019-05-31 11:12:46,2019-05-31 11:12:46,0.009s,PASSED
assert Hostname != null,Firefox 66.0,,,2019-05-31 11:12:46,2019-05-31 11:12:46,0.001s,PASSED
url = new java.net.URL(http://$GlobalVariable.Hostname/),Firefox 66.0,,,2019-05-31 11:12:46,2019-05-31 11:12:46,0.001s,PASSED
navigateToUrl(url.toExternalForm()),Firefox 66.0,,,2019-05-31 11:12:46,2019-05-31 11:12:49,2.729s,PASSED
"verifyElementPresent(findTestObject(""CURA/Page_Homepage/a_Make Appointment""), 10, STOP_ON_FAILURE)",Firefox 66.0,,,2019-05-31 11:12:49,2019-05-31 11:12:49,0.084s,PASSED
delay(1),Firefox 66.0,,,2019-05-31 11:12:49,2019-05-31 11:12:50,1.013s,PASSED
"png1 = mr.resolveScreenshotPathByURLPathComponents(internal.GlobalVariable[CURRENT_TESTCASE_ID.getName()], url, 0, ""home"")",Firefox 66.0,,,2019-05-31 11:12:50,2019-05-31 11:12:50,0.073s,PASSED
"com.kazurayam.ksbackyard.ScreenshotDriver.takeEntirePage(driver, png1.toFile(), 500)",Firefox 66.0,,,2019-05-31 11:12:50,2019-05-31 11:12:52,2.231s,PASSED
"callTestCase(findTestCase(""CURA/Login""), [""Username"":Username, ""Password"":Password], STOP_ON_FAILURE)",Firefox 66.0,,,2019-05-31 11:12:52,2019-05-31 11:12:56,4.011s,PASSED
"selectOptionByValue(findTestObject(""CURA/Page_Appointment/select_Tokyo CURA Healthcare C""), ""Hongkong CURA Healthcare Center"", true)",Firefox 66.0,,,2019-05-31 11:12:56,2019-05-31 11:12:56,0.345s,PASSED
"click(findTestObject(""CURA/Page_Appointment/input_hospital_readmission""))",Firefox 66.0,,,2019-05-31 11:12:56,2019-05-31 11:12:57,0.230s,PASSED
"click(findTestObject(""CURA/Page_Appointment/input_programs""))",Firefox 66.0,,,2019-05-31 11:12:57,2019-05-31 11:12:57,0.232s,PASSED
visitDate = now().plusWeeks(1),Firefox 66.0,,,2019-05-31 11:12:57,2019-05-31 11:12:57,0.007s,PASSED
"visitDateStr = ofPattern(""dd/MM/yyyy"").format(visitDate)",Firefox 66.0,,,2019-05-31 11:12:57,2019-05-31 11:12:57,0.002s,PASSED
"setText(findTestObject(""CURA/Page_Appointment/input_visit_date""), visitDateStr)",Firefox 66.0,,,2019-05-31 11:12:57,2019-05-31 11:12:57,0.144s,PASSED
"sendKeys(findTestObject(""CURA/Page_Appointment/input_visit_date""), Keys.chord(ENTER))",Firefox 66.0,,,2019-05-31 11:12:57,2019-05-31 11:12:57,0.040s,PASSED
"setText(findTestObject(""CURA/Page_Appointment/textarea_comment""), ""This is a comment"")",Firefox 66.0,,,2019-05-31 11:12:57,2019-05-31 11:12:57,0.064s,PASSED
"png3 = mr.resolveScreenshotPathByURLPathComponents(internal.GlobalVariable[CURRENT_TESTCASE_ID.getName()], new java.net.URL(com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords.getUrl()), 0)",Firefox 66.0,,,2019-05-31 11:12:57,2019-05-31 11:12:57,0.031s,PASSED
"com.kazurayam.ksbackyard.ScreenshotDriver.takeEntirePage(driver, png3.toFile(), 500)",Firefox 66.0,,,2019-05-31 11:12:57,2019-05-31 11:13:00,2.438s,PASSED
"click(findTestObject(""CURA/Page_Appointment/button_Book Appointment""))",Firefox 66.0,,,2019-05-31 11:13:00,2019-05-31 11:13:00,0.303s,PASSED
"verifyElementPresent(findTestObject(""CURA/Page_AppointmentConfirmation/a_Go to Homepage""), 10, STOP_ON_FAILURE)",Firefox 66.0,,,2019-05-31 11:13:00,2019-05-31 11:13:00,0.019s,PASSED
"facility = getText(findTestObject(""CURA/Page_AppointmentConfirmation/p_facility""))",Firefox 66.0,,,2019-05-31 11:13:00,2019-05-31 11:13:00,0.035s,PASSED
"verifyMatch(facility, ""^(Tokyo|Hongkong|Seoul) CURA Healthcare Center$"", true)",Firefox 66.0,,,2019-05-31 11:13:00,2019-05-31 11:13:00,0.006s,PASSED
"readmission = getText(findTestObject(""CURA/Page_AppointmentConfirmation/p_hospital_readmission""))",Firefox 66.0,,,2019-05-31 11:13:00,2019-05-31 11:13:00,0.019s,PASSED
"verifyMatch(readmission, ""(Yes|No)"", true)",Firefox 66.0,,,2019-05-31 11:13:00,2019-05-31 11:13:00,0.003s,PASSED
"program = getText(findTestObject(""CURA/Page_AppointmentConfirmation/p_program""))",Firefox 66.0,,,2019-05-31 11:13:00,2019-05-31 11:13:00,0.019s,PASSED
"verifyMatch(program, ""(Medicare|Medicaid|None)"", true)",Firefox 66.0,,,2019-05-31 11:13:00,2019-05-31 11:13:00,0.002s,PASSED
"visitDateStr2 = getText(findTestObject(""CURA/Page_AppointmentConfirmation/p_visit_date""))",Firefox 66.0,,,2019-05-31 11:13:00,2019-05-31 11:13:00,0.020s,PASSED
"verifyMatch(visitDateStr2, ""[0-9]{2}/[0-9]{2}/[0-9]{4}"", true, CONTINUE_ON_FAILURE)",Firefox 66.0,,,2019-05-31 11:13:00,2019-05-31 11:13:00,0.002s,PASSED
"parsed = ofPattern(""dd/MM/uuuu"").parse(visitDateStr2)",Firefox 66.0,,,2019-05-31 11:13:00,2019-05-31 11:13:00,0.000s,PASSED
visitDate2 = from(parsed).atStartOfDay(),Firefox 66.0,,,2019-05-31 11:13:00,2019-05-31 11:13:00,0.007s,PASSED
isAfterNow = visitDate2.isAfter(LocalDateTime.now()),Firefox 66.0,,,2019-05-31 11:13:00,2019-05-31 11:13:00,0.001s,PASSED
"verifyEqual(isAfterNow, true, CONTINUE_ON_FAILURE)",Firefox 66.0,,,2019-05-31 11:13:00,2019-05-31 11:13:00,0.005s,PASSED
"comment = getText(findTestObject(""CURA/Page_AppointmentConfirmation/p_comment""))",Firefox 66.0,,,2019-05-31 11:13:00,2019-05-31 11:13:00,0.020s,PASSED
if (comment != null),Firefox 66.0,,,2019-05-31 11:13:00,2019-05-31 11:13:00,0.006s,PASSED
"png4 = mr.resolveScreenshotPathByURLPathComponents(internal.GlobalVariable[CURRENT_TESTCASE_ID.getName()], new java.net.URL(com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords.getUrl()), 0)",Firefox 66.0,,,2019-05-31 11:13:00,2019-05-31 11:13:00,0.023s,PASSED
"com.kazurayam.ksbackyard.ScreenshotDriver.takeEntirePage(driver, png4.toFile(), 500)",Firefox 66.0,,,2019-05-31 11:13:00,2019-05-31 11:13:03,2.365s,PASSED
"click(findTestObject(""CURA/Page_AppointmentConfirmation/a_Go to Homepage""))",Firefox 66.0,,,2019-05-31 11:13:03,2019-05-31 11:13:03,0.280s,PASSED
"verifyElementPresent(findTestObject(""CURA/Page_Homepage/a_Make Appointment""), 10, STOP_ON_FAILURE)",Firefox 66.0,,,2019-05-31 11:13:03,2019-05-31 11:13:03,0.015s,PASSED
"png5 = mr.resolveScreenshotPathByURLPathComponents(internal.GlobalVariable[CURRENT_TESTCASE_ID.getName()], new java.net.URL(com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords.getUrl()), 0, ""revisited"")",Firefox 66.0,,,2019-05-31 11:13:03,2019-05-31 11:13:03,0.025s,PASSED
"com.kazurayam.ksbackyard.ScreenshotDriver.takeEntirePage(driver, png5.toFile(), 500)",Firefox 66.0,,,2019-05-31 11:13:03,2019-05-31 11:13:05,2.413s,PASSED
closeBrowser(),Firefox 66.0,,,2019-05-31 11:13:05,2019-05-31 11:13:07,1.377s,PASSED
,,,,,,,
Test Cases/VT/backupCurrentTSuiteResult,Firefox 66.0,,,2019-05-31 11:13:07,2019-05-31 11:13:07,0.556s,PASSED
Start listener action : beforeTestCase,Firefox 66.0,,,2019-05-31 11:13:07,2019-05-31 11:13:07,0.035s,PASSED
mr = internal.GlobalVariable[MATERIAL_REPOSITORY.getName()],Firefox 66.0,,,2019-05-31 11:13:07,2019-05-31 11:13:07,0.001s,PASSED
ms = internal.GlobalVariable[MATERIAL_STORAGE.getName()],Firefox 66.0,,,2019-05-31 11:13:07,2019-05-31 11:13:07,0.000s,PASSED
comment(mr.getCurrentTestSuiteId(): $mr.getCurrentTestSuiteId()),Firefox 66.0,,,2019-05-31 11:13:07,2019-05-31 11:13:07,0.003s,PASSED
"currentTSRI = TSuiteResultId.newInstance(new com.kazurayam.materials.TSuiteName(mr.getCurrentTestSuiteId()), TSuiteTimestamp.newInstance(mr.getCurrentTestSuiteTimestamp()))",Firefox 66.0,,,2019-05-31 11:13:07,2019-05-31 11:13:07,0.001s,PASSED
"count = ms.backup(mr, currentTSRI)",Firefox 66.0,,,2019-05-31 11:13:07,2019-05-31 11:13:07,0.406s,PASSED
comment(copied $count files from $mr.getBaseDir().toString() to $ms.getBaseDir().toString()),Firefox 66.0,,,2019-05-31 11:13:07,2019-05-31 11:13:07,0.002s,PASSED
,,,,,,,
Test Cases/CURA/restorePrevisousScreenshots,Firefox 66.0,,,2019-05-31 11:13:07,2019-05-31 11:13:08,0.665s,PASSED
Start listener action : beforeTestCase,Firefox 66.0,,,2019-05-31 11:13:07,2019-05-31 11:13:07,0.024s,PASSED
"callTestCase(findTestCase(""Test Cases/VT/restorePreviousTSuiteResult""), [""STRATEGY"":""last""])",Firefox 66.0,,,2019-05-31 11:13:07,2019-05-31 11:13:08,0.608s,PASSED

This file seems to contain what you want to know.

I think this format of file was newly introduced since KS v6.1.0. In this version it seems that KS team had made significant design change in the internal Katalon API for Reporting. I suppose the the API since v6.1.0 may support immediate access to the data about start time, duration, end time. But KS team has not published any description about the new Reporting API since v6.1.0. Therefore I have no more idea.