最近遇到一个请求重定向。想要判断url 是否和预期一致。找了下有两种方法:
一、用正则表达式提取器
1、想要提取如下图响应数据
正则表达是提取设置如下:
二、beanshell 断言
该组件可以直接获取ResponseHeaders,底部显示如下:
代码如下:
import java.util.HashMap;
import java.util.Map;
//获取请求头数据,
String abc = ResponseHeaders;
/***返回数据如下
HTTP/1.1 302
Server: nginx
Date: Thu, 18 Jul 2019 04:25:38 GMT
Transfer-Encoding: chunked
Connection: keep-alive
X-Application-Context: gateway:h5:8090
login: false
srv_code: 200
Location: https://********
Access-Control-Allow-Origin: *
Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept
Access-Control-Allow-Methods: GET, POST, OPTIONS
***/
//将字符串用换行符 截取为adc数组
String [] adc = abc.split("\n");
//创建 param1 hashmap
Map params1 = new HashMap();
//循环 map
for(int i=1;i<adc.length;i++){//获得单个数组 如 Server: nginxString a=adc[i];//将 Server: nginx 分割成 Server 和nginxString [] b=a.split(": ");//将server 和nginx 加入mapparams1.put((b[0]),b[1]);}
//获得key 为location 的值:https://********
String urlsj = params1.get("Location");
以上是两种获取响应头数据的方法