zoukankan      html  css  js  c++  java
  • Jmeter学习笔记(十九)——后置处理器之正则表达式的使用

    一、正则表达式提取器的作用

    允许用户从服务器的响应中通过使用perl的正则表达式提取值。作为一个后置处理器,该元素会作用在指定范围的取样器,应用正则表达式,提取所需要的值,生成模板字符串,并将结果存储到给定的变量名中。 

    如果有这样的情况:一个完整的操作流程,需要先完成某个操作,获得某个值或数据信息,然后才能进行下一步的操作(也就是常说的关联/将上一个请求的响应结果作为下一个请求的参数)。这个时候就可以使用上正则表达式提取器了

    二、正则表达式提取器页面说明

    说明:

    后置处理器:在请求结束或者返回响应结果时发挥作用

    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:响应信息

    引用名称(Reference Name):Jmeter变量的名称,存储提取的结果;即下个请求需要引用的值、字段、变量名(例子中我提取的是SOCIAL_NO)

    引用方法:引用方法:${引用名称}

    正则表达式(Regular Expression):使用正则表达式解析响应结果,“()”表示提取字符串中的部分值,请不要使用“||”,除非你本身需要匹配这个字符。

    下面是常用的正则表达式操作符:

    ():括起来的部分就是要提取的。

    .:匹配任何字符串。
    +:一次或多次。
    ?:不要太贪婪,在找到第一个匹配项后停止。

    模板(Template):模板,用来从匹配的结果中创建一个字符串,这是通过正则表达式匹配出来的一组值,语法为:$1$指代第一组,$2$指代第二组,$0$指代整个匹配结果

    匹配数字(Match No):匹配数字,指明哪一个匹配结果值将被使用,正则表达式一般会有多个匹配结果。使用:0,表示Jmeter任选一个匹配值,使用:正整数N,表示Jmeter选择第N个值进行匹配,使用负数表示选取所有的值,一般与ForEach控制器配合使用

    缺省值:如果正则表达式没有匹配到数据,引用变量将会返回一个默认值,在调试中此功能很有用,如果没有设置默认值,那么很难分辨出正则表达式是否有匹配到数据或使用是否正确,当然你也可以根据你的测试需求,在调试完成后去掉默认值的设置

    提取到的参数,调用时用${SOCIAL_NO_1},${SOCIAL_NO_2}...,如果想要得到匹配出的参数的个数,用${SOCIAL_NO_matchNr},如果想随机选取一个,只需要将

    匹配数字设为0,使用${SOCIAL_NO}调用即可。

    三、使用实例

    1、比如需要提取如下响应文本中的 “<title>百度一下,你就知道</title>” 里面的 “百度一下,你就知道”

     2、设置正则表达式提取器

    3、引用提取出来的值

    4、查看结果

    参考博文:

    https://www.cnblogs.com/imyalost/p/6485754.html

    https://www.cnblogs.com/wuyepiaoxue/p/5661194.html

  • 相关阅读:
    Python之数据类型
    Python之变量
    第01组Alpha冲刺总结
    第01组 Alpha冲刺(6/6)
    第01组 Alpha冲刺(5/6)
    第01组 Alpha冲刺(4/6)
    第01组 Alpha冲刺(3/6)
    第01组 Alpha冲刺(2/6)
    第01组 Alpha冲刺 (1/6)
    第01组(17) 需求分析报告
  • 原文地址:https://www.cnblogs.com/pachongshangdexuebi/p/11733005.html
Copyright © 2011-2022 走看看