我正在使用Python引导一个新的Selenium项目。来自Java世界,我曾经将Webdriver实例包装在ThreadLocal中。这样,我可以确定当我的测试与TestNG并行运行时,我的Webdriver会话将被隔离并且不会在线程之间共享。
我想在Python中实现相同的行为。对于单例,我可以使用MetaClass。要在并行运行测试,我可以使用pytest-xdist。但是您能告诉我两者是否兼容,这意味着我的会话不会混杂在一起?
答案 0 :(得分:0)
如果您希望与xdist具有并行性,并确保一切都很好,请使用--boxed标志,如下面的示例所示:
# Execute tests in [N] forked subprocess. Won't work on windows
pytest --dist=each --tx [N]*popen//python=python --boxed
或者,您也可以使用Socker服务器执行代码,甚至使用ssh。在此处查看有关该主题的更多信息:https://stackoverflow.com/a/56390281/2067976。
祝你好运!