0

我们正在使用 nGrinder 进行性能测试。我们有希望并行运行多个测试脚本的用例。

在他们的网站上说,一个用户一次只能运行一个测试。所以我们设置了两个用户,但我看到了相同的行为:只有一个测试脚本正在运行,其他的正在等待处于 READY 状态。

nGrinder 有什么方法可以并行运行多个测试脚本吗?

4

2 回答 2

0

只有当这些测试提交给不同的用户执行时,如果自由代理有足够的时间运行这两个测试,则只有可能同时运行多个测试。

我怀疑您没有足够的代理来运行两者。

于 2016-04-21T01:27:52.007 回答
0

您可以仅使用一个代理运行多个脚本。我会根据事务组而不是脚本来划分代理。

在磨床里面有parallel.py。我之前只使用过它来并行运行脚本。

请参阅此链接https://github.com/DealerDotCom/grinder/blob/master/grinder/examples/parallel.py

from net.grinder.script.Grinder import grinder

脚本 = ["TestScript1", "TestScript2", "TestScript3"]

确保模块在进程线程中初始化。

对于脚本中的脚本: exec("import %s" % script)

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

类 TestRunner: def init (self): tid =grinder.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 回答