JMETER 后置处理器之正则表达式提取器

发布于:2022-12-21 ⋅ 阅读:(607) ⋅ 点赞:(0)

之前的课程讲解过配置元件中间的CSV Data Set Config 组件和函数助手对话框进行参数化,这些数据可以通过客户端进行参数化,但是,性能测试过程中间有些数据不能简单通过客户端进行参数化,而是来源于服务端响应,比如:1、登录成功后服务器会返回一个登录凭证,防止csrf攻击而生成的token。2、查询订单信息订单号是通过服务端响应返回给客户端。3、用户登录,session 信息不同,需保存动态的session。这些情况客户参数化已经无法满足要求,所有,需通过后置处理器组件进行处理。

关联:将上一个请求的响应结果作为下一个请求的参数

线程组右键--->sample-->Http 请求,Http 请求右键--->后置处理器--->正则表达式提取器

参数说明

名称

根据需求定义名称

注释

非必填项

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

引用名称

定义变量的名称,存储提取的结果:即下个请求需要引用的值、字段、变量名(例子中提取的是title)

正则表达式

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

模板

从匹配的结果中创建一个字符串,这是通过正则表达式匹配出来的一组值,意为使用提取到的第几个值(可能有多个值匹配,因此使用模板);从1开始匹配

匹配数字

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

缺省值

匹配失败时候的默认值

正则表达式操作符

操作符

  含义

()

括起来的部分就是要提取的

.

匹配任何字符串

*

表示任意个字符

?

不要太贪婪,在找到第一个匹配项后停止。

\d

数字

\w

数字或者字母

{n}

表示n 个字符

{n,m}

表示n-m个字符

\s

空白符

[]

表示范围

[0-9a-zA-Z]

数字或者字母

 获取更多完整视频资料点击如下链接地址: 

Jmeter高级性能测试实战

软件测试全栈系列课程

Fiddler接口抓包神器使用教程

实例一

  通过后置处理器之正则表达式提取器,提取网易云课堂的标题,然后,Debug Sample 采样器的名称为正则表达式提取器提取出来的内容。

1、新建一个线程组

2、线程组右键---添加--->sample--->Http 请求,服务器名称或IP:study.163.com

Http 请求响应数据,响应数据中间的标题为:<title>网易云课堂 - 专注职场与生活技能提升</title>,把该内容复制到正则表达式提取器,正则表达式:<title>(.+?)</title>,(.+?)为需要提取的内容。

3、Http 请求右键--->后置处理器-->正则表达式提取器,Apply to 选择“Main sample only”,要检查的响应字段选择“主体”,引用名称:title 定义变量名称,以便后续采样器引用,

正则表达式:<title>(.+?)</title>, 模版:$1$,匹配数字(0 代表随机):1,缺省值:null

1、新建一个Debug Sample 采样器,引用正则表达式提取器中间的变量名称为:${title}

1、添加一个察看结果树的监听器,运行,查下结果,察看结果树中间的名称为正则表达式提取器中间的标题。

把正则表达式提取器中间的模版把$1$改成$0$,其他组件保持不变看一下运行结果

获取更多完整视频资料点击如下链接地址: 

Jmeter高级性能测试实战 

软件测试全栈系列课程

Fiddler接口抓包神器使用教程

本文含有隐藏内容,请 开通VIP 后查看