【爱软测】Jmeter数据关联之正则表达式提取器

正则表达式提取器
1.添加正则表达式提取器
右击http请求 > 添加 > 后置处理器 > 正则表达式提取器
在这里插入图片描述
2.页面功能介绍
在这里插入图片描述

apply to(适用于或者作用范围)
Main sample and sub-samples:作用于主节点的取样器及对应子节点的取样器
Main sample only:仅当前父取样器
Sub-samples only:仅子取样器
JMeter Variable Name to use:作用于jmeter变量,从指定变量值中提取需要的值。

Field to check( 要检查的响应字段)
主体:响应报文的主体,最常用
Body(unescaped):主体,是替换了所有的html转义符的响应主体内容,注意html 转义符处理时不考虑上下文,因此可能有不正确的转换,不太建议使用
Body as a Document:从不同类型的文件中提取文本(这个选项比较耗性能)
Response Headers:响应信息头
Request Headers:请求信息头
URL:请求url
Response Code:响应状态码,比如200、301、404、500等
Response Message:响应信息

Name of created variable(引用名称):
正则表达式提取结果后赋值的变量名,供后面的接口调用,使用${变量名}来调用。

Regular Expression(正则表达式):
提取数据的正则表达式,需要提取的部分用()括起来。

Template(模板):
用$$引用起来,如果在正则表达式中有多个取值正则表达式,则可以
1 1 1等等;匹配的模板匹配到第几个获取的值赋给我们定义的引用名称。
Match No. (0 for Random)(匹配数字(0代表随机)):
0代表随机取值,1代表去取所提取的值里面的第一个值。

Default Value:(缺省值):
如果参数没有匹配到对应的值,可以自行指定返回值(比如:null),默认返回空白。

3.正则表达式
在写正则表达式之前必须先了解它的一些匹配的字符

在这里插入图片描述
实例:
比如有一个接口返回的结果为: ‘’’{“msg”: “操作成功!”, “code”: 0, “userId”: “d78a090fef454047afe31c6ec00001”}’’’
我们想匹配这个json串中的userId后面的值d78a090fef454047afe31c6ec00001,我们可以这样写:“userId”: “(.*?)”}
重点是要找到被提取内容前面和后面的都是唯一的边界值,这样才能准确的提取到我们想要提取的内容。
在这里插入图片描述
在这里插入图片描述
再以获取省份接口和获取指定省份下城市接口为例。假设我们获取城市接口中的省份的参数数据从获取省份接口中提取,看看我们怎么实现:
获取省份接口:get http://www.webxml.com.cn/WebServices/WeatherWebService.asmx/getSupportProvince
获取城市接口:get
http://www.webxml.com.cn/WebServices/WeatherWebService.asmx/getSupportCity?byProvinceName=城市名称

获取省份接口返回结果:
在这里插入图片描述
正则表达式提取器提取:(获取到所有省份并随机提取一个数据)
在这里插入图片描述
结果:
在这里插入图片描述
在获取城市接口中引用提取的结果province, 通过${province}引用
在这里插入图片描述
结果:
在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值