【P24】JMeter 正则表达式用户参数(RegEx User Parameters)

news2024/11/27 14:42:15

文章目录

    • 一、准备工作
    • 二、测试计划设计


一、准备工作

慕慕生鲜: http://111.231.103.117/#/login

  • 进入网页后,登录,页面提供了账户和密码

  • 搜索框输入“虾”

  • 右键检查或按F12,打开调试工具,点击搜索

在这里插入图片描述

二、测试计划设计

(1)、测试计划右键 <<< 添加 <<< 配置元件 <<< HTTP请求默认值

在这里插入图片描述

  • 协议:http

  • 服务器名称或IP:111.231.103.117

  • 端口:8083

  • 内容编码:utf-8

(2)、在网页中,调试中点击网络,找到请求,点击标头找到请求标头,复制所有请求标头

在这里插入图片描述

(3)、测试计划右键 <<< 添加 <<< 配置元件 <<< HTTP信息头管理器

在这里插入图片描述

  • 点击从剪切板添加,会将复制的值自动添加进去

(4)、测试计划右键 <<< 添加 <<< 监听器 <<< 查看结果树

(5)、测试计划右键 <<< 添加 <<< 线程(用户)<<< 线程组

(6)、在网页中,调试中点击网络,找到请求,点击负载,复制参数值

在这里插入图片描述

(7)、线程组右键 <<< 添加 <<< 取样器 <<< HTTP请求

在这里插入图片描述

  • 选择GET

  • 路径:/product/list

  • 点击从剪切板添加,会自动添加;也可手动添加

(8)、HTTP请求右键 <<< 添加 <<< 后置处理器 <<< 正则表达式提取器

在这里插入图片描述

  • 勾选 Main sample only

  • 勾选 主体

  • 引用名称:var

变量名称:var

  • 正则表达式:"id":(.*?),"name":"(.*?)

(.*?):表示匹配任意字符

HTTP请求返回的响应数据响应体中的返回数据格式:[{"id":39,"name":"即食大虾","image":"http://111.231.103.117:8083/images/new-xia.png","detail":"干虾烤虾大对虾干500g淡干烤海虾干货海鲜干货年货","categoryId":13,"price":40,"stock":21925,"status":1,"createTime":"2020-06-28 16:06:34","updateTime":"2020-02-11 00:51:59"},{"id":27,"name":"波士顿大龙虾鲜活冰鲜海鲜水产大只装波龙澳洲龙虾 400-500g 一只装","image":"http://111.231.103.117:8083/images/new-longxia.png","detail":"类别:澳洲龙虾特产品类:澳洲龙虾国产/进口:国产保存状态:冰鲜原产地:中国大陆","categoryId":13,"price":222,"stock":22123,"status":1,"createTime":"2020-06-28 16:06:34","updateTime":"2020-02-11 00:11:30"}]

  • 模板:不设置,提取所有的组号

$1$、$2$获取第一组、第二组;正则表达式(.*?)为一组

  • 匹配数字(0代表随机):-1

行号,-1匹配所有数据

(9)、HTTP请求右键 <<< 添加 <<< 后置处理器 <<< 调试后置处理程序

在这里插入图片描述

(10)、点击启动,点击查看结果树,查看HTTP请求

在这里插入图片描述

HTTP请求中的响应数据,响应体中的数据可以看到,一共有两个符合查询规则的数据,"total":2

(11)、点击HTTP请求-0,查看调试后置处理程序获取的参数信息

在这里插入图片描述

因为 正则表达式提取器 中的匹配数字为-1,获取所有值,所以变量本身没有值,获取的是组变量

var_1=:这个1代表行号,第一行的值

var_1_g=2:第一行匹配组的数量为两组;正则表达式提取器 中的正则表达式:"id":(.*?),"name":"(.*?)",有两个(.*?),所以有两组

var_1_g0="id":39,"name":"即食大虾":第一行,整个组的内容

var_1_g1=39:第一行,第一组的内容,id的值

var_1_g2=即食大虾:第一行,第二组的内容,name的值

var_matchNr=2:总共有两行

同理 var_2 ,第二行

(12)、线程组右键 <<< 添加 <<< 取样器 <<< HTTP请求

(13)、第二个HTTP请求右键 <<< 添加 <<< 前置处理器 <<< 正则表达式用户参数

在这里插入图片描述

Regular Expression Reference Name:var;正则表达式的引用名称,必须与 正则表达式提取器组件中的 引用名称 保持一致)

Parameter names regexp group number:1;参数名字的组号,有两组,用第一组作为组号;var_1_g1=39、var_2_g1=27

