Jmemter

一、背景

有时候需要自己观察某些接口在一定并发下处理能力如果,那么Jmeter是一个很好的工具。
我所需要测试的接口是http接口,通过postman就可以发起请求,但postman单笔请求太慢,需要持续给接口一定压力,那么需要用Jmeter来起多个线程去并发请求。

二、如果用Jemeter构造Http请求

1、创建一个组程组,设置线程并发数和循环次数

注意:这个线程组下创建的所有组件 都 是顺序执行的,比如先执行JDBC Connection Configuration,然后再执行参数member_id…
Jmemter_第1张图片

2、通过查询数据库字段作为动态参数传入

需要查询数据库表的字段作为参数传入,所以需要先创建一个数据库链接

2.1、创建一个数据库链接

将驱动包放到目录指定目录下:lib\ext
Jmemter_第2张图片
Jmemter_第3张图片

2.2、创建一个Jdbc request

Jmemter_第4张图片

2.3、创建一个“查看结构树”验证上面sql是否能正常执行

点击执行就可以看到sql执行结果。
注意:如果组件放置的顺序不对,可以直接拖动组件到任意位置中。
在这里插入图片描述
Jmemter_第5张图片

2.4、创建一个循环控制器,来取sql中取到的字段

Jmemter_第6张图片

2.5、在循环控制器下 ,创建一个计数器,用来设置循环中变量引用

Jmemter_第7张图片

2.6、在循环控制器中 ,创建一个http请求

注意:是在循环控制器中 创建一个Http请求,否则取不到计数器中的变量,并且只有在循环中 创建请求:表求,一个线程 中循环取 member_id。如果在循环控制外 创建http请求,那么 每个线程只取第1条Member_id,只有换线程 才会取第2条member_id。

用v表达式 取member_id 变量:
${__V(mid_${index})}

3、通过csv文件来设置入参

也可构造文件来设置入参:
Jmemter_第8张图片
http报文头中,通过 ${card_no}、${card_name}来取值。
如果有些变量是加加密的,那么可以通过在http请求组件中,创建一个bean shell预处理器来 将csv中的变量 解密。
Jmemter_第9张图片

你可能感兴趣的:(IDEA常用,java)