ApiPost的预执行脚本和后执行脚本
从前面的文档可以看出,ApiPost的预执行脚本和后执行脚本主要是用来定义变量。但是它们有什么区别呢?
预执行脚本
在当前接口发送请求前执行的脚本,可以理解为beforeSend的时候执行。
一般在这里,我们可以设置一些前置的变量,比如{{url}}或者其他发送时需要携带的变量。
变量的定义方法,可以参考:ApiPost的变量的定义和使用
后执行脚本
在当前接口发送请求结束后执行的脚本,可以理解为complate的时候执行。
一般在这里,我们可以将请求结束后的响应绑定到某个变量,比如登陆接口响应返回的token。
具体绑定变量的详细方法可以参见《ApiPost接口参数依赖的情景处理》。
另外,后执行脚本还可以进行一些校验工作,从而实现流程测试的目的。比如,我们可以在这里校验当前接口的响应码是否是200:
apt.assert('response.raw.status==200');
附:内置响应变量:
response.raw:原始响应数据
调用示例:
response.raw.status //响应状态码(200、301、404等)
response.raw.responseTime //响应时间(毫秒)
response.raw.type //响应类型(json等)
response.raw.responseText //响应文本
response.json :json格式的响应数据
调用示例如上面示例:
response.json.data.token //也可以 response.json.data["token"]
response.headers :响应头
调用示例:
response.headers.server //也可以 response.headers["server"]
response.cookies :响应cookie
调用示例:
response.cookies.PHPSESSION //也可以 response.cookies["PHPSESSION"]