ApiPost-预(后)执行脚本常用方法集合

举报
奔四码农 发表于 2020/06/02 23:59:28 2020/06/02
【摘要】 本文主要讲解接口管理工具ApiPost的预执行脚本和后执行脚本里,常见的响应参数变量和常用方法集合。

本文主要讲解接口管理工具ApiPost的预执行脚本和后执行脚本里,常见的响应参数变量和常用方法集合。

ApiPost简介:

ApiPost是一个支持团队协作,并可直接生成文档的API调试、管理工具。它支持模拟POST、GET、PUT等常见请求,是后台接口开发者或前端、接口测试人员不可多得的工具 。

ApiPost响应参数变量

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"]

ApiPost常用方法集合:

1、设置环境变量

apt.variables.set("key", "value"); // 设置一个环境变量 key 值为value
apt.variables.get("key"); // 获取环境变量 key的值
apt.variables.delete("key"); // 删除环境变量 key
apt.variables.clear(); // 清空环境变量


2、设置全局变量

apt.globals.set("key", "value"); // 设置一个全局变量 key 值为value
apt.globals.get("key"); // 获取全局变量 key的值
apt.globals.delete("key"); // 删除全局变量 key
apt.globals.clear(); // 清空全局变量


3、检查response body中是否包含某个string

apt.assert('response.raw.responseText=="test"');  // 检查响应文本是否等于test字符串
apt.assert('response.raw.responseText.indexOf("test") > -1');  // 检查响应文本是否含有test字符串


4、检测返回JSON中的某个值是否等于预期的值

apt.assert('response.json.hasOwnProperty("errcode")'); // 检测返回json对象的是否含有errcode字段
apt.assert('response.json.errcode=="success"');  // 检测返回json对象的errcode字段是否等于success字符串
apt.assert('response.json.errcode.indexOf("success") > -1');  // 检测返回json对象的errcode字段是否含有success字符串
apt.assert('response.json.errcode!="success"');  // 检测返回json对象的errcode字段是否不等于success字符串
apt.assert('response.json.errcode>=1');  // 检测返回json对象的errcode字段是否大于1
apt.assert('response.json.errcode==null'); // 检测返回json对象的errcode字段是否是null


5、测试response Headers中的某个元素是否存在(如:Content-Type)

apt.assert('response.headers.hasOwnProperty("content-type")');


6、验证Status code(响应码)的值是不是等于200

apt.assert('response.raw.status==200');


7、验证Response time(请求耗时)是否大于某个值

apt.assert('response.raw.responseTime>=100');


8、获取请求参数:

我们可以在预执行脚本里,通过 request 对象来获得请求的参数数据。该对象结构如下:

{
    "url": "https://console.apipost.cn/need_token.php",  // 字符串,请求URL
    "method": "POST",    // 字符串,请求方式
    "timeout": 25000,    // 数字,请求超时时间限制(毫秒)
    "contentType": "application/x-www-form-urlencoded", //字符串,请求contentType
    "request_bodys": { // 对象,预定义请求Body参数
        "user_id": "1",
        "nick_name": "jim green"
    },
    "request_headers": { // 对象,预定义请求Header参数
        "Authorization": "Basic amltOnB3ZDEyMw=="
    }
}


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。