目录

  • 一、JMeter参数化简介
    • 1.JMeter参数化的概念
    • 2.JMeter参数化方式之使用场景对比
  • 二、JMeter参数化的4种主要方式-操作演练
    • 1.User Parameters(用户参数)
      • 1)添加User Parameters功能模块
      • 2)设置参数项、参数值
      • 3)配置HTTP取样器界面的请求参数
      • 4)配置Thread Group
      • 5)添加View Results Tree监控执行过程
    • 2.CSV Data Set Config(CSV数据配置)
      • 1)添加CSV Data Set Config模块
      • 2)预先准备好要参数化的所有参数值
      • 3)配置CSV Data来源
      • 4)设置HTTP取样器的请求参数
      • 5)设置Thread Group的线程执行的总次数
      • 6)执行Run,查看效果
    • 3.User Defined Variables(用户自定义变量)
      • 1)添加User Defined Variables模块
      • 2)配置User Defined Variables界面中的参数及其值
      • 3)配置HTTP取样器中的请求参数
      • 4)执行Run,观察效果
    • 4.Function Helper中的函数
      • 1)选择参数化所需的函数,配置函数
      • 2)配置HTTP取样器的请求参数
      • 3)配置Thread Group
      • 4)执行Run,查看效果

一、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,查看效果

JMeter常用的4种参数化方式-操作解析相关推荐

  1. pcb 理论阻值、 过孔_超实用!PCB设计中过孔常用的6种处理方式

    原标题:超实用!PCB设计中过孔常用的6种处理方式 小伙伴们我们又见面啦! 上一次的" 神仙过孔 ",还没过瘾吧? <整齐的过孔固然符合审美,但是却...> 今天的小课 ...

  2. 【温故知新】——原生js中常用的四种循环方式

    一.引言 本文主要是利用一个例子,讲一下原生js中常用的四种循环方式的使用与区别: 实现效果: 在网页中弹出框输入0   网页输出"欢迎下次光临" 在网页中弹出框输入1   网页输 ...

  3. Elasticsearch学习第二篇--常用的几种搜索方式

    Elasticsearch学习第二篇--常用的几种搜索方式 一.Query String Search 查询全部 条件查询 二.Query DSL 查询全部 条件查询 三.Query Filter 四 ...

  4. spring入门之Spring 常用的三种注入方式

    Spring 常用的三种注入方式 Spring 通过 DI(依赖注入)实现 IOC(控制反转),常用的注入方式主要有三种:构造方法注入,set 方法注入,基于注解的注入. 一.通过构造方法注入 先简单 ...

  5. 常用的几种布局方式---Flex 布局(垂直居中展示)

    常用的几种布局方式---Flex 布局(垂直居中展示) 前言 一.默认使用静态布局 二.flex布局 1.父元素container 1.1.display:flex 1.2.flex-directio ...

  6. vpwm的控制变频_变频器常用的几种控制方式

    变频器常用的几种控制方式 变频器常用的几种控制方式 变频调速技术就是现代电力传动技术的重要发展方向 , 而作为变频调速系 统的核心-变频器的性能也越来越成为调速性能优劣的决定因素 , 除了变频器本 身 ...

  7. 三相llc 华为_华为电源常用的3种输入输出方式

    UPS不间断电源应用领域越来越广泛,UPS不间断电源产品也不断的更新,UPS不间断电源应用领域不同,地区不同,我们的市电输入也不同,UPS不间断电源根据不同的使用领域环境,设计出应对不同领域市电输入, ...

  8. 分享一下目前市场上常用的八种推广方式,希望对你有帮助。

    游戏推广的核心本质是什么?就是新增玩家,我来给大家分享一下目前市场上常用的八种推广方式,希望对你有帮助. 一呢,做工会,作为一个工会的老大来说呢,它是有领导效应,而且公会都有公会群,将来号召大家一起换 ...

  9. Map接口常用的几种遍历方式与小练习

    Map接口常用的几种遍历方式与小练习 keyset:获取所有的键,我们可以通过键获取值 entryset:获取所有的键值对 values:获取所有的值:此方法只能获取到value,无法获取key pa ...

  10. python创建单例模式_Python单例模式的四种创建方式实例解析

    单例模式 单例模式(Singleton Pattern)是一种常用的软件设计模式,该模式的主要目的是确保某一个类只有一个实例存在.当你希望在整个系统中,某个类只能出现一个实例时,单例对象就能派上用场. ...

最新文章

  1. 计算机书籍-语音识别技术实践
  2. Oracle 升级10.2.0.5.4 OPatch 报错Patch 12419392 Optional component(s) missing 解决方法
  3. ABAP:为Table Control创建Context Menu
  4. Python学习笔记——time模块和datatime模块【时间处理】
  5. Python运算符与编码
  6. 判断ROS版本号-ubuntu20.04安装ROS_noetic-修改镜像源
  7. apicloud - addEventListener 接收不到 sendEvent 的解决方法
  8. java web 21_JavaWeb——day21
  9. idea怎么调试jsp页面_一文学会JSP
  10. 30岁前成功的12条黄金法则
  11. Changing the IP Address of a Domain Controller
  12. Atitit.跨语言数据库db  api兼容性 jdbc odbc ado oledb 增强方案
  13. 科来网络分析系统简介
  14. db2的节点编目和数据库编目
  15. 判断入射满射c语言编码,例4,判断下列函数是否是满射、单射、双射。.PDF
  16. Ubuntu的共享文件夹
  17. node获取客户端ip
  18. 阿里云弹性计算技术专家樊毅伟:云上成本优化实践
  19. Windows Server 2016 ServU-v6.30
  20. SQL Server AlwaysOn读写分离配置

热门文章

  1. iframe src 不加载页面_iframe和frame的区别是什么?iframe和frame的区别总结
  2. 2.3.3 Zero Sum 和为零(DFS)
  3. 题目448-寻找最大数
  4. ORB-SLAM3配置安装及运行---Ubuntu20.04(2021年)
  5. vue脚手架实现选项卡_从零一步步实现一个前端脚手架
  6. java当前时间长整数值_在Java中获取当前年份的整数值
  7. 现场活动画面组织控制及抽奖的使用疑难问题汇编
  8. php 不同数据类型比较
  9. 更加全面的ASP.NET AJAX(Atlas)学习、参考资源(英文)
  10. Win7下使用VC6.0的注意事项