当前位置: 代码迷 >> 综合 >> 【JMeter】JMeter关联
  详细解决方案

【JMeter】JMeter关联

热度:76   发布时间:2023-10-12 07:03:00.0

文章目录

      • 1. 使用正则表达式提取器
      • 2.一些常用的正则:
        • 2.1 token

1. 使用正则表达式提取器

点击要提取数据的请求,添加一个后置处理器–正则表达式提取器:
何为后置处理器?
就是在请求结束或者返回响应结果时发挥作用。
【JMeter】JMeter关联
【JMeter】JMeter关联
参数详解:

  1. Apply to:作用范围(返回内容的断言范围)

     Main sample and sub-samples:作用于父节点的取样器及对应子节点的取样器Main sample only:仅作用于父节点的取样器Sub-samples only:仅作用于子节点的取样器JMeter Variable:作用于jmeter变量(输入框内可输入jmeter的变量名称)
    
  2. 要检查的响应字段:需要检查的响应报文的范围

     主体:响应报文的主体Body(unescaped):主体,响应的主体内容且替换了所有的html转义符,注意html转义符处理时不考虑上下文,因此可能有不正确的转换,不太建议使用 Body as a Document:从不同类型的文件中提取文本,注意这个选项比较影响性能 Response Headers:响应信息头Request Headers:请求信息头URL:统一资源定位符,即Internet上用来描述信息资源的字符串Response Code:响应状态码,比如200、404等Response Message:响应信息
    
  3. 引用名称:下一个请求要引用的参数名称,如填写token,则可用${token}引用它。

  4. 正则表达式:

():括起来的部分就是要提取的。.:匹配任何字符串。
+:一次或多次。
*: 任意次
?:不要太贪婪,在找到第一个匹配项后停止。
  1. 模板:用$$引用起来,如果在正则表达式中有多个待匹配内容,则可以是$2$$3$等等,表示解析到的第几个值给token,参数可以在取值模板组合使用,例如:$1-2$作为模板得到的值是使用“-”连接的第一个待匹配内容与第二个待匹配内容组合而成的字符串
  2. 匹配数字:正则表达式匹配数据的结果可以看做一个数组,表示如何取值:0代表随机取值,正数n则表示取第n个值(比如1代表取第一个值),负数则表示提取所有符合条件的值。
  3. 缺省值:如果参数没有取得到值,那默认给一个值让它取。

填写完成之后我们就可以在请求中使用他啦:
【JMeter】JMeter关联
然后在结果树中查看结果是否正确。
也可以添加一个 Debug Sampler 参看参数的值:
【JMeter】JMeter关联
添加完成后点击运行,在结果树中就可以看到相应的值:
【JMeter】JMeter关联

2.一些常用的正则:

2.1 token

假如要从response中取得token的值如下:
【JMeter】JMeter关联
其正则为."token":"(.+?)".,如下:
【JMeter】JMeter关联

其他JMeter的使用教程在我的另一篇博客中做了整合,传送门:
https://blog.csdn.net/qq_34659777/article/details/85765309

最后总结一下:
如果你对此文有任何疑问,如果你也需要接口项目实战,如果你对软件测试、接口测试、自动化测试、面试经验交流感兴趣欢迎加入:软件测试技术群:593462778,群里的免费资料都是笔者十多年测试生涯的精华。还有同行大神一起交流技术哦。

作者:暗潮汹涌
原创不易,欢迎转载,但未经作者同意请保留此段声明,并在文章页面明显位置给出原文链接。