我在Action.C的action()中有以下代码,如图所示,我已经在用户注册中参数化了用户名。我将parameter type
保留为Iteration Number
,将text format
保留为user%d
(例如,user1等)。在runtime settings
中,我将number of iterations
保留为500。当我从vusergenerator本地运行时,它可以正常工作,它将创建500个用户(user1,user2等),然后停止。但是,当我从Performance Center通过选择30个vuser和2个Load Generator来运行它时,脚本行为不当。就像它一直运行到我手动停止运行一样,它不断给我带来错误,就像它尝试创建应用程序中不允许的同一用户一样,因此应用程序抛出用户已经存在的错误。有人可以指导我如何解决此问题吗?理想情况下,所有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唯一。在这种情况下,您正在与30个用户一起运行,显然迭代编号将重复。
您可以将参数类型用作“唯一数字”来解决重复项。