文章目录
-
-
- 1. 使用正则表达式提取器
- 2.一些常用的正则:
-
- 2.1 token
-
1. 使用正则表达式提取器
点击要提取数据的请求,添加一个后置处理器–正则表达式提取器:
何为后置处理器?
就是在请求结束或者返回响应结果时发挥作用。
参数详解:
-
Apply to:作用范围(返回内容的断言范围)
Main sample and sub-samples:作用于父节点的取样器及对应子节点的取样器Main sample only:仅作用于父节点的取样器Sub-samples only:仅作用于子节点的取样器JMeter Variable:作用于jmeter变量(输入框内可输入jmeter的变量名称)
-
要检查的响应字段:需要检查的响应报文的范围
主体:响应报文的主体Body(unescaped):主体,响应的主体内容且替换了所有的html转义符,注意html转义符处理时不考虑上下文,因此可能有不正确的转换,不太建议使用 Body as a Document:从不同类型的文件中提取文本,注意这个选项比较影响性能 Response Headers:响应信息头Request Headers:请求信息头URL:统一资源定位符,即Internet上用来描述信息资源的字符串Response Code:响应状态码,比如200、404等Response Message:响应信息
-
引用名称:下一个请求要引用的参数名称,如填写token,则可用${token}引用它。
-
正则表达式:
():括起来的部分就是要提取的。.:匹配任何字符串。
+:一次或多次。
*: 任意次
?:不要太贪婪,在找到第一个匹配项后停止。
- 模板:用
$$
引用起来,如果在正则表达式中有多个待匹配内容,则可以是$2$$3$
等等,表示解析到的第几个值给token,参数可以在取值模板组合使用,例如:$1-2$
作为模板得到的值是使用“-”连接的第一个待匹配内容与第二个待匹配内容组合而成的字符串 - 匹配数字:正则表达式匹配数据的结果可以看做一个数组,表示如何取值:0代表随机取值,正数n则表示取第n个值(比如1代表取第一个值),负数则表示提取所有符合条件的值。
- 缺省值:如果参数没有取得到值,那默认给一个值让它取。
填写完成之后我们就可以在请求中使用他啦:
然后在结果树中查看结果是否正确。
也可以添加一个 Debug Sampler 参看参数的值:
添加完成后点击运行,在结果树中就可以看到相应的值:
2.一些常用的正则:
2.1 token
假如要从response中取得token的值如下:
其正则为."token":"(.+?)".
,如下:
其他JMeter的使用教程在我的另一篇博客中做了整合,传送门:
https://blog.csdn.net/qq_34659777/article/details/85765309
最后总结一下:
如果你对此文有任何疑问,如果你也需要接口项目实战,如果你对软件测试、接口测试、自动化测试、面试经验交流感兴趣欢迎加入:软件测试技术群:593462778,群里的免费资料都是笔者十多年测试生涯的精华。还有同行大神一起交流技术哦。
作者:暗潮汹涌
原创不易,欢迎转载,但未经作者同意请保留此段声明,并在文章页面明显位置给出原文链接。