Parameter values regex group number:2;有两组,使用第二组作为值;var_1_g2=即食大虾、var_2_g2=波士顿大龙虾鲜活冰鲜海鲜水产大只装波龙澳洲龙虾 400-500g 一只装

注:正则表达式用户参数 前置处理器组件只能作用在HTTP取样器上

(14)、在第二个 HTTP请求组件中,添加参数,参数名为查看结果树中,提取出的每行第一组的值,也就是var_1_g1和var_2_g1对应的值

在这里插入图片描述

注:只需要添加名称参数即可

(15)、清除全部后,点击启动,在查看结果树中,查看请求信息

在这里插入图片描述

如图,第二个HTTP请求报错,可以不用管,因为第二个HTTP请求参数只有名称,并没有赋值

如图,点击第二个HTTP请求,点击请求,点击左小角 HTTP,可以看到,设置的两个参数,获取到了对应的值

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

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

相关文章

Hantek 5000系列示波器原理图研究

Hantek 5000系列是Hantek&#xff08;汉泰&#xff09;2010年左右推出的入门型号示波器&#xff0c;最高采样率1GSa/s&#xff0c;带宽200M。2010年的时候&#xff0c;EEVblog论坛的大佬tinhead给出了该系列示波器的详细原理图&#xff08;下载&#xff09;&#xff0c;图的可读…

RapidVideOCR(视频硬字幕提取工具)新增exe版

引言 考虑到提取视频字幕的小伙伴大多不是程序员行当&#xff0c;为了降低使用门槛&#xff0c;特此推出界面版的RapidVideOCR Desktop. RapidVideOCR Desktop需要搭配VideoSubFinder使用。它们两个关系如下图所示&#xff1a; #mermaid-svg-md1FaKkTWKdZahtd {font-family:&q…

Git常用命令rebase

Git常用命令rebase 1、git常用命令rebase rebase 会把你当前分支的 commit 放到公共分支的最后面&#xff0c;所以叫变基&#xff0c;就好像你从公共分支又重新拉出来这个 分支一样。 例如如果你从 master 拉了个 feature 分支出来&#xff0c;然后你提交了几个 commit&…

VScode添加右键运行、并设置每次运行前都清屏即去除之前的输出

一、添加右键运行 下载安装运行插件即可 二、运行前清屏 在运行插件中设置 找到Code-runner: Clear Previous Output&#xff0c;把√打上即可

同样都是PoE交换机,标准PoE交换机、非标准PoE交换机和非PoE交换机三者到底有啥区别?

网络交换机是企业和组织中构建局域网、企业网络和数据中心网络的重要组成部分。其中最常见的类型之一是PoE交换机。PoE交换机是一种允许通过网络线路提供电源和数据传输的交换机&#xff0c;这种技术可以为设备提供电力&#xff0c;避免了需要附加电源的麻烦。 本文将介绍PoE交…

从零制作操作系统——环境搭建以及HelloWorld

从零制作操作系统——环境搭建以及HelloWorld 起因 最近在学习操作系统&#xff0c;尝试自己照着书搓一个出来。 环境搭建 基础环境 我们的操作系统在x86平台的Linux下进行编写和运行。编辑器用的VIM。 我的系统是Fedora 36&#xff0c;当然你也可以使用Ubuntu或者其他Li…

码云(Gitee)与Git配置

前提 本文配置的前提是已经申请好了码云(gitee)的账号和电脑上已经安装好了git 1.配置gitee的ssh公钥 在gitee的个人设置里面配置ssh公钥 就是将公钥复制到右侧的框中, 并点击确定即可。 1.1生成ssh公钥 右键鼠标打开git bash here 输入如下命令&#xff0c;邮箱就填自己…

栈与队列的对决:如何用栈实现队列?

本篇博客会讲解力扣“232. 用栈实现队列”的解题思路&#xff0c;这是题目链接。 先来审题&#xff1a; 以下是输出示例&#xff1a; 以下是提示和进阶&#xff1a; 栈是一种后进先出的数据结构&#xff0c;而队列是一种先进先出的数据结构&#xff0c;如何用栈实现队列呢&…

chatgpt赋能Python-pingouin_python

了解Pingouin Python对数据分析和统计学的优势 介绍Pingouin Python Pingouin Python是一个强大的Python包&#xff0c;它提供了在数据分析和统计学中所需的一些主要函数。使用Pingouin Python可以方便地进行t-检验、方差分析、相关性等常用的数据分析和统计学任务。 此外&a…

Vue组件复杂表格高级编辑功能

