Jmeter用于接口测试中,关联如何实现

Jmeter用于接口测试时,后一个接口经常需要用到前一次接口返回的结果,应该如何获取前一次请求的结果值,应用于后一个接口呢,拿一个登录的例子来说明如何获取。

1、打开jmeter, 使用的3.3的版本,新建一个测试计划,在测试计划里新建一个线程组,新建一个登录的http请求,如图所示:

2、查看登录返回的结果:

 3、充值接口需登录后才能操作,此时可以使用cookie方式,验证此用户已经登录,在充值接口里添加cookie管理器

这里的sign就是上一个登口接口返回的sign值,

4、在登录请求下新建一个后置处理器,提取返回结果值:

  5、查看接口运行结果

总结: 以上就是jmeter的关联实现,如果有其他的接口需要前一次请求的结果,也可以添加的后置处理器提取变量,作用于后一个接口中,实现参数动态变化。 

关于正则表达式的举例说明:

  1、提取单个字符串:
    假如想匹配Web页面的如下部分:name = "file" value = "readme.txt">并提取readme.txt。一个合适的正则表达式:name = "file" value = "(.+?)">。
      ():封装了待返回的匹配字符串。
      .:匹配任何单个字符串。
      +:一次或多次。
      ?:不要太贪婪,在找到第一个匹配项后停止。

  2、提取多个字符串:
    假如想匹配Web页面的如下部分:name = "file.name" value = "readme.txt">并提取file.name和readme.txt。一个合适的正则表达式:name = "(.+?)" value = "(.+?)"。这样就会创建2个组,分别用于$1$和$2$

  比如:

    引用名称:MYREF
    模板:$1$$2$

   如下变量的值将会被设定:
    MYREF:     file.namereadme.txt
    MYREF_g0:   name = "file.name"value = "readme.txt"
    MYREF_g1:  file.name
    MYREF_g2:  readme.txt

  在需要引用地方可以通过:${MYREF}, ${MYREF_g1进行使用。

当请求之间有依赖关系,比如一个请求的入参是另一个请求返回的数据,这时候就需要用到关联处理,Jmeter可以通过“后置处理器”中的“正则表达式提取器”来处理关联。

简单的关联

比如在访问百度首页时响应数据里面有一个title

<title>百度一下,你就知道</title> 我就想在其他的请求中引用这个title

添加正则表达式提取器并设置如下:

添加一个关联请求来验证这个关联:

 执行后我们看到关联成功了

复杂一点的关联,像取正则表达式结果里面多个值

比如一个请求的响应数据如下:

我们尝试来提取0.0,84956.0,1019,3这四个数据,添加正则表达式提取器做如下设置

引用名称:    引用名称和引用的方法,不用多解释,和变量参数化差不多。

正则表达式:   凡是要被引用的部分都替换成圆括号,括号内具体的表达式您可以单独查阅正则表达式相关的知识。

模板:      代表从正则表达式结果引用的样式,其实结果是一组,而不是一个。$0$代表这一组结果的全部,$1$代表这一组结果的第1个,以此类推;

         $1$$2$代表该正则表达式一组结果中的第1个和第2个,俩结果挨在一起中间没有间隔;

         $3$,$4$代表该正则表达式一组结果中的第3个和第4个,俩结果间有一个逗号相连。

匹配数字:    0代表正则表达式结果组中随机,1代表全部。

缺省值:     当引用不对时显示传递的信息,通畅写一个ERROR。

如上设置好正则表达式提取器后,我们可以添加一个被关联的验证请求,如下:

事实上,myref_g0,myref_g1...myref_g4 是正则表达式的结果组,而myref才是被模板控制提取出来结果,这里为了更清晰的观察正则表达式的结果组才在验证请求中添加这么多参数,实际使用是用一个myref和模板配合就可以了。

myref_g0={"rent":0.0,"price":84956.0,"totalprice":1019,"roomType":3}

myref_g1=0.0

myref_g2=84956.0

myref_g3=1019

myref_g4=3

1. 模板 $0$

2.模板$1$$2$

 3.模板$3$,$4$

 另外对于匹配数字,目前我只看到 0和1,取其他整数的情况也许还有,那一定是更复杂一点的情况,目前0或1对我来说已经够用了,以后遇到其他情况再来更新吧。

总结:

感谢每一个认真阅读我文章的人!!!

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

软件测试面试小程序

被百万人刷爆的软件测试题库!!!谁用谁知道!!!全网最全面试刷题小程序,手机就可以刷题,地铁上公交上,卷起来!

涵盖以下这些面试题板块:

1、软件测试基础理论 ,2、web,app,接口功能测试 ,3、网络 ,4、数据库 ,5、linux

6、web,app,接口自动化 ,7、性能测试 ,8、编程基础,9、hr面试题 ,10、开放性测试题,11、安全测试,12、计算机基础

 

                                      全套资料获取方式:点击下方小卡片自行领取即可

 

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【MyBatis】mvc模式以及Mapper文件中的namespace以及ORM思想

目录 什么是MVC三层架构&#xff0c;初步了解&#xff1f; namespace的作用是什么&#xff1f; Mapper文件中的namespace&#xff1f; ORM思想&#xff08;对象关系映射思想&#xff09; 其中提供了一套映射规则和API 什么是MVC三层架构&#xff0c;初步了解&#xff1f; 三…

以哈战争或推动美国「屠杀」比特币

摘要&#xff1a;加密货币公司急于在国会对以色列被袭引发的审查之前采取行动。 作者&#xff1a;JASPER GOODMAN 来源&#xff1a;POLITICO 编译&#xff1a;WEEX Exchange 原文标题&#xff1a;How Elizabeth Warren is making Hamas crypto’s latest Washington woe 编者按…

TODO Vue typescript forEach的bug,需要再核實

forEach 一個string[]&#xff0c;只有最後一個匹配條件有效&#xff0c;其它條件無效。 所以&#xff0c;只能替換成普通的for循環。 console.log(taskList)// for (const _task of taskList.value) {// if (_task invoiceSendEmail) {// form.value.invoiceSendEmail…

RESR开发

REST简介 REST(Representation State Transfer),表现形式状态转换 优点 隐藏资源的访问行为&#xff0c;无法通过地址得知对方资源是何种操作书写简化 按照REST风格访问资源时使用行为动作区分对资源进行了何种操作。 根据REST风格对资源进行访问是RESTFUL REST风格 Restfu…

java如何导入导出excel

在Java中&#xff0c;可以使用多种方式导入和导出Excel文件。下面将详细介绍几种常见的方法及其实现步骤&#xff1a; 1. Apache POI库&#xff1a; Apache POI是一个开源的Java库&#xff0c;提供了许多类和方法用于处理Microsoft Office格式的文档&#xff0c;包括Excel文件…

图像处理软件Photoshop 2023 mac新增功能 ps 2023中文版

​Photoshop 2023 mac是一款功能强大、易用且灵活的图像编辑软件&#xff0c;旨在满足专业设计师和摄影师的需求。无论您是处理照片、制作图形还是进行艺术创作&#xff0c;Photoshop 2023 都能为您提供丰富的工具和效果&#xff0c;帮助您实现创意想法。Photoshop还支持多种文…

Protocols/面向协议编程, DependencyInjection/依赖式注入 的使用

1. Protocols 定义实现协议&#xff0c;面向协议编码 1.1 创建面向协议实例 ProtocolsBootcamp.swift import SwiftUI/// 颜色样式协议 protocol ColorThemeProtocol {var primary: Color { get }var secondary: Color { get }var tertiary: Color { get } }struct DefaultCol…

Springboot结合Mockito写单元测试实践和原理

文章目录 前言一、使用最佳实践使用场景SpyBean失效场景解决Mock失效的问题避免FactoryBean的实现方式使用MockBean&#xff0c;但是要指定name 个人推荐 二、原理1. MockBean2.SpyBean方法调用 总结 前言 相信看我博客的都是javaer&#xff0c;工作中一般都是使用Springboot框…

已经有多人中招,不要被AI换脸技术骗了!

您好&#xff0c;我是码农飞哥&#xff08;wei158556&#xff09;&#xff0c;感谢您阅读本文&#xff0c;欢迎一键三连哦。 &#x1f4aa;&#x1f3fb; 1. Python基础专栏&#xff0c;基础知识一网打尽&#xff0c;9.9元买不了吃亏&#xff0c;买不了上当。 Python从入门到精…

汽车辅助系统

目录 一&#xff0c;项目描述 二&#xff0c;项目 功能 三&#xff0c;代码实现 &#xff08;1&#xff09;倒车雷达 (2)AD&#xff08;对 雨滴与光敏电阻传感器进行AD采集&#xff09; &#xff08;3&#xff09;雨刷 &#xff08;4&#xff09;灯光 最后总结&#xf…

vue 树状结构数据渲染 (java 处理 list ->树状)

树状结构 Element ui https://element.eleme.cn/#/zh-CN/component/tree <el-tree :data"data" :props"defaultProps" node-click"handleNodeClick"></el-tree><script>export default {data() {return {data: [{label: 一级…

功能集成,不占空间,同为科技TOWE嵌入式桌面PDU超级插座

随着现代社会人们生活水平的不断提高&#xff0c;消费者对生活质量有着越来越高的期望。生活中&#xff0c;各式各样的电气设备为我们的生活带来了便利&#xff0c;在安装使用这些用电器时&#xff0c;需要考虑电源插排插座的选择。传统的插排插座设计多暴露于空间之中&#xf…

pdf转二维码怎么做?pdf二维码制作简单技巧

pdf是一种很常见的文件储存格式&#xff0c;一般通知、发票、简历都会保存为这种格式来使用&#xff0c;那么需要将pdf格式文件做成二维码&#xff0c;该用什么方式来制作呢&#xff1f;下面给大家分享一个pdf转二维码的在线工具&#xff0c;可以通过上传文件一键生成二维码&am…

优思学院|六西格玛的发展历程是怎样的?

在商业世界的星空中&#xff0c;有一颗璀璨的星星&#xff0c;它的名字叫做六西格玛。这颗星星不是一夜之间闪耀登场的&#xff0c;而是在商界的无尽深夜中&#xff0c;逐渐积累了耀眼的光芒。今天&#xff0c;我就来为大家介绍一下六西格玛的发展历程吧。 西格玛是啥&#xff…

设备健康管理系统PreMaint如何帮助制药企业符合GMP认证要求

在制药行业&#xff0c;确保药品的质量、安全性和有效性是至关重要的。为了满足这一需求&#xff0c;药品生产质量管理规范&#xff08;GMP&#xff09;被广泛采用作为制药企业达到国际质量标准的基础。然而&#xff0c;制药企业在追求GMP认证标准时面临着不少挑战。本文将探讨…

解决 阿里云oss 对象存储 bucket 中的文件不能在线预览 只能下载

我的域名是在腾讯云的&#xff0c;所以点开腾讯云的域名解析后台。 点击添加记录&#xff1b; 记录类型选 CNAME&#xff1b;主机记录 随便写&#xff1b;解析线路 默认&#xff1b; 记录值 填你的bucketname 就是你存储文件的bucket的名字 然后 . 域名所在区域 北京就是oss-c…

001.第一个C语言项目

Visual studio2022的使用 创建第一个C语言项目和源文件 https://blog.csdn.net/qq_45037165/article/details/124520286 第一个C语言项目 #include<stdio.h> int main() {printf("Hello World");return 0; }运行结果&#xff1a; 第一行为库函数&#xff0…

Richard Stallman 正在与癌症作战

导读为了纪念 GNU 项目成立 40 周年&#xff0c;自由软件基金会&#xff08;FSF&#xff09;已计划在 10 月 1 日&#xff08;即GNU 40&#xff09;为家庭、学生以及美国的其他人群组织一场黑客马拉松活动。 活动之前&#xff0c;GNU 项目于 9 月 27 日迎来了 40 岁生日&#…

windows中elasticsearch7中添加用户名密码验证

1.找到elsatic的bin目录输入cmd 2.生成ca证书 输入 elasticsearch-certutil ca 在es7根目录生成ca证书&#xff0c;输入密码时直接回车即可&#xff0c;否则后面会报错 Please enter the desired output file [elastic-stack-ca.p12]: #这里直接回车即可 Enter password for…

airflow报ModuleNotFoundError: No module named ‘dags‘原因和解决方法

ModuleNotFoundError: No module named ‘dags’ 原因&#xff1a;airflow默认是从dags目录下开始搜所有模块&#xff0c;如果你加上dags目录名&#xff0c;就相当于在dags目录下找dags包。 解决方法&#xff1a;导入的时候&#xff0c;去掉dags&#xff0c;详细可以参考下面案…