@软件测试

【JMeter】参数化方法(二)

2017-03-01  本文已影响1613人  太阳当空照我要上学校

文/amy

前面 【JMeter】参数化方法(一)已简单介绍关于参数化的几种常用方法,

关于如下配置以上几种参数方法,具体方法如下:

1. 测试计划面板中定义的变量, 例如:数据库配置信息、IP 地址 可使用全局变量

测试面板- 添加变量

2. 【配置元件/ 用户自定义的变量】

添加- 用户自定义的变量 添加自定义变量

3.【配置元件/ CSV Data Set Config】  

(1) 确定所需要准备变量值的参数,例: houseId, userId, premisesPermitAddr, agentId

HTTP请求- 参数

(2) 准备数据- csv 文件

每一列变量对应的参数分别为: houseId, userId, premisesPermitAddr, agentId

此处有3行数据,每一列表示一种参数,每一行表示一组参数。

若有进程是循序3次,则第1次执行脚本是参数值是调用第一行数据,第2次执行脚本参数值是调用第二行数据

csv 文件

(3) jmeter 中添加 配置文件,可在线程组或sampler下添加,作用域取决于配合文件添加的位置

添加 配置文件

(3) 配置文件

Filename: csv 文件路径,可用绝对路径或相对路径,为方便管理可用相对路径

File encoding:文件编码,gb2312

Variable Names:CSV文件中对应的变量值名称,每一列用","(英文逗号)隔开

注:以上3个信息需手动配置,下面的信息可不用重新配置

Delimiter(use'\t' for tab): 每一列使用 ,(英文逗号)相隔

Allow quoted data?: 是否允许引用数据?

Recycle on EOF?: 是否循环?

Stop thread on EOF: 文件结束后是否结束进程? 

Sharing mode:共享模式,即作用或为: 所有进程、当前进程组、当前进程、自定义

                                                                   

添加 配置文件信息

调用时可直接使用"${houseId}, ${userId}, ${premisesPermitAddr}, ${agentId}" 在对用的参数上

4.【前置处理器/ 用户参数】

添加- 用户参数 定义变量

如图,username和password 分别有2组不同的取值,通过界面右下方的四个按钮,可以向列表中增加参数,增加参数值,删除参数和删除参数值。

"每次迭代更新一次"选项控制参数值取值的变化规则,如果选中该选项,则参数的值在每个迭代中保持不变,在新的迭代开始时取下一个值。如果取消该选项,则参数值在每个在其作用域内的sampler发出请求时去下一个可用值。

如果参数的取值范围很小,可使用用户参数比较合适;如果参数的取值范围很大,建议使用 csv data set config 方法

5.【后置处理器/ 正则表达式提取器】

添加- 正则表达式提取式

栗子:将响应数据里的"code":"1" 中的 1 用正则表达式提取出来

提取value 值 "1" 正则表达式提取方式

调用时直接使用"${codestate}"

6. JDBC 请求中将结果保存为变量输出

SQL 语句 对应结果

若将此SQL运行结果中的 id 值保存为变量值,以便作为后面请求的参数值,具体步骤如下:

(1) JDBC 请求中- Variable names 填写需要保存为变量的 字段名称,此处需要提取出 id

填写需要保存为变量的字段

(2) 添加一个Debug PostProcessor 调试器可查看结果

Debug PostProcessor 结果值

id_#=1 表示 id 值有1个,id_1= 58856 表示这个值为 58856, 后面调用时 可使用"${id_1}"

7.【选项/ 函数助手对话框】

选项- 函数助手对话框 列出了系统给出的函数

栗子:_CVSRead 函数是从外部读取参数,可以从一个文件中读取多个参数

步骤:

1. 新建一个data.txt 文件,username 和 password 参数值 如下:

test1,1111

test2,2222

test3,3333

步骤

其中,CSV file to get values from | * alias: 表示要读取的文件路径,为绝对路径

CSV 文件列号| next|*alias:从第几行开始读取,注意 第一行是 0,

调用时直接填写生成的字符串,则

 username 为 ${__CSVRead(d:\data.txt ,0)}, 

password 为${__CSVRead(d:\data.txt ,1)}

以后 若有不足,欢迎大家指出 ~~~

谢谢~~

上一篇 下一篇

猜你喜欢

热点阅读