一、背景
有时候需要自己观察某些接口在一定并发下处理能力如果,那么Jmeter是一个很好的工具。
我所需要测试的接口是http接口,通过postman就可以发起请求,但postman单笔请求太慢,需要持续给接口一定压力,那么需要用Jmeter来起多个线程去并发请求。
二、如果用Jemeter构造Http请求
1、创建一个组程组,设置线程并发数和循环次数
注意:这个线程组下创建的所有组件 都 是顺序执行的,比如先执行JDBC Connection Configuration,然后再执行参数member_id…
2、通过查询数据库字段作为动态参数传入
需要查询数据库表的字段作为参数传入,所以需要先创建一个数据库链接
2.1、创建一个数据库链接
将驱动包放到目录指定目录下:lib\ext
2.2、创建一个Jdbc request
2.3、创建一个“查看结构树”验证上面sql是否能正常执行
点击执行就可以看到sql执行结果。
注意:如果组件放置的顺序不对,可以直接拖动组件到任意位置中。
2.4、创建一个循环控制器,来取sql中取到的字段
2.5、在循环控制器下 ,创建一个计数器,用来设置循环中变量引用
2.6、在循环控制器中 ,创建一个http请求
注意:是在循环控制器中 创建一个Http请求,否则取不到计数器中的变量,并且只有在循环中 创建请求:表求,一个线程 中循环取 member_id。如果在循环控制外 创建http请求,那么 每个线程只取第1条Member_id,只有换线程 才会取第2条member_id。
用v表达式 取member_id 变量:
${__V(mid_${index})}
3、通过csv文件来设置入参
也可构造文件来设置入参:
http报文头中,通过 ${card_no}、${card_name}
来取值。
如果有些变量是加加密的,那么可以通过在http请求组件中,创建一个bean shell预处理器来 将csv中的变量 解密。