Является ли pytest-xdist потокобезопасным с помощью singleton?

Я загружаю новый проект Selenium с использованием Python. Исходя из мира Java, я использовал, чтобы обернуть экземпляр Webdriver в ThreadLocal. Таким образом, я уверен, что когда мои тесты выполняются параллельно с TestNG, мои сеансы Webdriver будут изолированы и не будут разделены между потоками.

Я хочу реализовать то же поведение в Python. Для синглтона я могу использовать MetaClass. Для запуска теста в paralel я могу использовать pytest-xdist. Но вы можете сказать мне, если оба совместимы, то есть моя сессия не будет смешана?

0 ответов

Если вы хотите иметь параллелизм с xdist и быть уверенным, что все в порядке с точки зрения изоляции, используйте флаг --boxed, как в примере ниже:

# Execute tests in [N] forked subprocess. Won't work on windows
pytest --dist=each --tx [N]*popen//python=python --boxed

Или в качестве альтернативы вы можете использовать сокер-сервер для выполнения кода или даже ssh. См. Дополнительную информацию по этой теме здесь: /questions/48303478/kak-vyipolnit-yunit-testyi-parallelno-s-pytest/48303492#48303492.

Удачи!

Другие вопросы по тегам