在unittest.testsuite中的并行测试TestCases

时间:2013-01-10 07:57:37

标签: python unit-testing selenium-webdriver test-suite saucelabs

我正在使用Python和Selenium Webdriver。我在testSuite中包含了一组testCases,我希望它们能够并行运行,而不管它们的testCase配置如何(其中一些将在本地运行,其中一些将通过saucelabs运行)。

我遇到过this page。这个应该是一个杀手,但它无法在我的单位上正确运行。我尝试运行代码,安装了twisted.python(脚本的先决条件),zope-in​​terface(twisted.python的先决条件),但是我遇到了以下错误:

Unhandled Error
Traceback (most recent call last):
  File "C:\Python27\lib\threading.py", line 524, in __bootstrap
    self.__bootstrap_inner()
  File "C:\Python27\lib\threading.py", line 551, in __bootstrap_inner
    self.run()
  File "C:\Python27\lib\threading.py", line 504, in run
    self.__target(*self.__args, **self.__kwargs)
--- <exception caught here> ---
  File "C:\Python27\lib\site-packages\twisted\python\threadpool.py", line 172, in _worker
    result = context.call(ctx, function, *args, **kwargs)
  File "C:\Python27\lib\site-packages\twisted\python\context.py", line 118, in callWithContext
    return self.currentContext().callWithContext(ctx, func, *args, **kw)
  File "C:\Python27\lib\site-packages\twisted\python\context.py", line 81, in callWithContext
    return func(*args,**kw)
exceptions.TypeError: 'NoneType' object is not callable

我无法发现问题。

也许有人已经尝试过该剧本并且有效吗?或者如果您有任何尝试过并行测试unittest.TestSuite的其他方法,请与我分享!我已经花了几周时间研究SauceLabs的推荐wd.parallel ..在saucelabs的示例并行测试代码不适用于我的单位,因为我目前正在运行2.7.3(我们的团队所需的版本),以及需要在@wd.parallel.multiplyrunTest()方法声明之上添加装饰器tearDown()不应该是一个选项,因为我正在创建一个应该可以被未来的webdriver testCases轻松使用的脚本,并且只是运行它们只需几行代码即可。

1 个答案:

答案 0 :(得分:1)

你可以看看nose,它有一个多处理插件,用于并行运行Python测试:https://nose.readthedocs.org/en/latest/plugins/multiprocess.html