本文主要讲解接口管理工具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 值为valueapt.variables.get("key"); // 获取环境变量 key的值apt.variables.delete("key"); // 删除环境变量 keyapt.variables.clear(); // 清空环境变量

2、设置全局变量

apt.globals.set("key", "value"); // 设置一个全局变量 key 值为valueapt.globals.get("key"); // 获取全局变量 key的值apt.globals.delete("key"); // 删除全局变量 keyapt.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字段是否大于1apt.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=="    }}

jenkins构建后脚本不执行_接口管理工具ApiPost-预(后)执行脚本常用方法集合相关推荐

  1. 写在国产接口管理工具ApiPost 5.2.5发布后的一些话

    好多年没写文章了,突然想写些什么东西的时候,却卡顿如狗,瞬时自身的内存和CPU均红色报警,不知道从何处下笔. 遥想以前学生时代,本人还是语文老师口中的才子,曾多次向校报投稿,如今竟沦落到这个境地. 与 ...

  2. 接口测试工具--apipost预/后执行脚本

    ApiPost预执行脚本:预执行脚本就是在接口发送之前执行脚本中的脚本. 我们在预执行脚本中使用console.log("预执行脚本")打印预执行脚本这句话 就会在接口请求发送之前 ...

  3. 利用ApiPost接口管理工具校验/测试API返回结果是否符合预期

    本文主要讲解接口管理工具ApiPost的预执行脚本和后执行脚本里,怎么校验/测试接口返回结果是否符合预期? ApiPost简介: ApiPost是一个支持团队协作,并可直接生成文档的API调试.管理工 ...

  4. ApiPost与PostMan,你可以任选一款不错的接口管理工具

    我们都知道在一个团队中是由很多角色组成的,例如:业务.产品.设计.前端.后端.测试.每个角色各司其职,一起合作完成项目的交付. 而前端与后端的沟通则是需要通过一个统一的文件进行沟通交流,即通过接口文档 ...

  5. 组件分享之后端组件——阿里妈妈前端团队出品的开源接口管理工具RAP第二代rap2-delos...

    组件分享之后端组件--阿里妈妈前端团队出品的开源接口管理工具RAP第二代rap2-delos 背景 近期正在探索前端.后端.系统端各类常用组件与工具,对其一些常见的组件进行再次整理一下,形成标准化组件 ...

  6. 【云原生之Docker实战】使用Docker部署Rap2开源接口管理工具

    [云原生之Docker实战]使用Docker部署Rap2开源接口管理工具 一.Rap2介绍 二.检查宿主机系统版本 三.检查本地docker环境 1.检查docker服务状态 2.检查docker配置 ...

  7. 接口规范文档总结、接口管理工具推荐、如何写出完美的接口

    写在前面:这是我最近整理的接口规范文档,无规矩不成方圆,为了app开发人员与后台接口开发人员更好的配合,我特意整理了这么一篇文档供大家参考学习,如有意见请在评论区留言谢谢.因部分内容涉及公司代码,我对 ...

  8. Java后端接口自动生成神器 -- EasyYapi插件(Yapi接口管理工具在IDEA里的插件)

    Java后端接口自动生成神器 – EasyYapi插件(Yapi接口管理工具在IDEA里的插件) 一.先看效果 1.生成yapi文档的效果 2.生成postman格式数据并导入接口测试类后的效果(如p ...

  9. API Manager PHP 接口管理工具

    API Manager PHP 接口管理工具 下载地址:https://download.csdn.net/download/qq_19264385/10798697 接口开发过程中必不可少的的接口管 ...

最新文章

  1. 数据科学很性感?不,其实它非常枯燥!
  2. Ubuntu12.04配置LAMP 环境
  3. border-collapse 关于继承问题
  4. 最新!图像去噪综合比较研究
  5. C Primer Plus 第13章 文件输入/输出 13.11 编程练习答案
  6. 《MFC游戏开发》笔记七 游戏特效的实现(一):背景滚动
  7. tsdb java_OpenTSDB 问题集锦
  8. PowerDesigner设置code和name不联动的方法
  9. Atitit.guice3 ioc 最佳实践 o9o
  10. 甲方爸爸素材给得少,怎么做出高大上的设计?
  11. 题目72 好朋友的位置(ok)
  12. (Android+Qt最小系统设计方案)RK3288核心板设计之软件开发环境搭建(4.0)
  13. 使用esp8266前的网络基础
  14. HTML的学习---为了python爬虫网页
  15. html和linux下目录路径中 杠,点杠,点点杠区别
  16. html渲染json的插件,lottieJS(Json动画的使用)
  17. CyberArk被评为2020年Gartner特权访问管理魔力象限的领导者
  18. Lession10 常用类(正则表达式、Date Time结构、string类、Math类)
  19. 弘辽科技:拼多多批发单算销量吗?拼多多刚开店怎么有销量
  20. vue实现省市区三级联动地址选择组件

热门文章

  1. datetime类型怎么输入_精心整理MySQL基本使用(数据库的操作、数据类型、MySQL的常用命令)...
  2. JVM 虚拟机类加载过程和双亲委派机制
  3. 微信小程序生成分享图片踩坑大计划
  4. centos7 安装/卸载 任意版本的mariadb(mysql)
  5. 发布python项目到pypi,以便供他人用pip install安装
  6. Jedis使用java连接Redis
  7. python/正则 从字符串中提取数字
  8. 14寸笔记本电脑_苹果 华为 联想 笔记本电脑报价 11月3日
  9. 为什么 jmeter 分布式测试,一定要设置 java.rmi.server.hostname
  10. 远程桌面保存密码(凭据)的备份导出