全网最新最全面的Jmeter接口测试:jmeter正则表达式提取器元件讲解

正则表达式提取器元件介绍

  正则表达式提取器是位于后置处理器中的一个元件,它的作用是在请求发出 并得到响应后,把响应信息中的部分通过正则表达式提取所需值,并将结果存储 到给定的变量名中。可通过后置处理器--正则表达式提取器添加。

常用的使用场景:关联的实现

  从前一个请求的响应结果中,提取到某些需要的内容,可以作为下一个接口需要的入参从而实现关联。例如:用户的登录登出、获取订单号。

  关联即把上一个接口返回的值的部分作为下一个接口传入的参数的过程称为 关联,也称为接口之间的串行传参或相互依赖。

 正则表达式元字符详细信息: https://www.runoob.com/regexp/regexp-metachar.html

添加路径如下:

全网最新最全面的Jmeter接口测试:jmeter正则表达式提取器元件讲解_第1张图片

 正则表达式提取器界面展示

全网最新最全面的Jmeter接口测试:jmeter正则表达式提取器元件讲解_第2张图片

 名称/注释:自定义的描述性文字

APPly to: 作用范围

  Main sample and sub-samples: 作用于主节点的取样器及对应子节点的取样器

  Main sample only:仅作用于主节点的取样器

  Sub-samples only: 仅作用于子节点的取样器

  JMeter Variable Name to use: 作用于jmeter变量(输入框内可输入jmeter的变量名称),从指定 变量值中提取需要的值

要检查的响应字段:

  1、主体:响应报文的主体,最常用

  2、Body(unescaped):主体,是替换了所有的html转义符的响应主体内容,注 意html转义符处理时不考虑上下文,因此可能有不正确的转换,不太建议使用

  3、Body as a Document:从不同类型的文件中提取文本,注意这个选项比较影 响性能

  4、信息头:响应头部信息;

  5、Request Headers: 请求信息头;

  6、URL:请求url;

  7、响 应代码:比如200、404等;

  8、响应信息:响应正文。

引用名称:Jmeter变量的名称,存储提取的结果;如果在下个请求中想引用这个 变量,语法:${引用名称}

  ${引用名称_0}: 表示取整个正则表达式的值

  ${引用名称_1}: 表示取第一个的值

  ${引用名称_2}: 表示取第二个的值

正则表达式:使用正则表达式解析响应结果,“()”表示提取字符串中的部分值。 常用的正则表达式为 (.+?)

    ():括起来的部分就是要提取的内容;
    .:匹配任意字符串;
    +:匹配一次或多次;
    ?:在找到第一个匹配项后停止匹配。

模版:用$$引用起来,如果在正则表达式字段中,文本框写了多个正则表达式, 则可以是$2$$3$等等,表示提取到的第几个值给引用名称;如:$1$ 表示匹配到的第1个值赋给引用名称。

匹配数字:正则表达式匹配数据的结果可以看做一个数组,该字段表示如何取值: 0代表随机取值,正数n则表示取第n个值(比如1代表取第一个值),负数则表 示提取所有符合条件的值

缺省值:如果正则表达式没有匹配到值,则使用此缺省值给引用名称。也可以勾 选使用空默认值,使用空作为默认值

jmeter中如何关联操作的步骤如下:

1、在上一个取样器中增加正则表达式提取器提取需要的值;

如下图:在第一个http请求下添加正则表达式提取器提取响应信息

全网最新最全面的Jmeter接口测试:jmeter正则表达式提取器元件讲解_第3张图片

2、在下一个取样器需要值的部分用 ${变量名} 方式引用

如下图:在第二个http请求中引用变量名

全网最新最全面的Jmeter接口测试:jmeter正则表达式提取器元件讲解_第4张图片


在线正则表达式测试工具讲解:

  该工具主要针对程序开发人员和测试人员使用,通过该工具可以快速准确的 判断所写的正则是否能正确匹配相应的字符。

  比如我们在平时的接口测试工作中,为了验证正则表达式编写取到的值是否 正确,需要反复去执行请求并调试,而使用在线正则表达式测试工具你可以只执 行一次请求,然后把响应正文拷贝出来放入在线正则表达式测试工具中的待匹配 文本处,把写好待验证的的正则表达式去进行验证即可,验证通过,再把正确的 正则表达式放入jmeter该元件中

工具网址:https://tool.oschina.net/regex

全网最新最全面的Jmeter接口测试:jmeter正则表达式提取器元件讲解_第5张图片


调试取样器(Debug sampler)

  在进行正则表达式实战之前,为了能查看正则表达式截取的值是否准确, 可以用调试取样器来查看。通过取样器--调试取样器添加该元件即可,默认查看 变量的值,一般把调试取样器放置在所有取样器后面即可。

1、取响应状态码
2、取响应信息
3、取指定的响应头部信息
4、截取响应正文部分
5、匹配多项随机取值

全网最新最全面的Jmeter接口测试:jmeter正则表达式提取器元件讲解_第6张图片

 自动化测试相关教程推荐:

2023最新自动化测试自学教程新手小白26天入门最详细教程,目前已有300多人通过学习这套教程入职大厂!!_哔哩哔哩_bilibili

2023最新合集Python自动化测试开发框架【全栈/实战/教程】合集精华,学完年薪40W+_哔哩哔哩_bilibili

测试开发相关教程推荐

2023全网最牛,字节测试开发大佬现场教学,从零开始教你成为年薪百万的测试开发工程师_哔哩哔哩_bilibili

postman/jmeter/fiddler测试工具类教程推荐

讲的最详细JMeter接口测试/接口自动化测试项目实战合集教程,学jmeter接口测试一套教程就够了!!_哔哩哔哩_bilibili

2023自学fiddler抓包,请一定要看完【如何1天学会fiddler抓包】的全网最详细视频教程!!_哔哩哔哩_bilibili

2023全网封神,B站讲的最详细的Postman接口测试实战教学,小白都能学会_哔哩哔哩_bilibili

  总结:

 光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

如果对你有帮助的话,点个赞收个藏,给作者一个鼓励。也方便你下次能够快速查找。

如有不懂还要咨询下方小卡片,博主也希望和志同道合的测试人员一起学习进步

在适当的年龄,选择适当的岗位,尽量去发挥好自己的优势。

我的自动化测试开发之路,一路走来都离不每个阶段的计划,因为自己喜欢规划和总结,

测试开发视频教程、学习笔记领取传送门!!

你可能感兴趣的:(jmeter,正则表达式)