Apache JMeter

jmeter之从response中用正则表达式截取文本

2019-12-11  本文已影响0人  含章2018

1 接口调试背景

11月份做性能压测调试接口时,因为上一个请求的response中想要提取的是json字符串,使用了JSON Extractor提取器

本次性能压测,调试接口时,需要拿到的是:上一个请求的response返回的url中截取一部分字符串,因此JSON Extractor提取器就无法实现了,本次性能压测接口调试使用了正则表达式提取器

"url":"http:\/\/cop-dev-vip.svwsx.cn\/toComment?surveyId=1197781396647870465&surveyAnswerId=1204651998251966465"

本次要提取的数据:从上一个请求response返回的url中拿到surveyAnswerId的值1204651998251966465,作为下一个请求的入参

2 后置处理器-正则表达式提取器

在相应的请求上添加后置处理器-正则表达式提取器,正则表达式提取器界面参数如下:

2.1 各参数示意

Name of created variable: 引用变量

Regular Expression: 正则表达式,通过该正则表达式拿到变量的值

Template: 表示使用提取到的第几个值

$1$表示取第1个

$2$表示取第2个

$n$表示取第n个

Match No. : 0表示随机取值,1表示全部取值

Default Value:若通过正则表达式没有拿到值,则使用此缺省值

3 正则表达式

本次调试使用了正则表达式:surveyAnswerId=(.+?)"

表示,要提取以surveyAnswerId=开始,以分号"结尾的数据,也就是括号中的数据是需要拿到的,其中:

()表示 括号中的数据是要提取的内容

. 表示可匹配任意字符串

+表示可匹配1次或多次

?表示不要太贪婪,在找到第1个匹配项后即停止匹配。

通过debug sampler,可以看到已经拿到的值,可以继续进行调试了。

4 关于性能压测的其他

本人关于性能压测的其他随笔,日后会找时间迁移过来,地址先放在这里,方便查找

jmeter分布式压测

collectd+influxDB+grafana搭建性能监控平台

netdata实时监控部署

ZABBIX部署

上一篇 下一篇

猜你喜欢

热点阅读