Jmeter使用(二、参数化)

2.常用的参数化方法
参数化定义:根据需求,动态获取数据,并进行赋值的过程
Jmeter中参数化常用方式:
CSV Data Set Config: CSV数据控件
User Defined Variables: 用户定义的变量
User Variables: 用户参数
Jmeter中参数的定义:参数化的变量用${变量名}表示

1)使用CSV文件进行参数化
CSV Data Set Config是一种能够从外部读取数据的组件
适用范围:需要大量测试数据的场景
(1)实现步骤:
①新建测试计划
②新建线程组
③在测试计划中添加CSV Data Set Config
④在线程组中添加http请求
⑤添加查看结果树组件
(2)实操:
①准备csv数据文件,文件要保存为csv格式

②将csv数据文件转为UTF-8编码
数据文件中文会识别错误,需要转码。使用Nodepad++打开csv文件->转为UTF-8编码->保存退出。

③添加、配置CSV数据文件设置

④在HTTP请求中,使用${变量名}代替参数,进行参数化

⑤查看结果树中的RequestBody,检查参数化后传出的实际数据

⑥查看执行结果

⑦通过设置线程组中的线程数或循环数,可以遍历csv文件中的所有数据。数据按文件中的顺序依次获取。

2)用户参数(User Variables)
(1)适用范围:适用于参数取值范围很小的时候
(2)实操:
①HTTP请求右击->添加->前置处理器->用户参数

②在用户参数中添加数据
添加变量:添加变量名称
添加用户:添加测试数据,一个用户就是一组测试数据

③在HTTP请求中,使用${变量名}代替参数,进行参数化

④查询结果


⑤要使用多个用户数据,在线程组中要设置响应的线程数。用户参数中添加了3个用户的数据,线程组中的线程数要≥3,才能使用所有数据。

3)用户自定义的变量
(1)适用范围:适用于常量配置。例如:数据库地址、环境地址
(2)实操:
①添加用户变量
单击测试计划->添加用户定义的变量

如果数据量较多,也可以在配置元件中单独增加。两者用法完全相同

②在HTTP请求中,使用${变量名}代替参数,进行参数化。
凡是可以输入的地方都可以使用这个变量

③查询结果

4)使用mysql数据库进行参数化(利用计数器)
(1)场景:取数据库的数据,查询黑白名单
数据库内容:

(2)步骤:
①在测试计划中导入数据库驱动jar包
测试计划->添加mysql-connector-java-5.1.49.jar包
下载地址:https://dev.mysql.com/downloads/connector/j/5.1.html

②添加:配置元件 -> JDBC Connection configuration

数据库的格式,可以点击帮助按钮在线查看

③添加:取样器 -> JDBC Request


④读取数据库:

⑤添加调试取样器

通过调试取样器可以发现,Jmeter使用Variable names给所有数据添加了名称:

⑥添加配置元件 -> 计数器,用于数据顺序执行

配置计数器

⑦在HTTP请求中使用参数嵌套:${_V(user${num})}、${_V(telphone${num})}
user和telphone与JDBC Request中配置的变量名保持一致

⑧查看结果,请求成功

⑨通过设置线程组中的线程数和循环次数,可以遍历数据库中的所有数据。

⑩小技巧:使用navicat中的命令行查看mysql版本
select version() from dual

原文地址:https://www.cnblogs.com/bdzxh/p/14040508.html