一、利用全局请求前后脚本,实现自动在接口header中添加token
注意:Yapi的脚本是全局脚本,和postman不同,postman可以在每个接口设置脚本。
场景说明:
第一步,从登录接口(/login)结果中获取token存入全局变量token中。
第二步,在其他需用token的请求中在header中自动添加鉴权token。
实现步骤:
1、添加全局变量token,如下图所示。
2、从登录接口获取token存入全局变量,如下图所示。
3、给除了登录接口外其他接口的header添加鉴权token。如下图所示。
4、运行测试。先执行登录接口,然后调用其他接口,发现已经在接口header中添加了token。
总结:这样就可以全局设置token等公共参数。在其他接口就可以省去配置公共参数的工作。也方便修改。
二、利用接口参数传递,实现把上一个接口结果值作为当前接口的参数。
场景说明:第一个接口返回一数组,第二个接口的参数是第一个接口中的返回结果的字段值。
实现步骤:
1、将所需接口导入测试集合(点击+号)。如下图所示。
2、使用第一个接口返回结果的字段值。比如上图我的代办接口需要用到查找项目接口中的tENANTID的值。如下图所示。
在我的代办接口编辑中添加参数。如图所示。
解释:$.8.body.data.records[0].tENANTID,这是YAPI接口参数传递的写法。
格式为:$.{key}.{params|body}.{path}
① key为测试集合总前一个接口的key值,如上面1步骤的第一图。
② 如果使用上一个接口中请求参数中的数值,用params。
③ 如果使用上一个接口中响应返回结果中的数值,用body。
④ path为所需json数据的节点。
3、在测试集合中运行。自动按顺序执行接口,如下图所示。
测试完成看结果。达到了预期目的。如下图所示。