Open derdualist opened 1 year ago
In my experience, sharing chrome binaries across threads was a huge pain. I found it easiest to set a maximum amount of chrome binaries to download, based on the expected load and storage limitations. I cache the paths when an install is actually used. when a thread gets locked out of one chrome binary path it just tries the next until it hits one that isn't being used with a thread.
Trying to reproduce this issue with this repository- https://github.com/david-engelmann/selenium_sadness.
i'm using pytest session fixture to download driver before the tests will start so there is no issue with multiple tests writing into the same file, because it's already there when they run
@pytest.fixture(scope="session", autouse=True)
def suite(request):
ChromeDriverManager().install()
at first I opened this issue with the Selenium project, but it seems to be related with the webdriver-manager module. https://github.com/SeleniumHQ/selenium/issues/12751
As far as I can tell there are 2 problems here, that come together:
Maybe after confirmation, this can be split into a bug and a feature ticket.
I created a gist, that can reproduce the issue:
parallel_selenium_tests.py
output:
The output
The Internet Broken Images
comes from the test case in the one succeeding process.Used versions
Content of cache
The correct driver key is inside the cache:
Output of browser version command from
os_manager.py
: