How to programmatically add ID rows to TestOps Test Results tab?

Getting VERY close to being able to programmatically bulk execute scripts out of folders / subfolders using Katalon Studio, now down to one (hopefully last) item - how to differentiate the individuals test script steps within Katalon Testops?

Did a forum search on this topic and only found two semi-related items, one appears to have been converted into a feature request (TestOps meaningful execution report view) and the other received and answer directing the user to the main Katalon iteration name document (Specify iteration names in data-driven testing reports | Katalon Docs), neither of which help me in my situation.

As an example, if I run the following Test Suite I receive separate ID rows for each of the steps executed:

image

However when I run the Bulk Execution script I only get one ID row for the set, even though the same two test cases were executed:

Is there any method for programmatically delineating the separate test steps when executing the bulk run script so that the log outputs for all 60+ steps aren’t all merged into one massive, hard to read log file?

Hi, anyone having experience with Bulk execution please help?

No. You can’t.

You shared your code at Method for retrieving an array-based list of all testIDs within a given folder structure in Katalon Studio? - #13 by kevin.jackey

        testCases.forEach({test_case ->
			String current_script_path = scriptsDir.relativize(test_case).toString()
			log.markWarning('current script path: ' + current_script_path)
			WebUI.callTestCase(findTestCase(current_script_path), ['user_name' : input_user_name, 'site_name' : input_site_name,'object_timeout' : input_object_timeout], FailureHandling.CONTINUE_ON_FAILURE)
		})

Here your Test Case named CallerB is calling WebUI.callTestCase keyword to include other test script named findTestCase(current_script_path).

By using the callTestCase keyword, the identity of the called scripts (such as ‘current_script_path’) will disappear. You can read the source of callTestCase keyword at katalon-studio-testing-framework/CallTestCaseKeyword.groovy at master · katalon-studio/katalon-studio-testing-framework · GitHub

LINE#58:

                TestResult result = TestCaseMain.runTestCase(calledTestCase.getTestCaseId(), new TestCaseBinding(
                        calledTestCase.getTestCaseId(), binding), flowControl, false, false)                

Here the calledTestCase variable is referred to and then is forgot. The name of the callee test case is recorded nowhere in the execution log and the report.

1 Like

That’s the way how Katalon Studio is designed. You should accept it.

If you want an “easier-to-read log file”, why not you run your 60 test cases individually?

If you want an “easier-to-read log file”, you should not use WebUI.callTestCase keyword to include 60 modules into a Test Case CallerB.

One usual approach would be; you enumerate each indivisual Test Cases in a Test Suite while specifying the names of each Test Cases explicitly. Then you will have a report with content that you would like.

If you run your test uisng Katalon Runtime Engine, you should be able to develop a Shell script that controls the way how you execute your test cases as you like.

You know you can execute a Test Suite in commandline. And recent version of KRE allows you to compose a Test Suite dynamially: you can specify which Test Case(s) to be bundled in the Test Suite runtime.

This might be of your interest.

The Dynamic test suite capability is quite interesting, however there is no note in there of data binding and how that might be applied, which is the key to my current dilemma.

There is no need to do add ID Rows in Katalon because this is a robust tools to maintain and track each and every activity.
In the testOps , you can view, there are three types of IDS are genereated,
First for Test Run ID
Second for Testsuite ID
third for Testcase ID and each testcase id contains log, step fails etc information.
So enjoy inbuild features