0

nGrinder でパフォーマンス テストを実行しています。複数のテスト スクリプトを並行して実行したいユース ケースがあります。

彼らの Web サイトでは、1 人のユーザーが一度に 1 つのテストしか実行できないと記載されています。そのため、2 人のユーザーをセットアップしましたが、同じ動作が見られます。1 つのテスト スクリプトのみが実行され、他のスクリプトは READY 状態で待機しています。

nGrinder で複数のテスト スクリプトを並行して実行する方法はありますか?

4

2 に答える 2

0

複数のテストを同時に実行できるのは、これらのテストが異なるユーザーによって実行されるように送信された場合のみです。

両方を実行するのに十分なエージェントがないと思われます。

于 2016-04-21T01:27:52.007 に答える
0

1 つのエージェントのみを使用して、多くのスクリプトを実行できます。スクリプトではなく、トランザクション グループに基づいてエージェントを分割します。

グラインダーの内部には、parallel.py があります。スクリプトを並行して実行するためにこれを使用したことがあります。

このリンクを参照してくださいhttps://github.com/DealerDotCom/grinder/blob/master/grinder/examples/parallel.py

from net.grinder.script.Grinder import grinder

scripts = ["TestScript1", "TestScript2", "TestScript3"]

モジュールがプロセス スレッドで初期化されていることを確認します。

for script in scripts: exec("import %s" % script)

def createTestRunner(script): exec("x = %s.TestRunner()" % script) return x

クラス TestRunner: def init (self): tid = グラインダー.threadNumber

    if tid % 4 == 2:
        self.testRunner = createTestRunner(scripts[1])
    elif tid % 4 == 3:
        self.testRunner = createTestRunner(scripts[2])
    else:
        self.testRunner = createTestRunner(scripts[0])

# This method is called for every run.
def __call__(self):
    self.testRunner()
于 2016-04-26T08:27:40.943 に答える