第一种方法比较简单:直接在线程组下面添加一个HTTP Cookie管理器,就可以实现和后面的接口自动关联
第二种方法: 使用正则表达式
-
在登录接口下面添加正则表达式
-
设置正则表达式
- 先查看登录返回的响应数据sessionid在哪里面,如下,查看sessionid在响应头里面
- 先查看登录返回的响应数据sessionid在哪里面,如下,查看sessionid在响应头里面
-
在正则表达式里面选择信息头:
引用名称一般是:sessionid
正则表达式直接复制登录返回的相应信息:Set-Cookie: (.*?); ()内就是你需要的部分
模板: 双$符号加1 就代表提取1次
其他默认
直接在线程组添加一个调试取样器–方便查看正则有无提取到
-
在后续接口添加HTTP信息头管理器,引入变量:名称 Cookie 值 ${sessionid}
-
执行查看结果–如下图就正常把sessionid提取出来了
第三种方法 使用json提取器
- 先加入HTTP请求默认值
- 在添加组件–HTTP Cookie管理器
- 编写登录接口
- 在登录接口加入正则
- 列出课程
- 在列出课程接口下添加JSON提取器,先执行一次,在查看结果数选择JSON Path Tester,
在JSON Path Expression输入 : .retlist.id 点击Test 成功获取课程的所有id
- 加入JSON提取器,course_id是变量名
.retlist…id 是刚刚上个接口获取的结果,1个点代表获取第1层,2个点代表获取第二层,这里在第二层,所以两个.id
1代表固定取第一个返回的值,0是随机
- 加入修改课程接口,把变量${course_id}引入到参数里面
- 执行后成功修改课程
备注:如果接口返回的是json格式,建议优先使用json正则提取器,比较简单