Является ли 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.
Удачи!