当前位置: 首页 > news >正文

jmeter_接口间参数关联

场景:
1、验证导入站点的接口是否正确,
2、验证删除站点的功能是否正确。

对于以上2个接口用例,2的执行预制条件是1。所以这里就得把1和2做一个“关联”,用什么实现呢?
(1)json提取器
(2)正则表达提取器
作用:将前一个接口响应中的内容提取有用部分,放到后一个接口的入参中,实现关联。

正则表达式提取器,实例参考:

前提条件:
(1)配置2个接口基本信息
getRegionProvince:获得省份ID
http
ws.webxml.com.cn
get
/WebServices/WeatherWS.asmx/getRegionDataset
在这里插入图片描述
getSupportCityDataset:获取区ID
http
ws.webxml.com.cn
get
/WebServices/WeatherWS.asmx/getSupportCityDataset?theRegionCode=${code}
在这里插入图片描述
添加正则表达式提取器:
在这里插入图片描述

(1)引用名称:随便起,变量的名字
(2)正则表达式:用这个在响应的text文本中筛选,你要的字符。比如:我要拿北京的ID,我就直接复制下面的内容
311101
北京
然后复制到正则表达式提取器>>>正则表达式,因为原文中是换行的,再加上个 \n ,我要提取的是 311101 ,所以它换成 (.+?)
(3)模板:就是你匹配到的第几列
(4)数字:就是你匹配到的列中的行,如图就是第一列中的第一行数据
(5)缺省:意思就是默认值,上面的没匹配到就取这个值,后面的对号选上,意思就是给空字符串,不是null
在这里插入图片描述
楼主也不知道为啥,我执行脚本后,死活匹配不到,在线工具都显示匹配ok的,原理掌握了。
在这里插入图片描述

在这里插入图片描述

json提取器_实列参考:
前提条件如上,配置两个接口
第一步,在某个接口后面,设置json提取器
在这里插入图片描述
在这里插入图片描述

第二步,设置“HTTP头信息管理器”,只要后面的接口用到键message,就自动调用json提取器里面的值
在这里插入图片描述
提取周芷若的名字

接口返回:
{
“status”:200,
“data”:[{“id”:101,“name”:“张无忌”},{“id”:102,“name”:“周芷若”}]
}

json提取器配置如下:从data中取“索引值”为1的数据,再取键值为“name”的值。【索引值按照01234排序】
在这里插入图片描述
提取data下asin的所有值,优先使用正则,其中匹配数字-1代表取所有值。后面接口引用可以用“arin_1”,代表取的是第一个值。
响应结果:
{
“result” : {
“similar” : [{
“id” : “us-B072HFDHKY”,
“asin” : “B072HFDHKY”
}, {
“id” : “us-B073WM827B”,
“asin” : “B073WM827B”
}, {
“id” : “us-B07GY17KFZ”,
“asin” : “B07GY17KFZ”
}, {
“id” : “us-B076NYPS7M”,
“asin” : “B076NYPS7M”
}, {
“id” : “us-B07NSBBX7L”,
“asin” : “B07NSBBX7L”
}, {
“id” : “us-B077W9GHDV”,
“asin” : “B077W9GHDV”
}
]
},
“code” : 0,
“message” : “操作成功!”
}
在这里插入图片描述

相关文章:

  • python与selenium_环境搭建(1)
  • python与selenium_环境搭建(2)
  • python与selenium_基础篇_前端
  • python + selenium_元素定位
  • selenium_常用方法
  • selenium_其他方法
  • python与selenium_项目篇_项目实战、代码优化、项目重构
  • selenium+pytest自动化测试框架FAQ
  • python与selenium_项目篇_数据驱动测试
  • python与selenium_项目篇_page object设计模式(项目框架)
  • python与selenium_项目篇_行为驱动测试(BDD)
  • git相关(安装、配置、拉取提交代码)
  • python与selenium_平台篇_docker容器技术与多线程测试
  • python_类and对象
  • 记录我定位了2天的bug,坚持下去,问题终究会解决。
  • 时间复杂度分析经典问题——最大子序列和
  • Android交互
  • iOS高仿微信项目、阴影圆角渐变色效果、卡片动画、波浪动画、路由框架等源码...
  • Java 最常见的 200+ 面试题:面试必备
  • k个最大的数及变种小结
  • maven工程打包jar以及java jar命令的classpath使用
  • nodejs实现webservice问题总结
  • overflow: hidden IE7无效
  • passportjs 源码分析
  • tweak 支持第三方库
  • v-if和v-for连用出现的问题
  • 百度贴吧爬虫node+vue baidu_tieba_crawler
  • 高程读书笔记 第六章 面向对象程序设计
  • 机器学习学习笔记一
  • 基于MaxCompute打造轻盈的人人车移动端数据平台
  • 简单数学运算程序(不定期更新)
  • 力扣(LeetCode)22
  • 如何将自己的网站分享到QQ空间,微信,微博等等
  • 如何实现 font-size 的响应式
  • 如何邀请好友注册您的网站(模拟百度网盘)
  • 微服务入门【系列视频课程】
  • 以太坊客户端Geth命令参数详解
  • 带你开发类似Pokemon Go的AR游戏
  • ​二进制运算符:(与运算)、|(或运算)、~(取反运算)、^(异或运算)、位移运算符​
  • ## 临床数据 两两比较 加显著性boxplot加显著性
  • #laravel 通过手动安装依赖PHPExcel#
  • (C语言)输入自定义个数的整数,打印出最大值和最小值
  • (动态规划)5. 最长回文子串 java解决
  • (分布式缓存)Redis分片集群
  • (附源码)spring boot基于Java的电影院售票与管理系统毕业设计 011449
  • (深度全面解析)ChatGPT的重大更新给创业者带来了哪些红利机会
  • (转)为C# Windows服务添加安装程序
  • **Java有哪些悲观锁的实现_乐观锁、悲观锁、Redis分布式锁和Zookeeper分布式锁的实现以及流程原理...
  • .Net 路由处理厉害了
  • .Net的C#语言取月份数值对应的MonthName值
  • @Autowired @Resource @Qualifier的区别
  • [ HTML + CSS + Javascript ] 复盘尝试制作 2048 小游戏时遇到的问题
  • [BT]小迪安全2023学习笔记(第15天:PHP开发-登录验证)
  • [BZOJ 4129]Haruna’s Breakfast(树上带修改莫队)
  • [Bzoj4722]由乃(线段树好题)(倍增处理模数小快速幂)