软件测试技能,JMeter压力测试教程,正则表达式提取(三)

目录

前言

一、场景案例

二、登录请求

三、正则提取器

四、引用参数

          


前言

=接口关联,上一个接口返回的 token 作为下个接口的入参,除了前面一篇讲到的用 json 提取器提取,也可以用正则提取

json 提取器只能提取 json 格式的数据,正则可以匹配任意的返回

一、场景案例

我现在有一个登陆接口 A,登陆成功后返回一个 token 值,有一个获取绑定卡号的接口 B,但是接口 B 必须要先登录后传登录的 token 才能访问

A 接口登录接口文档基本信息
访问地址:http://127.0.0.1:8000/api/v1/login/
请求类型:POST
请求头部:application/json
请求参数:{“username”:”test”, “password”:”123456”}

A 接口的请求和返回的报文信息如下
 

D:\>http http://127.0.0.1:8000/api/v1/login/ username=test password=123456 -v
POST /api/v1/login/ HTTP/1.1
Accept: application/json, */*
Accept-Encoding: gzip, deflate
Connection: keep-alive
Content-Length: 42
Content-Type: application/json
Host: 127.0.0.1:8000
User-Agent: HTTPie/1.0.3
{
    "password": "123456",
    "username": "test"
}
HTTP/1.1 200 OK
Allow: POST, OPTIONS
Content-Length: 109
Content-Type: application/json
Date: Sat, 21 Sep 2019 15:37:06 GMT
Server: WSGIServer/0.2 CPython/3.6.0
Vary: Accept, Cookie
X-Frame-Options: SAMEORIGIN
{
    "code": 0,
    "msg": "login success!",
    "token": "234af73571da46ade79ea6a74961b1d23d609b79",
    "username": "test"
}

B 接口获取绑定卡号的接口文档基本信息
访问地址:http://127.0.0.1:8000/api/v1/user/info/
请求类型:GET
请求头部:Content-Type: application/json
请求头部token参数:Authorization: Token xxxxx login token xxxxx

二、登录请求

先在 jmeter 里面添加 http 请求,填登录接口的参数
软件测试技能,JMeter压力测试教程,正则表达式提取(三)_第1张图片

HTTP信息头管理器添加post请求类型:Content-Type: application/json
软件测试技能,JMeter压力测试教程,正则表达式提取(三)_第2张图片运行之后查看结果数,可以看到正确的返回我们想要的 token 值
软件测试技能,JMeter压力测试教程,正则表达式提取(三)_第3张图片

三、正则提取器

添加后置处理器-正则提取器软件测试技能,JMeter压力测试教程,正则表达式提取(三)_第4张图片

返回的结果,从结果中提取token对应的值:50c7e57363141459fab998376350ed3c3dee1baf
软件测试技能,JMeter压力测试教程,正则表达式提取(三)_第5张图片 

正则提取器参数说明:

要检查的响应字段:样本数据源,默认选主体

引用名称:其他地方引用时的变量名称(re_token),可自定义设置

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

正则表达式:数据提取器,()括号里为你要获取的的值,如:”token”: “(.*?)”

模板:$$对应正则表达式提取器类型。-1全部,0 随机,1第一个2第二个,以此类推,若只有一个正则一般就填写$1$

匹配数字:正则表达式匹配数据的所有结果可以看做一个数组,匹配数字即可看做是数组的第几个元素
-1表示全部,0随机,1第一个,2第二个,以此类推。若只要获取到匹配的第一个值,则填写1

缺省值:匹配失败时的默认值,可以随便写个,不写也可以,或者勾选失败时候使用空值

四、引用参数

下个请求引用上面的token参数
软件测试技能,JMeter压力测试教程,正则表达式提取(三)_第6张图片查看结果,引用成功
请添加图片描述


              【下面是我整理的2023年最全的软件测试工程师学习知识架构体系图】


一、Python编程入门到精通

二、接口自动化项目实战

三、Web自动化项目实战


四、App自动化项目实战

五、一线大厂简历


六、测试开发DevOps体系

七、常用自动化测试工具


八、JMeter性能测试

九、总结(尾部小惊喜)

生命不息,奋斗不止。每一份努力都不会被辜负,只要坚持不懈,终究会有回报。珍惜时间,追求梦想。不忘初心,砥砺前行。你的未来,由你掌握!

生命短暂,时间宝贵,我们无法预知未来会发生什么,但我们可以掌握当下。珍惜每一天,努力奋斗,让自己变得更加强大和优秀。坚定信念,执着追求,成功终将属于你!

只有不断地挑战自己,才能不断地超越自己。坚持追求梦想,勇敢前行,你就会发现奋斗的过程是如此美好而值得。相信自己,你一定可以做到!

资料获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片进群领取。

你可能感兴趣的:(软件测试,自动化测试,技术分享,jmeter,数据库,软件测试,自动化测试,程序人生)