在nGrinder

时间:2016-04-20 09:49:19

标签: performance-testing grinder

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

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

nGrinder中是否有任何方法可以并行运行多个测试脚本?

2 个答案:

答案 0 :(得分:0)

如果自由代理足以运行两个测试,那么当这些测试被提交给不同用户执行时,只能同时运行多个测试。

我怀疑你没有足够的代理来同时运行这两个代理。

答案 1 :(得分:0)

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

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

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

from net.grinder.script.Grinder import grinder

scripts = [“TestScript1”,“TestScript2”,“TestScript3”]

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

脚本中的脚本:exec(“import%s”%script)

def createTestRunner(script):     exec(“x =%s.TestRunner()”%script)     返回x

类TestRunner:     def init (个体经营):         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()