在上一篇:主要介绍线程组、HTTP请求默认值、用户定义的变量、固定定时器的应用场景及实战。

以下主要介绍正则表达式提取器、调式取样器(Debug Sampler)、响应断言、HTTP信息头管理器的应用场景及实战。

一、正则表达式提取器

1、使用场景

从请求的响应结果中取到需要的内容,作为下一个接口的入参从而实现关联。比如登录后,用正则表达式获取token,其他接口携带token请求。

2、正则表达式提取器界面说明

①HTTP请求右键,依次点击添加--》后置处理器--》正则表达式提取器。

②创建的正则表达式提取器页面如下:

APPly to:

  • Main sample and sub-samples: 作用于主节点的取样器及对应子节点的取样器;
  • Main sample only:仅作用于主节点的取样器;
  • Sub-samples only: 仅作用于子节点的取样器;
  • JMeter Variable Name to use: 作用于jmeter变量(输入框内可输入jmeter的变量名称),从指定变量值中提取需要的值。

要检查的响应字段:

  • 主体:响应报文的主体,最常用;
  • Body(unescaped):主体,是替换了所有的html转义符的响应主体内容,注意html转义符处理时不考虑上下文,因此可能有不正确的转换,不太建议使用;
  • Body as a Document:从不同类型的文件中提取文本,注意这个选项比较影响性能;
  • 信息头:响应信息头;
  • Request Headers:请求信息头;
  • URL:请求url;
  • 响应代码: 响应状态码,比如200、404等;
  • 响应信息: 响应信息。

引用名称

提取结果之后的变量名称,即下个请求需要引用的值,后面引用方式是${变量名}。

正则表达式

使用正则表达式解析响应结果,()括号表示提取字符串中的部分值,前后是提取的边界内容。

一般通用的正则表达式(.+?)。

如需了解更多关于正则表达式知识,可参照:Python自动化测试-正则表达式解析一文。

模板:

如果正则表达式有多个提取结果,则结果是数组形式。若只有一组表达式,则使用$1$,两组正则匹配使用$1$$2$,以此类推。

匹配数字

正则表达式匹配数据的结果可以看做一个数组:-1表示全部,0表示随机,1表示第一个,2表示第二个,依次类推。

缺省值

如果参数没有取到值,那默认给个值,比如null。

3、实战小例子

提取登录响应结果的token:

①创建一个线程组。

②创建一个HTTP请求,用来发送登录请求,登录接口请求参数配置如下。

③HTTP请求,右键,创建一个正则表达式提取器。

先来看下登录接口返回结果:

{    "data": {        "mobile": "12345678",        "id": 500,        "rid": 0,        "email": "adsfad@qq.com",        "username": "admin",        "token": "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1aWQiOjUwMCwicmlkIjowLCJpYXQiOjE1OTA5MDY3MzAsImV4cCI6MTU5MDk5MzEzMH0.M3CWrgsDUMvnhkprQMBJ1wWY5OKO-mKiOD4EJ2YV4zc"    },    "meta": {        "msg": "登录成功",        "status": 200    }}

正则表达式提取token,配置如下:

④创建一个察看结果树,运行后,接口返回如下:

二、调式取样器

(Debug Sampler)

1.使用场景

主要用于打印出变量进行调试。比如上面例子,虽然用正则表达式提取了token,但我们并不知道token是否有正确提取,可以使用调式取样器查看。

2.调试取样器界面说明

①线程组右键,依次点击添加--》取样器--》Debug Sampler。

②调式取样器界面如下:

有三个参数Jmeter 属性,选项值默认即可。

Jmeter 属性,系统属性,一般不会变,不需要调试。

Jmeter 变量调试的是Jmeter中自定义的变量,包含如下这些自定义变量:

  • 选中线程组,右键,添加--配置元件—用户定义的变量;
  • 通过后置处理器生成的变量:Jmeter关联;
  • 使用csv参数化的变量:Jmeter参数化。

3.实战小例子

①创建线程组、HTTP请求、正则表达式提取器、察看结果树(介绍正则表达式实战例子有,这里省略创建步骤)。

②创建调式取样器(debug sampler),不需要修改,默认即可。

