JMeter常用的4种参数化方式-操作解析
目录结构
一、JMeter参数化简介
1.JMeter参数化的概念
2.JMeter参数化方式之使用场景对比
二、JMeter参数化的4种主要方式-操作演练
1.User Parameters(用户参数)
2.CSV Data Set Config(CSV数据配置)
Configure the CSV Data Source配置项&功能
3.User Defined Variables(用户自定义变量)
4.Function Helper中的函数
一、JMeter参数化简介
1.JMeter参数化的概念
当使用JMeter进行测试时,测试数据的准备是一项重要的工作。若要求每次迭代的数据不一样时,则需进行参数化,然后从参数化的文件中来读取测试数据。
参数化:是自动化测试脚本的一种常用技巧,可将脚本中的某些输入使用参数来代替,如登录时利用GET/POST请求方式传递参数的场景,在脚本运行时指定参数的取值范围和规则。
脚本在运行时,根据需要选取不同的参数值作为输入,该方式称为数据驱动测试(Data Driven Test),而参数的取值范围被称为数据池(Data Pool)。
2.JMeter参数化方式之使用场景对比
| 参数化方式 | 使用场景 | |
| 1 | User Parameters | 适用于参数取值范围很小的时候使用 |
| 2 | CSV Data Set Config | 适用于参数取值范围较大的时候使用,该方法具有更大的灵活性 |
| 3 | User Defined Variables | 一般用于Test Plan中不需要随请求迭代的参数设置,如:Host、Port Number |
| 4 | Function Helper中的函数 | 可作为其他参数化方式的补充项,如:随机数生成的函数${__Random(,,)} |
二、JMeter参数化的4种主要方式-操作演练
1.User Parameters(用户参数)
操作路径:HTTP取样器-->Add-->Pre Processors-->User Parameters
1)添加User Parameters功能模块
2)设置参数项、参数值
3)配置HTTP取样器界面的请求参数
4)配置Thread Group
设置线程数=2,即2个虚拟用户数,对应User Parameters中设置的2个用户
5)添加View Results Tree监控执行过程
执行Run完成之后的效果:

2.CSV Data Set Config(CSV数据配置)
操作路径:HTTP取样器-->Add-->Config Element-->CSV Data Set Config
1)添加CSV Data Set Config模块
2)预先准备好要参数化的所有参数值
3)配置CSV Data来源
Configure the CSV Data Source配置项&功能:
| 配置项 | 取值or选择项 |
| Filename | 参数化文件的读取位置,即保存参数化数据的文件目录。可为绝对路径,也可为相对路径。在分布式测试中,还是利用相对路径比较方便,因为有的机器可能安装路径不一样,同时可避免脚本迁移时需要修改路径 |
| File Encoding | 编码格式,选择utf-8 |
| Variable Names | 变量名称。这里定义的变量名称,后面就可以直接用来引用了。(多个变量名称以逗号隔开,例如username,passwd。参数化文件中同样有对应的两列数据。) |
| Ignore first line | 忽略第一行数据(类似LR中第一行数据是变量名称,如果你的配置文件中为了记忆第一行也是变量名,可以选择是忽略该行数据) |
| Delimiter | Variable Names中的参数分隔符,默认为英文逗号 |
| Allow quoted data? | 是否允许引用数据,默认false。选项为“true”时对全角字符的处理可能会出现乱码 |
| Recycle on EOF? | 是否循环读取参数文件内容;因为CSV Data Set Config一次读入一行,分割后存入若干变量中交给一个线程,如果线程数超过文本的记录行数,那么可以选择从头再次读入 |
| Stop thread on EOF? | 当Recycle on EOF为False时(读取文件到结尾),停止进程,当Recycle on EOF为True时,此项无意义 |
| Sharing mode |
共享模式,即参数文件的作用域:All Threads;Current Thread Group;Current Thread |
4)设置HTTP取样器的请求参数
5)设置Thread Group的线程执行的总次数
6)执行Run,查看效果

3.User Defined Variables(用户自定义变量)
操作路径:Thread Group-->Add-->Config Element-->User Defined Variables
1)添加User Defined Variables模块
2)配置User Defined Variables界面中的参数及其值
3)配置HTTP取样器中的请求参数
此时可以联合其他参数化方式(如:User Parameters)一起检测效果
4)执行Run,观察效果

