上一个接口返回的token作为下个接口的入参,除了前面一篇讲到的用json提取器提取,也可以用正则提取。 json提取器只能提取json格式的数据,正则可以匹配任意的返回。
我现在有一个登陆接口A,登陆成功后返回一个token值。有一个获取绑定卡号的接口B,但是接口B必须要先登录后传登录的token才能访问 A接口登录接口文档基本信息
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接口获取绑定卡号的接口文档基本信息
先在jmeter里面添加http请求,填登录接口的参数
HTTP信息头管理器添加post请求类型:Content-Type: application/json
运行之后查看结果数,可以看到正确的返回我们想要的token值
添加后置处理器-正则提取器
返回的结果,从结果中提取token对应的值:50c7e57363141459fab998376350ed3c3dee1baf
{"code": 0, "msg": "login success!", "username": "test", "token": "50c7e57363141459fab998376350ed3c3dee1baf"}
正则提取器参数说明:
下个请求引用上面的token参数
查看结果,引用成功