Jmeter 正则表达式提取Response Headers,Response Body里的值

实践过程中遇到需要提取Response Headers,Response Body里的值

一、获取Response Body的值,这里采用json提取器形式

1、Response Body返回值,如下图,要获取ticket的值

2、新建json提取器,获取ticket的值

下图新建json提取器步骤

 

 上图参数:

names of created Variable :保存的变量名,后面使用${变量名}引用,如:${ticket}

JSON Path  expressions:上一步的json返回值,如果:$.ticket

Match No.(0 for Random):匹配数字(0代表随机,1代表第一个,-1代表所有)

Default Values:找不到时默认值,一般设置为NOT FOUND

Compute concatenation var(suffix_ALL):是否统计所有,即将匹配到的所有值保存,名为“变量名_ALL”,使用场景需要获取的值有多个,后面需要对这一组数据进行操作。

 以上想要的参数提取成功,下个接口如何使用,就需要设置后置处理器BeanShell PostProcessor。

3、BeanShell PostProcessor的使用

1)在登录请求后,添加后置处理器 -> BeanShell PostProcessor

 2)在Beanshell PostProcessor中的Script中输入以下代码

 

 如下图进行调用

 以上就是 如何获取Response Body的值。

二、如何获取Response Headers的值

1、 使用正则表达式提取登录接口响应信息头中Cookie的值

 

正则表达式参考:${token}

2、cookie已取到,如何使用呢?在Test Plan中添加一个 HTTP Cooike管理器来调用提取到的Cookie

 

 3、查看运行结果新增用户接口,新增成功

原文地址:https://www.cnblogs.com/cyying/p/14693556.html