JMeter笔记三:常见的Jmeter参数化方式
参数化是Jmeter最常用的功能之一,下面整理了几种常见的参数化方式,都比较简单。
在实际应用中,还是需要结合实际应用场景来决定到底使用哪一种方法或者结合使用哪几种方法。
本文主要介绍了以下4种常见的参数化方法:
- 用户定义的变量
- CSV数据文件设置
- 函数助手
- 从数据库中获取数据
一、用户定义的变量
1.右键,添加-配置元件-用户定义的变量
2.添加变量名称和变量值,并保存
3.在引用的地方用${ip}来代替,如下图:
二、CSV数据文件设置
1.测试文件准备
文件名称:name&password.csv
文件路径:D:/Software/apache-jmeter-5.1.1/bin/testcase/forLearning/name&password.csv
文件内容:
2.右键添加—配置元件—CSV数据文件设置
3.配置csv文件
文件名:填写文件路径
文件编码:填写文件编码
变量名称:如果只有一个变量,这里填写变量名称即可;如果存在多个变量,变量之间以逗号分隔
忽略首行:如果需要从第一行开始取数据,选择False;如果忽略第一行,从第二行开始取数据,选择True
是否允许带引号:如果选择True,csv文件中有引号,则变量引用后也带引号;如果选择False,csv文件中有引号,但是变量实际引用后会自动去掉引号。
遇到文件结束符再次循环:这个比较好理解,如果选择True,文件结束后继续从头开始循环取用数据
遇到文件结束符停止线程:如果选择False,第一次取文件结束后不停止线程
线程共享模式:所有线程/当前线程/当前线程组,这个也比较好理解,设置CSV数据文件的作用域。
4.引用变量
在请求体中引用变量,格式:${变量名},如下图:
三、函数助手
1._CSVRead
a.准备好测试文件
文件名称:name&password.csv
文件路径:D:/Software/apache-jmeter-5.1.1/bin/testcase/forLearning/name&password.csv
文件内容:
b.打开函数助手:Tools—函数助手对话框(Ctrl+Shift+F1),选择_CSVRead
c.填写参数值文件名和列号,如下图
d.引用变量
在函数助手中直接复制字符串粘贴到请求体中即可实现。
2._Random可以生成一个区间内的随机数。
3._RandomDate/_RandomString等方式生成随机数,可以根据实际需求选择合适的函数
四、从数据库中获取数据
(Jmeter如何连接数据库详见:https://www.cnblogs.com/daydayup-lin/p/11936749.html)
1.先下载Mysql驱动,放到Jmeter的lib目录下
2.然后右键添加-配置元件-JDBC Connection Configuration
3.添加JDBC Request取样器
右键,添加-取样器-JDBC Request,填写 Variable Name和 SQL Query
这里注意,我在username和password之间加了“@@@”,便于后面分隔用户名和密码
查看JDBC Request结果:
4.在JDBC Request上右键,添加-后置处理器-正则表达式提取器
5.填写正则提取器参数
引用名称:比如user_info
正则表达式:(.*)@@@(.*)
模板:$1$$2$$
匹配数字:填0或不填,表示随机读取,如果填正整数,如1,则不同虚拟用户或循环固定读取某行数据。
使用时,user_info_g1即为用户名,user_info_g2即为对应用户名的密码;
6.使用正则提取器提取出来的值,如下图: