使用 LoadRunner/Performance 中心测试网络服务

Testing webservice with LoadRunner/Performance Center

我在 Action.C 中的 action() 中有以下代码 如图所示,我已将用户名参数化在用户注册中。我将 parameter type 保留为 Iteration Number,将 text format 保留为 user%d(例如 user1 等)。在 runtime settings 中,我将 number of iterations 保持为 500。当我从 vusergenerator 在本地 运行 它工作正常时,它创建了 500 个用户(user1、user2 等),然后停止。但是,当我通过选择 30 个 vuser 和 2 个负载生成器从性能中心 运行 它时,脚本出现异常。喜欢它 运行s 直到我手动停止 运行 并且它一直给我错误,比如它试图创建应用程序中不允许的相同用户,所以应用程序抛出用户已经存在的错误。 有人可以指导我如何解决这个问题吗? 理想情况下,迭代次数应该由所有 30 个 vuser(线程)全局获取,不是吗?这样每个线程都会创建唯一的用户,直到 500 次迭代。

Action()
{
    web_service_call("StepName=registerUser_91",
        "SOAPMethod=ComRegisterSvc|ComRegisterSvcBinding|registerUser",
        "ResponseParam=response",
        "Service=ComRegisterSvc",
        "URL=http://company.com/registersvc
        "ExpectedResponse=SoapResult",
        "Snapshot=t1446039143.inf",
        BEGIN_ARGUMENTS,
        "xml:userContextDetails="
            "<userContextDetails>"
                "<userNameId>"
                    "<userName>{DynamicUser}</userName>"
                "</userNameId>"
                 "<firstName>{DynamicUser}</firstName>"
                 "<lastName>{DynamicUser}</lastName>"
            "</userContextDetails>",
        END_ARGUMENTS,
        BEGIN_RESULT,
        END_RESULT,
        LAST);

    return 0;
}

每个 VUser 的迭代次数是唯一的 only.Here 在你的情况下你是 运行 30 个用户显然迭代次数将被重复。

您可以使用参数类型 "unique number" 来解决重复问题。