Running tests parallelly using selenium in CBT on iphone devices - need help troubleshooting
I had some success running tests in Selenium using CBT to test on mobile safari on iphone 12. However while test scenarios run fairly consistently in CBT when ran individually, running them parallelly does NOT work - most tests fail with one of the two errors which occur before the scenario is entered:
- Error #1: A exception with a null response was thrown sending an HTTP request to the remote WebDriver server for URL http://hub.crossbrowsertesting.com/wd/hub/session. The status of the exception was KeepAliveFailure, and the message was: The underlying connection was closed: A connection that was expected to be kept alive was closed by the server. -> The underlying connection was closed: A connection that was expected to be kept alive was closed by the server. -> Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host. -> An existing connection was forcibly closed by the remote host....
- Error #2: Unexpected error. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
I have 5 tests being span simultaneously on CBT. The failures usually start after the first 3-6 tests. Its still unclear to me if these tests run parallelly in one device or if multiple devices are being used. Any help help troubleshooting these errors will be appreciated. Thanks in advance!
As for which devices are being used for the parallel sessions, this is going to be determined within your scripts. Each session that is started will require the specific capabilities defined in your script, so you will have full control over which devices are being utilized.
For the errors, this is commonly seen most when hitting the maximum parallel limit of your subscription. We have a 6 minutes timeout, which matches the timeframe listed in your post.
For instance, if you have 4 max parallel, you may launch 8 tests, but only the first 4 will receive a device session. The rest will queue until the first batch of tests end. If this time period is greater than 6 minutes your queued tests will fail.
If you can/want to post your script to see how you are are launching these tests I can take a look and provide insight on devices.
In the meantime I would make sure you are not going over your max parallel limit beyond 6 minutes.
Solutions Engineer @ SmartBear