最近遇到一个请求重定向。想要判断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: nginx
String a=adc[i];
//将 Server: nginx 分割成 Server 和nginx
String [] b=a.split(": ");
//将server 和nginx 加入map
params1.put((b[0]),b[1]);
}
//获得key 为location 的值:https://********
String urlsj = params1.get("Location");
以上是两种获取响应头数据的方法
本文介绍了使用正则表达式提取器及Beanshell断言两种方法来获取HTTP响应头中的Location信息,以便验证URL重定向是否符合预期。
6747

被折叠的 条评论
为什么被折叠?