③运行,在察看结果树中,选择调试取样器,可以看到token已经正常获取到。

注意:一般来说调式取样器(debug sampler)用于自测使用,上线时可以删除。

三、响应断言

1.使用场景

在接口测试过程中,需要判断接口返回结果是否正确。

2.响应断言界面说明

①HTTP请求,右键,依次选择添加--》断言--》响应断言。

②响应断言界面如下:

Apply to:

  • Main sample and sub-samples 范围包括主取样器与所有子取样器。
  • Main sample only 范围仅限于主取样器。
  • Sub-samples only 范围仅限于所有子取样器。
  • JMeter Variable Name to use 范围包括使用的Jmeter变量。

测试字段:

响应文本:响应正文。(常用)。

响应代码:响应状态码,比如200、304、404等。

响应信息:响应消息。,比如OK、Not Modified、Not Found等。

响应头:响应请求头。

请求头:请求头。

URL样本:请求的url。

文档(文本):从各种类型的文档中提取文本。此选项开启也会严重影响性能,谨慎使用。

忽略状态:忽略响应状态。

请求数据:请求的body内容。

模式匹配规则:

包括:如果文本包含正则表达式模式,则为true。

匹配:如果整个文本与正则表达式模式匹配,则为true。

相等: 如果整个文本等于模式字符串(区分大小写),则为true。

字符串:如果文本包含模式字符串(区分大小写),则为true。

否:对断言结果进行否定。

或者:将多个测试模式以逻辑“或”组合起来。

3.实战小例子

①创建线程组、HTTP请求、正则表达式提取器、察看结果树(上面实战例子有写,这里省略创建)。

②HTTP请求右键,创建一个响应断言。我们再来看下响应结果的信息:

{    "data": {        "mobile": "12345678",        "id": 500,        "rid": 0,        "email": "adsfad@qq.com",        "username": "admin",        "token": "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1aWQiOjUwMCwicmlkIjowLCJpYXQiOjE1OTA5MDY3MzAsImV4cCI6MTU5MDk5MzEzMH0.M3CWrgsDUMvnhkprQMBJ1wWY5OKO-mKiOD4EJ2YV4zc"    },    "meta": {        "msg": "登录成功",        "status": 200    }}

断言的方式可以多种,比如断言msg、status或者msg、status一起断言,甚至你用其他返回的字段也是可以的。

这里我们用msg断言,配置如下:

③运行后,如断言失败,在察看结果树里http请求会红色显示。

四、HTTP信息头管理器

1.使用场景

在接口测试中,有时候需要携带请求头,比如接口需要携带token进行请求,token需要放在请求头里。

2.HTTP信息头管理器界面说明

①线程组,右键,依次点击添加--》配置元件--》HTTP信息头管理器。

②HTTP信息头管理器界面如下:

HTTP信息头管理器比较简单,直接添加请求头信息的键值对就可以。

3.实战小例子

①创建线程组、HTTP请求、正则表达式提取器、察看结果树、响应断言(上面实战例子有写,这里省略创建步骤)。

②线程组下,新建一个HTTP消息头管理器。

在上面介绍正则表达式提取器,我们已经将登录后的token用正则提取出来了,这里直接引用,相当于全局设置了token,其他接口请求时会自动在请求头带上token。

在HTTP信息头管理器引用token如下:

③线程组右键,新建一个http请求,用于请求用户数据列表接口。

④运行后,发现用户数据列表接口在请求头自动携带了token。

总结:本文主要介绍正则表达式提取器、调式取样器(debug sampler)、响应断言、HTTP信息头管理的应用场景及实战。

今日问题

你在使用Jmeter过程中,常用的元件或插件有哪些?

