问题:
有些系统中一个帐号只允许一个客户端(一个人用)在线(只有一个Session),就是同一个帐号两个人登陆,后一个人会踢掉前一个人。
JMeter做负载工具时,我们要模拟大量用户就可能要用到参数化,JMeter目前是无力解决上面问题的,那如何是好?
解决办法:
1.每个用户一个参数文件,愚哭了(XXX)
2.用户名做成 user_001这种字符加序号的形式,序号在运行时自动获取,有不同功能及数据权限时不好控制(XXX)
3.自己扩展让JMeter支持Unique方式取值。
下图是扩展后的CSV Data Set Config 元件,目前是基于2.11版本扩展的。
请使用这个地址下载:
http://download.csdn.net/detail/selingchen/9376593
不友好的是,这个地址扣积分,为什么呢?因为这是一本书的配套工具包,3个积分而已
下载后解压放在%JMETER_HOME%\lib\ext目录,%JMETER_HOME%是你自己的JMeter的根目录。
使用说明:
1.Unique选项选择true后,Recycle on EOF、Recycle on EOF 、Stop thread on EOF 三个选项屏蔽。
Unique默认为按用户分块取参数,取完循环,每个用户取的参数不重复。
比如5个参 数,3个线程,那么是如下取值:
线程一 参数1、参数2
线程二 参数3、参数4
线程三 参数5
参数文件第一行默认是标题行【不会当着参数取此行数据】
2.Sharing mode 只支持current thread group,其它方式没有进行测试(设计时就没考虑,大家可以试一试)。
另外不支持分布式运行时的Unique(分块)参数化,JMeter不提供这种参数化的方式是有原因的,自己想。