一、什么是正则表达式?
正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。
给定一个正则表达式和另一个字符串,我们可以达到如下的目的:
- 给定的字符串是否符合正则表达式的过滤逻辑(称作“匹配”);
- 可以通过正则表达式,从字符串中获取我们想要的特定部分。
正则表达式的特点是:
- 灵活性、逻辑性和功能性非常的强;
- 可以迅速地用极简单的方式达到字符串的复杂控制。
二、jmeter正则表达式和loadrunner关联的区别
三、正则表达式的实现方式
方式一:正则表达式:"token":"(.+?)",模板:$1$,
举例:
-
需要关联的内容:
"token":"3+PvDnJ3vZVsjVu5bigS3tb3Uuhbg/Iq0/9PN/Yr5pqGe8MnHje1laBKSidx6+p8xRU/jxaEwo/fQbjJJq9BrA=="
-
根据正则表达式的步骤,找到响应数据token数据
左边界值:"token":"
右边界值:"
-
在登录请求的后面添加正则表达式
正则表达式:"token":"(.+?)"
模板:$1$
匹配数字:1
备注:
-
一个符合要求的正则表达式:"token": "(.+?)“,
-
():封装了待返回的匹配字符串。
-
.:匹配任何字符串。
-
+:一次或多次。
-
?:不要太贪婪,在找到第一个匹配项后停止
- debug sampler调试
添加debug sampler
在查看结果树里面,查看有没有获取到变量值
方式二:正则表达式:"token":"(.)",模板:$1$
举例:
1.需要关联的内容
"token":"3+PvDnJ3vZVsjVu5bigS3tb3Uuhbg/Iq0/9PN/Yr5pqGe8MnHje1laBKSidx6+p8xRU/jxaEwo/fQbjJJq9BrA=="
2.根据需要提取的内容的长度,进行匹配
正则表达式:"token":"(.{1,88})"
模板:$1$,
匹配数字:1
适合长度固定的返回值
进行调试输出:
方式三:正则表达式:“phone”:“(\d)或者“phone”:“(\d.+?)
举例:
1.需要关联的内容:"mobile":"15900000001",
2.需要关联的值都是数字
进行调试:
备注:
\d:数字字符匹配,等效于 [0-9]
方式四:JSON Extractor
接口响应结果,通常为HTML、JSON格式的数据,对于HTML的响应结果的提取,可以通过正则表达式,也可以通过XPath 来提取。
1.需要下载插件,下载地址为:https://jmeter-plugins.org/downloads/old/,下载后解压以后将lib和
lib/ext中的jar包放到安装目录对应位置,重启即可。
2.需要下载Extras With Libs Set 这个插件集,目前最新 JMeterPlugins-ExtrasLibs-1.4.0.zip
3.在请求下面添加—>后置处理器—>jp@gc - JSON Path Extractor或JSON Extractor来获取变量值
- Variable names : 变量名称
- JSONPath Expression:JSON表达式
- Match Numbers:匹配哪个,可为空即默认第
一个
- Default Value:未取到值的时候默认值
提取的值原始格式是:
调试输出:
如上四种就是比较常用的jmeter提取响应结果的返回值,很简单吧!
欢迎来到testingpai.com!
注册 关于