我有ThreadGroup1执行登录操作,它使用CSV数据集配置从CSV文件获取凭据,并将用户名和密码保存在两个不同的变量中:
${__setProperty(USERNAMEGlobal, ${USERNAME})}
${__setProperty(PASSWORDGlobal, ${PASSWORD})}
现在在ThreadGroup2中我使用这些凭据:
${__property()}
它适用于单个用户,但如果我尝试多个用户(请求),则最后一个值会覆盖先前的所有值,而ThreadGroup2仅接收定义的最后一个凭据。
我希望将所有凭据逐个传递给ThreadGroup2,然后ThreadGroup2中的请求应分别根据所有这些凭据工作。
如何做到这一点?
PS:我定义了加速期= 1,用户数= 3,循环= 1。
答案 0 :(得分:0)
有一些选择:
将它们放到不同的属性中:
${__setProperty(USERNAMEGlobal1, ${USERNAME1})}
${__setProperty(USERNAMEGlobal2, ${USERNAME2})}
etc.
答案 1 :(得分:0)
看起来您可以将所有用户名 - 密码对保存到ThreadGroup1中的文件csv文件中,然后通过例如在ThreadGroup2中重复使用它们。阅读CSV Data Set Config。
答案 2 :(得分:0)
我想知道你是否真的需要两个独立的ThreadGroup?
您似乎只需要一个ThreadGroup,您应该在其中执行登录操作,然后在 vars 中保存用户/通行证参数,而不是道具。 Vars是线程本地的,因此一个线程的值不会覆盖另一个线程的值。
您可以在脚本中设置变量:vars.put("var_name", "var_value")
,然后像${var_name}
一样使用它。 Another选项设置变量。