添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
前言

现在很多接口的登录是返回一个json数据,token值在返回的json里面,在jmeter里面也可以直接提取json里面的值。

上一个接口返回的token作为下个接口的入参。

案例场景

我现在有一个登陆接口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请求,填登录接口的参数

jmeter压测-02-后置处理器-Json提取器_post请求

HTTP信息头管理器添加post请求类型:Content-Type: application/json

jmeter压测-02-后置处理器-Json提取器_接口文档_02

运行之后查看结果数,可以看到正确的返回我们想要的token值

jmeter压测-02-后置处理器-Json提取器_post请求_03

Json 提取器

添加后置处理器-Json提取器

jmeter压测-02-后置处理器-Json提取器_请求头_04

从返回的结果中提取token值

jmeter压测-02-后置处理器-Json提取器_接口文档_05

返回的结果

{
"code": 0,
"msg": "login success!",
"token": "234af73571da46ade79ea6a74961b1d23d609b79",
"username": "test"
}


JSON提取器参数说明:

  • Names of created variables 参数名称
  • JSON Path expressions 提取表达式
  • Match No.(0 for Random) 匹配规则,-1所有,0随机,1第一个
  • Compute concatenation va 如果有匹配到多个值,选择此项,会将全部值保存到_ALL,并使用逗号分割每个值,注意Match No. (0 for Random)需要为-1才有效,不然只能匹配到一个值了
  • Default Values 没提取到就给默认值
关联请求

下个请求头部需要用到上面的token值

jmeter压测-02-后置处理器-Json提取器_json_06

添加头部管理器,引用token参数 ${token}

jmeter压测-02-后置处理器-Json提取器_post请求_07

查看结果,请求头部关联参数成功

jmeter压测-02-后置处理器-Json提取器_请求头_08

查看响应结果也能正确的返回

jmeter压测-02-后置处理器-Json提取器_接口文档_09

遇到的坑

参数关联的时候,遇到一个坑,请求的参数都对,但是报错:

Response code: Non HTTP response code: org.apache.http.NoHttpResponseException

jmeter压测-02-后置处理器-Json提取器_post请求_10

后来查资料,需要把第一个请求的的客户端实现用JAVA方式实现,才能正常的关联成功

jmeter压测-02-后置处理器-Json提取器_json_11

JMeter学习-009-JMeter 后置处理器实例之 - 正则表达式提取器(二)多参数获取JMeter学习-008-JMeter 后置处理器实例之 - 正则表达式提取器(一)

前文简述了通过后置处理器 - 正则表达式提取器 获取 HTTP请求 响应结果中的特定数据,未看过的亲,敬请参阅 JMeter学习-008-JMeter 后置处理器实例之 - 正则表达式提取器(一)。 此文主要对正则表达式提取器的 正则表达式、模板、匹配数字,三者的关系,做进一步的讲解。 截取商品列表

java无向图可视化 java无向图的创建

一、基于邻接矩阵表示法的无向图  邻接矩阵是一种利用一维数组记录点集信息、二维数组记录边集信息来表示图的表示法,因此我们可以将图抽象成一个类,点集信息和边集信息抽象成类的属性,就可以在Java中描述出来,代码如下: 1 class AMGraph{ 3 private String[] vexs = null;   //点集信息 5 private