Jmeter04:关联

1 Jmeter组件:关联

概括:2个请求之间不是独立的,一个请求响应的结果是作为另一个请求提交的数据,存在数据交互

1.1 是什么?

就是一个请求的结果是另一个请求提交的数据,二者不再是独立

1.2 为什么?

为了实现多样的业务逻辑(可能由多个请求组合而成)

1.3 怎么用?

  • 实现方案1:JDBC将结果赋值给变量,再在另一个请求调用变量(参考Jmeter03:直连数据库)
  • 实现方案2:Xpath提取器
  • 实现方案3:正则表达式提取器

如果是从标签(html | xml)语言提取最好使用XPath提取器,如果想要的数据是文本格式,正则表达式提取器更方便

2 实现方案2 Xpath提取器

在一个线程组中,B请求需要使用A请求返回的数据,也就是常说的关联,将上一个请求的响应结果作为下一个请求的参数,则需要对A请求的响应报文使用后置处理器

需求:2个http 一个请求访问百度,一个请求访问谷歌,将百度返回的title的数据放入谷歌中搜索

百度返回的数据:

增加XPath提取器并配置参数

因为是http请求,返回的数据有固定格式,需要将 USE tidy

请求

经过查看树,可以发现百度返回的数据title给谷歌请求数据使用

3 实现方案3:正则表达式提取器

概念:允许用户从作用域内的sampler请求的服务器响应结果中通过正则表达式提取值所需值,生成模板字符串,并将结果存储到给定的变量名中

正则表达式:制定规则的公式

公式模板:前缀识别() 后缀识别

(): 括起来的部分就是要提取的数据

a) . 匹配任何字符

b) + 一次或多次

c) ? 在找到第一个匹配项后停止

d) * 匹配规则内所有字符串

模板 : $$格式;1表示解析到的第一个值;如果匹配有2个值,第二个值2,以此类推

匹配数字:1代表全部取值,0代表随机取值,通常使用1

例子1:沿用(目录2实现方案2 Xpath提取器中例子)

匹配数字:0代表随机一个,1代表获取到的第一个,2代表获取到的第二个,以此类推

正则表达式: (.*)括号里面全部数据获取

例子2:

将查询所有学院信息的请求返回的某笔学院名称,传入下一个请求百度进行查询

返回的数据JSON格式,且返回的学院名称字段存在重复

获取2个

相关推荐
qq_4924484463 小时前
JMeter→DSL 结构化方案
jmeter
程序员杰哥4 小时前
Jmeter压测实战:Jmeter二次开发之自定义函数
自动化测试·软件测试·python·测试工具·jmeter·测试用例·压力测试
一只会奔跑的小橙子5 小时前
一次营销试算接口压测(jmeter+groovy)
jmeter
张永清-老清20 小时前
每周读书与学习->JMeter性能测试脚本编写实战(二)- 前一个请求返回的结果作为后一个请求的入参
学习·jmeter·性能优化·性能测试·性能调优·jmeter性能测试·每周读书与学习
想要成为祖国的花朵1 天前
基于多设计模式的抽奖系统__测试报告
java·selenium·测试工具·jmeter·设计模式·测试用例·安全性测试
程序员威子1 天前
最强平替Postman的工具,拒绝浏览器套壳
功能测试·selenium·测试工具·jmeter·单元测试·测试用例·postman
程序员汤圆3 天前
最新软件测试面试题,常见面试题及答案汇总,不怕拿不到offer
测试工具·jmeter·测试用例
weixin_419658314 天前
JMeter性能测试
jmeter
爱学习的执念5 天前
高频Jmeter软件测试面试题
jmeter
小小测试开发5 天前
JMeter插件用法全解析:扩展自动化测试能力的实用指南
jmeter