Context: we currently run our project in 'PARALLELL' mode, with most suites set to 'SEQUENTIAL'. This works fine on our Jenkins box, running against physical application servers. We're moving to the cloud in general, and currently hoping to spec the servers there to be smaller than their equivalent real-world servers. When we have been running with the project set to SEQUENTIAL, we can get the tests to pass, but they obviously take a long time. When we run in PARALLELL we can only get them to complete at all if we set the application server to be as large as their real-world equivalent.
My problem: I assumed threadpool.max being set in testrunner.bat would help reduce how much we hit the application server. Each time I reduce it to a threadpool.max value that I think the server could survive on, the testrunner process completely hangs and never recovers.
Thanks in advance for any help
Solved! Go to Solution.
Re 1 - I want to run all the enabled tests (~1,700) in the project, so tags isn't the solution for me here (unless I ran in sequential groups of tags over many runs I guess)
Re 3 - thanks, that's useful to have confirmed. Sequential at the project level seems to mean 'sequentially run each suite'. I'm unclear if the suite's settings then take over (eg: run Suite #1 in parallel, and Suite #2 in sequence, and Suite #3 in parallel)?
I guess.. given the answer to #3 here... my question changes a bit: is there a way to run less suites in Parallel than what appears to be 'all' of them? eg: a way to run only 2 suites concurrently, instead of say... 50+
Thanks for your help, yeah with the number of test suites we have the UI actually just crashes if we try to run at the Project level 'in parallel'. We have spent a couple days trying to get max HTTP thread counts to be restricted so we only run one test suite at a time, but have been unsuccessful in applying this to testrunner.bat without everything crashing.
Might just have to leave this as unresolved or resolve as 'feature request'
Thanks for your help
Apologies Richie, I mistyped there.
My settled 'ask' (and I think you're right, I need to raise this as a support ticket with Ready API) is: can we be provided a way to set:
- project to run 'Parallel'
- suites to run 'Sequential'
- but restrict how many suites are run at any one time
eg: I would like to have 60 test suites run in parallel, but only run 3 test suites simultaneously
It doesn't appear possible to use the HTTP maxthreadcount variable to manipulate this. If there's a way to achieve this goal, it's unclear to me.
If I wanted to restrict parallelism to 3 tests maximum at any one time, it appears my options are:
- restructure the project of ~60 test suites to be ~3 test suites with lots and lots of tests
- restructure the tests into 3 projects of 1 test suite each, and run those 3 projects in 3 testrunner.bat processes
- pay for a bigger cloud-based environment that can handle ~60 tests from ~60 test suites all kicking off simultaneously
- advise against ever running 'all the tests' and instead get testers to run sequentially for subsets of the tests, using Tags as a way of creating those subsets
This is a serious issue for our longterm usage of the Ready API product. Without a way to restrict parallelism, we basically are being asked to restructure our approach to test management, or come up with execution-time workarounds to avoid DOSing out environments.
But yeah, sounds like a support case is the better way forwards from here
Thanks team. I have marked Rao's solution as 'the solution' as it is broadly what I was informed by SmartBear too. I don't consider re-shaping an entire test project at run-time to be a solution though. This thread has really become documentation of a feature request for both testrunner.bat and the UI of the Ready API app itself.
There can be another solutions available even without splitting the project.
Here it is:
- One can write a program and handle the threading, thread count and pass required suite for each thread. and create batch script like testrunner for easy command line execution.
Please refer sample code from the documentation
- If one is using Apache-Ant tool for executing the tests, one can use the above program (as custom activity as well).