4.Function Helper中的函数
操作路径:Options-->Function Helper Dialog
1)选择参数化所需的函数,配置函数
2)配置HTTP取样器的请求参数
3)配置Thread Group
4)执行Run,查看效果
作者:Fighting_001
链接:https://www.jianshu.com/p/7cc72f97d5ab
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
作者:Fighting_001
链接:https://www.jianshu.com/p/7cc72f97d5ab
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
JMeter常用的4种参数化方式-操作解析的更多相关文章
- Jmeter学习笔记(十五)——常用的4种参数化方式
一.Jmeter参数化概念 当使用JMeter进行测试时,测试数据的准备是一项重要的工作.若要求每次迭代的数据不一样时,则需进行参数化,然后从参数化的文件中来读取测试数据. 参数化是自动化测试脚本的一 ...
- JMeter四种参数化方式
JMeter参数化是指把固定的数据动态化,这样更贴合实际的模拟用户请求,比如模拟多个不同账号.JMeter一共有四种参数化方式,分别是: CSV Data Set Config Function He ...
- 【Jmeter基础知识】Jmeter的三种参数化方式
JMeter的三种参数化方式包括: 1.用户参数 2.函数助手 3.CSV Data Set Config 一.用户参数 位置:添加-前置处理器-用户参数 操作:可添加多个变量或者参数 二.函数助手 ...
- 【温故知新】——原生js中常用的四种循环方式
一.引言 本文主要是利用一个例子,讲一下原生js中常用的四种循环方式的使用与区别: 实现效果: 在网页中弹出框输入0 网页输出“欢迎下次光临” 在网页中弹出框输入1 网页输出“查询中……” 在 ...
- Vue中常用的几种传值方式
Vue中常用的几种传值方式 1. 父传子 父传子的实现方式就是通过props属性,子组件通过props属性接收从父组件传过来的值,而父组件传值的时候使用 v-bind 将子组件中预留的变量名绑定为da ...
- jmeter的几种参数化方式
在用到jmeter工具时,无论做接口测试还是性能测试,参数化都是一个必须掌握且非常有用的知识点.参数化的使用场景,例如: 1)多个请求都是同一个ip地址,若服务器地址更换了,则脚本需要更改每个请求的i ...
- Python模块常用的几种安装方式
Python模块安装方法 一.方法1: 单文件模块直接把文件拷贝到 $python_dir/Lib 二.方法2: 多文件模块,带setup.py 下载模块包,进行解压,进入模块文件夹,执行:pytho ...
- Python模块常用的几种安装方式 【转】
转自:http://blog.chinaunix.net/uid-23500957-id-3781907.html 一. 单文件模块直接把文件拷贝到 $python_dir/Lib 二. 多文件模块, ...
- iOS开发中数组常用的五种遍历方式
随着iOS的不断发展,apple也不断推出性能更高的数组遍历方式,下面将对熟悉的五种遍历方式进行列举. 首先定义一个数组,并获取数组长度 NSArray *array=@[",]; NSIn ...
随机推荐
- 解决CRMEasy新建咨询不能保存问题
系统时间必须为24H制 将12H制修改为24H制的方法:(XP系统) 控制面板---区域和语言选项----区域选项-----自定义---时间----时间格式为:HH:mm:ss-----确定
- openCV for python的使用
一.openCV简介 OpenCV是一个开源的跨平台计算机视觉库.它轻量级而且高效——由一系列 C 函数和少量C++类构成,同时提供了Python.Ruby.MATLAB等语言的接口,实现了图像处理和 ...
- squid之------常用配置及选项
Squid常用命令 1.初始化在squid.conf里配置的cache目录 squid -z 2.对squid.conf排错,即验证squid.conf的语法和配置 squid -k parse 3. ...
- java模拟验证码生成
设计思想 第一步:随机生成字符串 第二步:用户输入字符串 第三步:将两个字符串转化为同一类型 第四步:比较是否相同 第五步:输出结果 程序流程图 程序源代码 /*2017/10/7 王翌淞 验证码模拟 ...
- buuctf@rip
exp: from pwn import * buf_start = 0x00007FFDBD754931 buf_end = 0x00007FFDBD754948 func_fun_addr= 0x ...
- tf.split( )和tf.unstack( )
import tensorflow as tf A = [[1, 2, 3], [4, 5, 6]] a0 = tf.split(A, num_or_size_splits=3, axis=1)#不改 ...
- Java 数组复制之clone方法
一.源码 public class Test1 { public static void main(String[] args) { // Student[] arrs = new Student[] ...
- Apache Flink CEP 实战
本文根据Apache Flink 实战&进阶篇系列直播课程整理而成,由哈啰出行大数据实时平台资深开发刘博分享.通过一些简单的实际例子,从概念原理,到如何使用,再到功能的扩展,希望能够给打算使用 ...
- POI操作Excel(批量导出数据/下载excel)
目录 1.第一个demo:创建工作簿,创建sheet页,创建单元格 2.创建一个时间格式的单元格 3.遍历工作簿的行和列并获取单元格内容 4.文本提取 5.单元格对齐方式 ...
- BZOJ 4399: 魔法少女LJJ 线段树合并 + 对数
Description 在森林中见过会动的树,在沙漠中见过会动的仙人掌过后,魔法少女LJJ已经觉得自己见过世界上的所有稀奇古怪的事情了LJJ感叹道“这里真是个迷人的绿色世界,空气清新.淡雅,到处散发着 ...