最近遇到一个请求重定向。想要判断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");以上是两种获取响应头数据的方法