I have ever tried to develop a Katalon project that runs multiple test scripts in multiple threads in parallel. See TestClosure --- executing Groovy Closures in multi-Threads in a Test Case simultaneously . I found it damn hard to write and debug codes that run properly in threads.
And I found that my “parallel mode” on a single machine did not run any faster than a sequential execution due to hardware resource contentions (instantiating WebDriver and Appium is heavy enough). I was disappointed with it.
So I thought that
- Any parallel execution on a single machine is no useful.
- Parallelism by threads or by processes — it doesn’t really matter; the hardware resource matters
If I want my WebDriver/Appium-based tests to run faster, then I have to employ multiple machines, split the total workload into chunks and distribute them onto the machines.
I am sure it is achievable using Jenkins and Selenium Grid. But I don’t know if any of Katalon products offers a similar functionality: distributing a bunch of WebDriver tests onto multiple machines.