1

私はPythonとSelenium Webdriverを使用しています。testSuite 内にラップされた一連の testCases があり、testCase の構成に関係なくそれらを並行して実行したい (一部はローカルで実行し、一部はソースラボ経由で実行する)。

このページに出会いました。これはキラーになるはずですが、私のユニットでは正しく動作しません。コードを実行してみました。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. に対処するのに何週間も費やしてきました。現在 2.7.3 (私たちのチームが必要とするバージョン) を実行しているため、saucelabs の並列テスト コードの例は私のユニットでは機能しません。andメソッド宣言@wd.parallel.multiplyの上にデコレータを追加することはオプションではありません。これは、将来の webdriver testCases で簡単に使用できるスクリプトを作成しており、わずか数行のコードでそれらを実行するだけだからです。runTest()tearDown()

4

1 に答える 1

1

Pythonテストを並行して実行するためのマルチプロセッシングプラグインを備えたnoseをご覧ください:https ://nose.readthedocs.org/en/latest/plugins/multiprocess.html

于 2013-02-13T00:00:42.940 に答える