jmeter中重定向多个正则表达式_2020年jmeter技术实战续集,最新技术全栈,值得收藏相关推荐

  1. 在jmeter中怎么提取数据_如何使用JMeter从文件中提取数据

    在性能测试方面,重用响应数据至关重要.几乎(如果不是全部!)负载测试场景假设您: 从先前的响应中提取有趣的方面,并在下一个请求中重用它们(也称为相关) 确保实际响应符合预期(又称断言) 因此,如果您是 ...

  2. python爬虫中requests库和正则表达式之淘宝爬虫实战

    #python版本基于2.7 使用requests库是需要安装的,requests库相比urllib 库来说更高级方便一点,同时与scrapy相比较还是不够强大,本文主要介绍利用requests库和正 ...

  3. JMeter中的HTTPS套接字错误

    Apache JMeter对启用SSL的应用程序执行性能和/或负载测试时,SSL套接字错误可能是经常遇到的麻烦,严重阻碍了您的测试工作.本文重点介绍如何通过相应地配置和调优JMeter来克服这些与连接 ...

  4. 每天15分钟JMeter入门篇(二):使用JMeter实现并发测试

    每天15分钟JMeter入门篇(一):Hello JMeter 每天15分钟JMeter入门篇(二):使用JMeter实现并发测试 每天15分钟JMeter入门篇(三):认识JMeter的逻辑控制器 ...

  5. 软件测试工程师必看:如何使用JMeter中的正则表达式?

    如果你在JMeter脚本中看到这样一些符号:(.*?)(\d+),你是否会以为程序出现了乱码?拆开来看每个符号似乎都有固定的含义,组合在一起竟成了令人费解的天书.这些神秘符号究竟蕴含了哪些强大的功能, ...

  6. 【全栈接口测试进阶系列教程】入门到入职的jmeter接口测试工具实战,接口测试步骤,正则表达式jsonpath,断言,接口加密,beanshell,jdbc,jmeter+ant+jenkins

    目录 [本文简介看之前请详细的看完介绍] 本文是全网首发的[全栈接口测试进阶系列教程]jmeter接口测试工具从入门到入职, 接口系列包含 接口测试系列包含所有的接口测试工具入门到入职,如果你喜欢的话 ...

  7. Jmeter中的断言使用讲解

    文章目录 断言 响应断言 JSON Assertion Size Assertion JSR223 Assertion XPath Assertion Compare Assertion 断言持续时间 ...

  8. jmeter中md5加密

    1.可以在jmeter的bean shell中添加md5加密代码 package cn.wk.jl.util;import java.security.MessageDigest;public cla ...

  9. 转帖Jmeter中的几个重要测试指标释义

    Aggregate Report 是 JMeter 常用的一个 Listener,中文被翻译为"聚合报告".今天再次有同行问到这个报告中的各项数据表示什么意思,顺便在这里公布一下, ...

最新文章

  1. 2.SDL游戏开发:把代码写长一点(一)
  2. python 作用with_即使__init__方法有效,Python中的With语句仍返...
  3. 《Python》进程收尾线程初识
  4. 一维卷积神经网络_序列特征的处理方法之二:基于卷积神经网络方法
  5. Qt工作笔记-QGraphicsView框架容易忽视的坐标问题-“画布”QgraphicsScene到底放在了哪儿?
  6. 团队项目改进与详细设计
  7. 被窃听、被定位:“裸奔时代”还有隐私吗?
  8. Nginx/Apache/Tomcat记录屏蔽真实IP
  9. Android版日语学习应用的逆向分析
  10. install报Failed to execute goal on project xxx: Could not resolve
  11. 海外国外支付渠道接口对接
  12. 阿里云 OSS + CDN 部署静态网站配置
  13. codewars----Descending Order
  14. 彻底搞懂AQS-重点方法精讲 [并发劝退- 哭唧唧]
  15. CDS — 数据管理分析平台
  16. 蒸米ROP学习笔记(一步一步学 ROP 之 Linux_x86 篇)
  17. 虚幻四蓝图实战(人物切换汽车控制)
  18. 从网景到chrome
  19. 古典水墨风格传统节日文化习俗介绍PPT模板
  20. class--杂项(一)

热门文章

  1. 使用pssh进行并行批量操作
  2. poj 1256 Anagram—next_permutation的神奇应用
  3. ibatis中使用List作为传入参数的使用方法及 CDATA使用
  4. 汇编语言学习系列 for循环实现
  5. N个三角形分割平面个数(数学)
  6. C#复制文件到指定文件夹
  7. rails3系统架构
  8. USACO 3.3.2 Shopping Offers解题报告
  9. 关于活动对像要注意的问题
  10. touchWX使用 echarts