jmeter性能测试2-模拟多用户登录
jmeter性能测试2-模拟多用户登录
在录制完测试脚本后,参数都是静态的,如何模拟N个用户登录
1、创建一个CSV文件,里面有两列,用户名和密码。这些用户名和密码要系统里面实际已经存在了。可以创建任意多个。如下:
线程组->添加->配置元件->CSV Data Set Config
创建完后,选择存放用户名密码的csv文件,变量名:username,password。这样就会把csv文件的第一列读取到变量:username,第二列读取到:password
后面所有需要动态赋值的地方,使用${username} 和 ${password} 代替即可。语法就是这样。
线程组里面线程数量是多少,就会读取CSV文件里面的多少行出来
比如:我们录制的登录请求是:/api/org/user/login
修改参数为动态:直接把原来的静态数据用${变量名称}代替即可
- 获取登录返回结果
很多时候,我们需要获取请求的返回结果,作为参数进行下一步请求。登录:就是获取登录成功后的token,然后添加到每个请求头。
这里以返回结果是json格式为例:
HTTP请求->添加->后置处理器->JSON提取器
意思就是把返回结果,的$.data放到变量admintoken里面,后面用到的地方直接${admintoke}
$表示根对象。语法就是这样。如果分多级可以这样写:$.data.user.userId
然后。后续所有需要登录验证的请求头上都改成动态获取的token,如下:
这个地方如果录制了很多http请求,可以用文本编辑器直接打开对应的.jmx文件,批量替换会快很多。
这样就完成了登录。
当然,得先知道验证登录的机制,才能编写出脚本。否则都不知道怎么参数化
调试取样器
在上面,我们创建了很多变量。为了验证变量值是否正确。我们可以添加一个:调试取样器,将jMeter变量设置为True。这样就看到了每次变量的值