【问题标题】:Is pytest-xdist thread safe with singletonpytest-xdist 线程对单例是否安全
【发布时间】:2019-05-21 09:16:01
【问题描述】:

我正在使用 Python 引导一个新的 Selenium 项目。来自 Java 世界,我曾经将 Webdriver 实例包装在 ThreadLocal 中。这样我就可以确定当我的测试与 TestNG 并行运行时,我的 Webdriver 会话将被隔离并且不会在线程之间共享。

我想在 Python 中实现相同的行为。对于单身人士,我可以使用MetaClass。要并行运行测试,我可以使用 pytest-xdist。但是你能告诉我两者是否兼容,这意味着我的会话不会混合吗?

【问题讨论】:

    标签: python webdriver singleton xdist pytest-xdist


    【解决方案1】:

    如果您希望与 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

    祝你好运!

    【讨论】:

    • 感谢您的解释。我不知道盒装的旗帜。但最后,我删除了我的单例,并使用了 Pytest 的fixture 功能,并将一个 Webdriver 实例传递给每个测试。它不太容易出错。
    猜你喜欢
    • 2015-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多