Jmeter模拟真实用户并发测试

jmeter模拟真实用户并发测试两种方法

通过正则的方式获取用户token信息
1、测试计划 --> 线程(用户), 创建setUp线程组,先启动的线程组,登陆获取用户token信息
2、添加HTTP请求,填写用户登陆接口参数,在HTTP请求添加**“正则表达式提取器,符号记得都是英文符号”**

其正则表达式为:“token”:"(.+?)"

Jmeter模拟真实用户并发测试_第1张图片
3、在取样器,添加BeanShell取样器,设置token为全局变量
Jmeter模拟真实用户并发测试_第2张图片

 ${__setProperty(newtoken,${token},)}

4、在测试计划,添加HTTP信息头管理器,获取用户登陆的token信息

${__property(newtoken)}

Jmeter模拟真实用户并发测试_第3张图片

获取到用户token的信息,接下来就是更改用户参数,来模拟获取真实用户信息

方法1:通过保存用户token,然后拿出来传给并发的接口
1、在HTTP请求添加后置处理器BeanShell处理器
2、添加下面的代码,这是把获取到的多用户token保存的指定的路径的csv文件里面,这样后面后启动的tear’Down线程组直接调用拿出来就可以了
Jmeter模拟真实用户并发测试_第4张图片

FileWriter fstream = new FileWriter(“D:\\Download\\tokens.csv”,true);
BufferedWriter out = new BufferedWriter(fstream);
out.write(vars.get(“name”)+","+vars.get(“token”)+",");
out.write(System.getProperty(“line.separator”));
out.close();
fstream.close();

3、然后添加csv文件,在测试计划添加CSV数据文件设置(也就是保存用户token的csv文件)
Jmeter模拟真实用户并发测试_第5张图片
这个时候,要是获取到的token保存到csv文件里面了,就可以把setUp线程组禁用,不需要该线程组了

4、添加tearDown线程组(把setUp线程组禁用了,也可以用setUp线程组),比如参加活动接口,直接添加进来就可以了

5、变量放在测试计划下面是全局可以使用的

方法2:直接填写用户信息登陆,对压测的接口去并发

1、基于第一种方法,在测试计划添加前置处理器 - 用户参数记得勾选每次迭代更新一次
2、参数,填写用户登陆参数
Jmeter模拟真实用户并发测试_第6张图片
3、在登陆线程组的HTTP请求,对应填入用户参数别名,其它不需要改,填写的几个用户信息,就需要设置多少个线程数
4、然后在tearDown线程组设置并发线程数就可以了,可以并发到填写的用户信息在执行。

注意:第二种方式,用户定义变量多了不好维护,第一种csv文件会好维护一些。具体看实际应用场景来定

你可能感兴趣的:(测试工具的使用,性能,多线程,jmeter)