Python + Selenium:并行运行测试

时间:2014-06-24 15:30:33

标签: python selenium multiprocessing nose nosetests

如何并行运行多个测试?测试是用Python编写的,套件从jenkins开始,在酱实验室运行。

当我在詹金斯设置不同的工作并同时运行时,它们都将失败,我认为这是因为它们没有设置为以这种方式运行。

如果这是一个非常令人费解的问题我道歉,我希望有人能指出我正确的方向,我愿意提供额外的文件。

我已查看此链接http://nose.readthedocs.org/en/latest/doc_tests/test_multiprocess/multiprocess.html

我使用鼻子进行测试,但不确定我是否正确设置了它。

1 个答案:

答案 0 :(得分:0)

使用Windows和CentOS 7以及CPython 3.5.1和CPython 3.4.6在鼻子下并行运行Selenium测试时,我也遇到了麻烦。

我建议您切换到pytest并使用pytest-xdist并行运行。演示如何结合pytest,'pytest-xdist , and selenium`的github存储库可从https://github.com/danizen/python-selenium-parallel获得。

主要考虑因素是确保Selenium Webdriver实例特定于流程。我的建议是为此使用threading.local,但我的示例通过仅在类级别共享来做到这一点。

我还认为,通常需要为DevOps和开发人员提供一种方法,以根据环境变量或命令行选项指定用于创建Selenium Web驱动程序的参数。参见https://pypi.org/project/holmium.core/,了解如何执行该操作-它们可能还支持多线程,但我不确定。我不赞成don的页面对象的想法,但是许多硒栅都是自产的。参见https://github.com/ncbi/robotframework-pageobjects/,这是另一种使用Robotframework的方法。

请注意,鼻子的开发已经停止,但我想它会至少在Linux上有效,如果您使用的是CPython 2.7。

相关问题