zebrunner / carina-webdriver

Apache License 2.0
7 stars 10 forks source link

introduce new infinite loop for driver requests for the cases when too many requests expected #181

Closed vdelendik closed 11 months ago

vdelendik commented 11 months ago

for the device farms etc we can't utilize all resources optimally and have to play with number og agents and threads to find more or less optimal combination.

As result we have or huge queue in the CI or too many requests and cancelled driver sessions due to the timeout. Default timeout was 4m, increasing to 10m made it much more slower. because for not well written cases or when we go onto the negative flow we wait too much before raising the exception.

Goal: find a way to utilize parallel=methods everywhere to start asap all tests (the same as we use to do in Zebrunner Selenium Grid where unlimited number of threads available).

This approach should be enabled by end user using any specific config param (something about init_retry_count or even something new).

When such approach enabled we have to utilize as much as possible thread_count=100, 200 etc and don't utilize inifinite init_retry_count without writing any negative message to the console log at all (maybe only in debug about iteration)

akamarouski commented 11 months ago

Added WebDriverConfiguration -> addIgnoredNewSessionErrorMessages method. This method allows to add error messages that should be ignored during new session request. When such error detected, we will retry new_session command (with random pause between 30..70 s).

dhreben commented 11 months ago

Verified.