The built-in Basic Report is designed to meet the needs of ordinary people. If it is not enough for you, you should develop your own one for yourself. Just for your reference, see the following post:
You want the LogViewer to show all the execution logs of a TestCase > what you call “TestSteps” > what you call “TestSubStep” > … .
I can mimic what you want to see. Please have a look at the following screenshot.
In the above “LogViewer”, you can find the names of TestSteps and TestSubSteps: “registerNewUser”, “setDate”, “checkMessage”. You enumerated these names in the original post
I suppose, this is what you want to see.
Here I attache a zip which contains a Katalon Studio project. You can reproduce the above LogViewer by executing the “Test Cases/TC1”.
peter_hevesi_wants_this.zip (38.0 KB)
The demo has a set of Test Cases.
- TC1
- modules/registerNewUser
- modules/setDate
- modules/checkMessage
These 4 names appear in the LogViewer because these are Test Cases. The LogViewer is designed to trace how Test Cases worked. …
Well, I should exchange the subject and predicate. Test Cases emits its execution log into the LogViewer; nothing else comes up in the “LogViewer” pane. The “classes” that work inside TestCases does not emit “Step Execution Logs”. Therefore you would not see the name “registerNewUser”, “setDate” and “checkMessage” if these are “classes” not “Test Cases”.
I do not think it is a good idea to make the LogViewer too much verbose because it makes tests run slow.
I did an experiment. I modified the TC1
silightly so that it calls the modules/registerNewUser
300 times repeatedly. I named it TC1_multitude
.
// TC1_multitude
import static com.kms.katalon.core.testcase.TestCaseFactory.findTestCase
import com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords as WebUI
def members = [
["Username": "Bob", "Password": ".S~2jM2PtnVd"],
["Username": "Alice", "Password": ")u/t_nW!Af6%"],
["Username": "Charlie", "Password": "D2B+J(FQWT4p"]
]
def multitude = members * 100
multitude.each { cred ->
WebUI.callTestCase(
findTestCase("modules/registerNewUser"),
["Username": cred["Username"], "Password": cred["Password"]]
)
}
When I ran this version, TC1_multitude
took 12 minutes to finish.
It runs slow because Katalon Studio is forced to display so many lines of step execution logs. Displaying thousands of lines in the LogViewer consumes significant CPU load and takes long time to finish.
I would prefer implementing the “registerNewUser”, “setDate” and “checkMessage” as classes under the Keywords
directory because classes don’t emit logs in the LogViewer at all.
I did an experiment. See the TC2 in the zip. The TC2 does calling the same scenario: call App.registerNewUser()
method 300 times. When I ran the TC2, the LogViewer was quiet enough and finished in 1 minute.
Faster program is better than slow one. Isn’t it?