1.初学ApiPost自动化测试的时候,遇到了一个问题:登录查询查询“获取柜员信息”接口,点击右侧的执行看响应body的数据是正常返回的,点击右上角的“执行”和“保存并执行”按钮执行响应body却显示会话过期
2.原因:刚开始以为是apipost的bug后面才知道原来是因为登录接口响应头的Set-Cookie的值没有参数化,导致登录后的其他查询接口的cookie没有更新。
点击右侧的执行时使用的仍是旧的cookie,旧的cookie没有过期,所以可以正常返回数据,但是点击右上角的“执行”和“保存并执行”的时候是按照顺序执行的,重新登录后Set-Cookie的值会变化,查询接口的cookie没有更新的话,就会提示会话过期
3.方法:将登录接口响应头的Set-Cookie的值设置为全局变量,就可以在后续的查询接口中通过{{变量名}}的方式来引用
(1)登录接口的后执行脚本添加:apt.globals.set(“setCookie”,response.cookies.LBSESSION);
(2)查询接口通过{{变量名}}引用全局变量,引用的变量名要和在登录接口后执行脚本中的变量名要保持一致