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、查看运行结果新增用户接口,新增成功