Vue 组件复杂表格高级编辑功能 文章目录 Vue 组件复杂表格高级编辑功能1. sync 父子组件数据同步更新2. 在 el-table 中开发高级编辑表格功能3. 参考文献 在vue中组件的定义是希望组件可以做单一的功能&#xff0c;做到高复用&#xff0c;低耦合&#xff0c;所以父子组件之间的…

【每日一题/简单模拟题】2446. 判断两个事件是否存在冲突

⭐️前面的话⭐️ 本篇文章介绍【2446. 判断两个事件是否存在冲突】题解&#xff0c;算法标签&#xff1a;【模拟】&#xff0c;【字符串】&#xff0c;展示语言c/java。 &#x1f4d2;博客主页&#xff1a;未见花闻的博客主页 &#x1f389;欢迎关注&#x1f50e;点赞&#x…

某大学信息安全竞赛——栈迁移加强版——只溢出0x8,无限ROP

芝士题目&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1uwFlcSg94MuC2tPi-HCb9w 提取码&#xff1a;joj6 感悟&#xff1a; 之前我只做过溢出超过0x10这样的栈迁移&#xff0c;思路就是找机会去泄露栈空间的地址然后把栈迁移到我们可以控制的栈空间&#xff0c;亦…

Linux_证书_Openssl工具详解

文章目录 OpenSSLopenssl实现对称加密openssl生成密钥对、非对称加密、数字签名根据CA颁布证书生成ca私钥和ca证书根据ca生成证书 小结 OpenSSL OpenSSL 是一个开源项目&#xff0c;其组成主要包括一下三个组件&#xff1a; openssl&#xff1a;多用途的命令行工具 libcrypt…

【滤波专题-第7篇】“类EMD”算法分解后要怎样使用(3)——EMD降噪方法及MATLAB代码实现

使用EMD分解&#xff08;以及其他“类EMD”分解方法&#xff0c;以下为了简便统称EMD&#xff09;做信号降噪&#xff0c;是EMD的一个比较重要的应用方向。EMD可以将复杂的信号分解为一系列的固有模态函数&#xff08;IMFs&#xff09;&#xff0c;每一个IMF都包含了信号的一部…

“源擎”攻破银行核心系统建设痛点

银行业作为操作密集、数据密集、风险密集的行业&#xff0c;在向云转型的过程中面临着诸多独特的挑战&#xff0c;如银行需要具备不间断的业务创新能力&#xff0c;而不被系统开发周期制约&#xff1b;单一系统的开发和升级方式&#xff0c;越来越难以满足日益综合化的业务创新…

chatgpt赋能Python-pycharm关联python

Pycharm关联Python的介绍 Pycharm是一种非常流行的Python集成开发环境&#xff0c;开发人员可以在其中编写、调试和运行Python代码。Pycharm具有许多有用的功能&#xff0c;这些功能可以大大提高代码的效率和质量。其中一个最重要的功能是Pycharm如何关联Python&#xff0c;这…

HTB靶机012-Valentine-WP

012-Valentine 靶机IP&#xff1a;10.10.10.79 Scan nmap端口扫描&#xff1a; ┌──(xavier㉿kali)-[~] └─$ sudo nmap -sSV -T4 10.10.10.79 -F Starting Nmap 7.93 ( https://nmap.org ) at 2023-04-29 00:47 CST Nmap scan report for 10.10.10.79 Host is up (0.30s…

chatgpt赋能Python-pycharm和python关联

PyCharm与Python&#xff1a;超越代码编写的完美结合 如果你是一位Python开发者&#xff0c;那么你肯定需要一个好用的开发环境&#xff0c;以便快速且高效地完成代码任务。而PyCharm就是这样一个优秀的Python开发IDE。它专注于提高Python开发速度和质量&#xff0c;让Python编…

Flowable 生成的表都是干嘛的?(一)

一.简介 Flowable 默认一共生成了 79 张数据表&#xff0c;了解这些数据表&#xff0c;有助于我们更好的理解 Flowable 中的各种 API。 接下来我们就对这 79 张表进行一个简单的分类整理。 ACT_APP_*&#xff08;5&#xff09;ACT_CMMN_*&#xff08;12&#xff09;ACT_CO_*…

chatgpt赋能Python-pycharm取消所有断点

Pycharm取消所有断点&#xff1a;提高编程效率的必备技巧 Pycharm作为Python程序员必备的开发工具之一&#xff0c;其强大的调试功能广受好评。但是&#xff0c;在开发过程中&#xff0c;我们可能会设置过多的断点或者设置了错误的断点&#xff0c;这样会让程序的运行速度变慢…