1

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

我遇到过这个页面。这应该是一个杀手,但它无法在我的单位上正常运行。我尝试运行代码,安装了 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.multiply上方添加装饰器不应该是一个选项,因为我正在创建一个脚本,该脚本应该可供未来的 webdriver testCases 轻松使用,并且只需几行代码即可运行它们。runTest()tearDown()

4

1 回答 1

1

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

于 2013-02-13T00:00:42.940 回答