Jmeter之数据参数化方法汇总

一、什么是参数化

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

常用的Jmeter的参数化请求,包括以下几种方式:

  • 用户参数
  • 用户定义的变量
  • BeanShell Sampler
  • CSV Data Set Config
  • 随机函数
  • 关联获取参数

二、用户参数

操作:添加 -> 前置处理器 -> 用户参数
调用方式:${stu_name}

在这里插入图片描述
在这里插入图片描述

设置用户参数的名称和值:

在这里插入图片描述

http请求中引用变量:
在这里插入图片描述

调用请求,成功获取到值:

在这里插入图片描述

注意:
该参数值在测试计划执行过程中不能发生取值的改变,因此一般取值范围很小的可以做参数化,放在前置处理器下。例如:用户账号、用户密码。

三、用户定义的变量

操作:添加 -> 配置元件 -> 用户定义的变量
调用方式:${stu_name}
在这里插入图片描述

在这里插入图片描述

​设置自定义变量的值:

在这里插入图片描述

http请求中引用变量:

在这里插入图片描述

调用请求,成功获取到值:

在这里插入图片描述

注意:

  • 一般可以适用于在测试计划中不经常变化的参数设置,如host、端口号、url等。而且用户自定义变量是在配置元件中的。
  • 与用户参数不一样的地方,用户参数作用仅限于当前请求的线程组下,用户定义的变量是作用于当前执行计划下。

四、BeanShell Sampler

操作:添加 -> Sampler -> BeanShell Sampler -> 在Script中按以下格式设置参数
调用方式:${defineCount}

在这里插入图片描述

BeanShell Sampler添加在http请求前面:

在这里插入图片描述

BeanShell Sampler脚本内容为获取随机UUID,并赋值给变量defineCount:

在这里插入图片描述

http请求中引用变量defineCount:

在这里插入图片描述

调用请求,成功获取到值:

在这里插入图片描述

注意:

  • BeanShell可执行标准Java语句和表达式,另外包括一些脚本命令和语法。通过在Jmeter内置了变量,可直接通过这些变量与jmeter交互;
  • Beanshell sampler添加顺序需要在http请求之前,否则无法取到值;

五、CSV Data Set Config

操作:添加 -> 配置元件 -> CSV Data Set Config
调用方式:${defineCount}

在这里插入图片描述

在这里插入图片描述

CSV Data Set Config​各项配置含义如下图所示:

在这里插入图片描述

数据源文本内容​如下:

在这里插入图片描述

Http请求引用参数​变量如下:

在这里插入图片描述

​调用请求,成功获取到值:

在这里插入图片描述

注意:

  • 适合参数范围比较大的时候,可以方便用户随时修改参数数据;
  • 如果需要使用多个参数的话,多个参数名需在Variable
    Names一栏以定义的符号(一般为逗号),进行分割,当然对应的csv文件数据源,每一行也要以相应的格式进行分隔;

六、随机函数

操作:菜单栏上选择选项 -> 函数助手对话框 -> 配置参数并复制生成随机字符串 -> 粘贴字符串到目标位置;
调用方式:${__RandomString(12345abcde,)}

在这里插入图片描述

配置参数并拷贝生成的函数字符串​:

在这里插入图片描述

用户自定义变量设置值为上面生成的随机函数字符串:

在这里插入图片描述

Http请求引用参数​变量如下:

在这里插入图片描述

​调用请求,成功获取到值:

在这里插入图片描述

七、关联获取参数

操作:添加->后置处理器->Json提取器
调用方式:${cookie}

在这里插入图片描述

目标是提取login请求的响应数据中的sign的值:

在这里插入图片描述

添加Json提取器:

在这里插入图片描述

Json Path表达式填写如下:

在这里插入图片描述

添加Http cookie管理器,设置cookie的值为上面提取到的变量${cookie}的值:

在这里插入图片描述

查看最终的结果:

在这里插入图片描述

注意:
通过正则表达式提取下Json返回结果字段,比如:用户登录时,获取返回结果token,作为下一个请求的参数,这里要注意取参数的顺序,否则可能会出现还没提取出参数的值,其他请求却已经引用了参数的情况。

=====================================================================================

以上就是本次的全部内容,如果对你有帮助,欢迎关注我的微信公众号:程序员杨叔,各类文章、测试资料都会第一时间在上面发布,持续分享全栈测试知识干货,你的支持就是作者更新最大的动力~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/254465.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

jmeter参数化

目录 1、用户参数(User Variables) 2、用户定义的变量(User Defined Variables) 3、CSV 数据文件设置(CSV Data Set Config) 4、借用函数生成参数(以CSVRead函数为例) 5、正则表…

Jmeter参数化设置的5种方法

jmeter在进行测试的时候,每次迭代的数据当不一样的时候,需要进行参数化,从参数化的文件中来读取测试数据,那么,jmeter如何参数化呢?今天脚本之家小编就给大家分享Jmeter参数化设置的5种方法。 jmeter如何参…

Jmeter参数化方式

Jmeter参数化方式 一、用户参数二、用户自定义变量三、CSV数据文件 Jmeter参数化方式主要分为用户参数、用户自定义变量、CSV数据文件。 一、用户参数 该参数化方式适用于参数取值范围较小的情况,如较少用户登录系统。 1、添加用户参数功能模块 2、设置参数变量、…

性能测试(二)—— JMeter元件作用域和执行顺序、JMeter示例、JMeter参数化

目录 一、JMeter元件作用域和执行顺序 1. 元件的基本介绍 2. 元件作用域 3. 元件执行顺序 二、JMeter使用示例 1. JMeter第一个案例 2. 重点组件 2.1 线程组 2.2 HTTP请求 2.3 查看结果树 三、JMeter参数化 1. JMeter参数化常用方式 2. 用户定义的变量 2.1 场景 …

Java性能权威指南-总结2

Java性能权威指南-总结2 性能测试方法原则2:理解批处理流逝时间、吞吐量和响应时间批处理流逝时间吞吐量测试 原则3:用统计方法应对性能的变化 性能测试方法 原则2:理解批处理流逝时间、吞吐量和响应时间 性能测试的第2条原则是多角度审视应用性能。应该测量哪个指标取决于对…

springboot整合kafka入门

kafka基本概念 producer: 生产者,负责发布消息到kafka cluster(kafka集群)中。生产者可以是web前端产生的page view,或者是服务器日志,系统CPU、memory等。 consumer: 消费者,每个consumer属于一个特定的c…

Linux系统下imx6ull QT编程—— C++类和对象(三)

Linux QT编程 文章目录 Linux QT编程一、类和对象 一、类和对象 C 在 C 语言的基础上增加了面向对象编程,C 支持面向对象程序设计。类是 C 的核心特性,通常被称为用户定义的类型。类用于指定对象的形式,它包含了数据表示法和用于处理数据的方…

PHP + 小程序开发过程

前言 在此之前,我也曾经写过一篇用Go语言开发的过程总结!当然这次也不例外,同样记录下过程,方便后续再次接触时,重新拾起会轻松点。 我特意地看了一下博客文章的记录,从项目的启动时间(2017-1…

php开发微信小程序教程,从零开始开发微信小程序步骤(三)

前面我们和大家分享了如何创建一个新的页面和设置页面的标题,这一章我们来聊聊底部导航栏是如何实现的。即点击底部的导航,会实现不同对应页面之间的切换。我们先来看个我们要实现的底部导航栏的效果图:(三个导航图标示例,微信小程序最多能加5个)。 1. 图标准备 阿里图标库…

小程序中商家入驻提醒、新订单提醒

1. 应用场景 ThinkPHP技术QQ群: 828567087 用户在小程序商城购买下单之后,商家如何能及时收到新订单提醒,进行发货处理呢? 用户在小程序中申请入驻商家后,平台管理员如何能及时收到入驻申请通知,进行及时审核处理呢&…

微信小程序与PHP数据交互

微信js源码 Page({onLoad: function () {var that thiswx.request({//要交互页面的地址url: http://localhost/php/index.php/Wxwater/Test/test,data:{pid:1 //data里边使我们要传递给PHP的数据},method: GET,headers: {Content-Type: application/json},success(res) {cons…

PHP后台-微信小程序发送订阅消息(详细)

微信小程序订阅消息文档 步骤一:获取订阅消息模板 ID 在微信公众平台手动配置获取模板 ID: 登录 https://mp.weixin.qq.com 获取模板,如果没有合适的模板,可以申请添加新模板,审核通过后可使用。 在公告模板库找到要…

微擎小程序PHP,微擎配置小程序教程

微擎小程序通用配置图文教程,教会你怎么配置微擎小程序! 1、去源码下载微擎小程序,这里以官网小程序为列,教大家如何配置微擎小程序。 2、将对应的官网小程序后端文件夹hc_step上传到微擎的addons目录下 3、在微擎安装好官网小程序…

php小程序二维码获取生成图片分享

第一步:获取小程序二维码 代码如下(采用tp5框架): namespace app\api\controller; use think\Controller; use think\Db; use think\Config; use app\api\controller\Common;class Code extends Common{/*** [getXcxCode 获取微信小程序二维…

微信小程序后台php实现数据get传递

1:利用phpstudy搭建本地服务器,端口设置为88 2:访问http://localhost:88/phpmyadmin/,在test数据库中新建一个表li,表中添加一个字段name,增加两行数据来进行测试 3:网站www根目录下新建一个wxa…

PHP 管理小程序审核发布

目录 前言一、申请小程序、开发平台账号二、使用步骤 1.获取token2.发布小程序总结 前言 随着微信文档功能越来越多 ,大多数数据越来越容易便捷,本文就介绍小程序在后台的操作管理 提示:以下是本篇文章正文内容,下面案例可供参考…

php实现微信小程序消息通知

接入消息通知指引地址:https://mp.weixin.qq.com/debug/wxadoc/dev/api/custommsg/callback_help.html 文档地址:https://mp.weixin.qq.com/debug/wxadoc/dev/api/notice.html#%E6%A8%A1%E7%89%88%E6%B6%88%E6%81%AF%E7%AE%A1%E7%90%86 看完这两个地址…

crmeb 多商户小程序配置

一、小程序下载并提交审核 下载微信小程序代码 位置:平台后台>应用>小程序 1 首先需要填写这里的小程序信息 然后在这里就可以下载,如果未开启直播要选择,否则会无法使用 2、下载编译后的小程序代码 没有配置小程序的需要先配置小程序…

微信小程序中国标准时间注册错误

在运行微信小程序的时候出现下图错误: 解决办法,在控制台当中输入openVendor() 会打开文件。如下图:删除圈中的文件,重启工具即可:

微信公众号支付报错:当前页面的url未注册

问题描述 公众号支付报错:“当前页面的URL未注册” 原因分析 用户实际的支付目录必须和在微信支付商户平台设置的一致,否则会报错"当前页面的URL未注册" 支付授权目录: 商户最后请求拉起微信支付收银台的页面地址 解决方案: 登…