Jmeter之常用参数化方式

参数化就是将脚本中的某些输入使用参数来代替, 在脚本运行时指定参数的取值范围和规则, 脚本在运行的时候可根据需要

选取不同的参数值作为输入。这种方式在自动化中称为数据驱动测试,参数的取值范围被称为数据池(Data Pool)

准备测试脚本

1.添加线程组,参数设置如下图:

2.线程组下添加配置元件-HTTP请求默认值:协议输入http   服务器名称或IP输入httpbin.org    端口号输入: 80

参数化:前置处理器-用户参数

1. 线程组下添加前置处理器-用户参数

添加变量usernamepassword和对应的三组值

2. 线程组下添加取样器-HTTP请求

方法选择GET, 路径输入/get

参数:username => 关联用户参数中的变量${username}

参数:password => 关联用户参数中的变量${password}

3. HTTP请求添加查看结果树,运行脚本

4. 通过查看结果树查看请求,三组请求的参数分别为变量usernamepassword的三组值

参数化:配置元件-用户定义的变量

1. 线程组下添加配置元件-用户定义的变量

添加变量useruser_var和变量pwdpwd_var

2. 线程组下添加取样器-HTTP请求

方法选择GET, 路径输入/get

参数:username => 关联用户参数中的变量${user}

参数:password => 关联用户参数中的变量${pwd}

3. HTTP请求添加查看结果树,运行脚本

4. 通过查看结果树查看请求,参数usernamepassword的请求值分别为user_varpwd_var

注:配置元件-用户定义的变量 中定义的参数值在测试计划执行过程中不能发生取值的改变,因此

一般仅将测试计划中不需要随迭代发生改变的参数(只取一次的参数)设置在此处

参数化:配置元件-CSV 数据文件设置

1. 添加测试数据

在电脑上新建data.dat文档, 记录三组数据-用户名、密码, 用半角英文逗号分隔

2. 线程组下添加配置元件-CSV 数据文件设置

文件名:指保存信息的文件目录,可以相对或者绝对路径

文件编码:选择utf-8

变量名称:对应参数文件每列的变量名,用于后面引用的标识符

忽略首行:我们参数化文件,第一行是测试数据,即不需要忽略首行,所以选择false

分隔符:与参数文件保持一致即可,参数文件使用逗号,我们这里就填逗号,参数文件使用

是否允许带引号:是否允许cvs数据被引号包裹, 选择false

遇到文件结束符再次循环?:这里选择True,假如我们有3行数据,但是有4个线程,第4个线程会继续使用第一行数据循环登录

遇到文件结束符停止线程?:这里选择False,不结束

线程共享模式:4种模式,所有线程,当前线程组,当前线程,自定义

3. 线程组下添加取样器-HTTP请求

方法选择GET, 路径输入/get

参数:username => 关联用户参数中的变量${user_csv}

参数:password => 关联用户参数中的变量${pwd_csv}

4. HTTP请求添加查看结果树,运行脚本

5. 通过查看结果树查看请求,三组请求的参数分别为变量user_csvpwd_csv的三组值

参数化:函数助手_CSVRead

1. 线程组下添加函数助手-CSVRead

用于获取值的CSV文件 | *别名: 取值的文件,写绝对路径

CSV文件列号| next| *alias:文件起始列号,0代表第一列,1代表第二列,以此类推

拷贝并粘贴函数字符串:参数化后的参数,复制就可以使用了,比如这里, “${__CSVRead(G:\参数化\data.dat, 0}”代表我的用

户名, “${__CSVRead(G:\参数化\data.dat, 1)}”代表密码

3. 线程组下添加取样器-HTTP请求

方法选择GET, 路径输入/get

参数:username => 关联用户参数中的变量 ${__CSVRead(G:\参数化\data.dat,0}

参数:password => 关联用户参数中的变量 ${__CSVRead(G:\参数化\data.dat,1}

4. HTTP请求添加查看结果树,运行脚本

5. 通过查看结果树查看请求,三组请求的参数分别为变量${__CSVRead(G:\参数化\data.dat,0}${__CSVRead(G:\参数化

\data.dat,1}的三组值

发布了59 篇原创文章 · 获赞 19 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_43507959/article/details/103358024