目录:导读

  • 一、前言
  • 二、API 请求响应
  • 三、返回Headers
  • 四、响应结果分屏展示
  • 五、使用断言
  • 六、多种响应参数变量
    • 1、response.raw:原始响应数据
    • 2、response.json:json格式的响应数据
    • 3、response.headers:响应头
    • 4、response.cookies :响应cookie
  • 七、常用断言表达式
    • 1、检查response body中是否包含某个string
    • 2、检测返回JSON中的某个值是否等于预期的值
    • 3、测试response Headers中的某个元素是否存在(如:Content-Type)
    • 4、验证Status code(响应码)的值是不是等于200
    • 5、验证Response time(请求耗时)是否大于某个值
    • 6、验证返回类型是不是json
  • 八、总结

一、前言

ApiPost不仅仅是一个调试工具,更是一个接口文档快速生成工具

针对测试人员

接口调试

利用ApiPost进行常规的接口调试功能

接口自动化测试

利用ApiPost提供的断言和流程测试功能,进行接口的流程化测试

后端人员可以通过ApiPost在编写、测试接口的同时快速的、自动生成漂亮、规范的接口文档。相同的时间完成2件事情,大大提升后端开发效率

生成Mock数据

后端可以通过先编写Mock数据给前端,从而让前端提前进入接口调用、前端开发状态

生成序号代码

ApiPost提供主流语言代码自动生成功能。每编写一个接口,ApiPost都支持生成主流语言代码

二、API 请求响应

点击发送按钮后,如果有数据返回,则会显示返回数据,响应时间,响应码,Cookie等

注意:返回数据默认是 ==美化== 模式,便于查看 JSON XML 格式。您可以通过切换 ==原生== 或==预览== 模式 查看其它类型的类型。


软件测试资料免费领取-----简历等问题帮助修改完善(答疑)


三、返回Headers


除了查看结果外,ApiPost也提供了强大的测试校验功能。在这里我们也可以使用断言来进行响应结果的校验

四、响应结果分屏展示

在APIPOST 5.4版本后,支持“响应结果分屏展示”,从而提升工作区的空间

五、使用断言

协作开发,版本升级,服务器升级,接口返回有可能因为一些bug,和我们预期结果不一致。为了便于开发&测试人员能够更快的发现bug,有利于整个产品质量以及进度的保证。我们推出断言功能。

定义测试用例
验证测试用例

例如接口返回:

{"errcode": 0,"errstr": "success","post": [],"get": [],"request": [],"put": "","header": {"Host": "echo.apipost.cn","Connection": "keep-alive","Content-Length": "0","Accept": "application/json, text/javascript, */*; q=0.01","Accept-Encoding": "gzip, deflate, br","Accept-Language": "zh-CN","Content-Type": "application/json","Cookie": "PHPSESSID=n3k73k06o6ghnie4e9re4rbf0t","Origin": "https://echo.apipost.cn","User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1"}
}

定义测试用例:

apt.assert('response.raw.status==200');
apt.assert('response.raw.type=="json"');
apt.assert('response.json.errcode==0');
apt.assert('response.raw.responseTime<100');
apt.assert('response.json.header.Host=="echo.apipost.cn"');

点击发送按钮后:

绿色表示测试通过,红色表示测试不通过。
特别注意:==每个测试用例是一行,不能换行。==


软件测试资料免费领取-----简历等问题帮助修改完善(答疑)


例:

apt.assert('response.json.header.Host=="echo.apipost.cn"');

1)response.json.header.Host 表示响应json下面的header数组中的Host字段,
2)必须都为1,才会通过。
常见的测试用例可以通过后执行脚本获取:

六、多种响应参数变量

1、response.raw:原始响应数据

调用示例:

response.raw.status //响应状态码(200、301、404等)
response.raw.responseTime //响应时间(毫秒)
response.raw.type //响应类型(json等)
response.raw.responseText //响应文本

2、response.json:json格式的响应数据


调用示例如上面示例:

response.json.data.token //也可以 response.json.data["token"]

3、response.headers:响应头


调用示例:

response.headers.server //也可以 response.headers["server"]

4、response.cookies :响应cookie

调用示例:

response.cookies.PHPSESSION //也可以 response.cookies["PHPSESSION"]

七、常用断言表达式

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

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

2、检测返回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

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

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

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

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

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

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

6、验证返回类型是不是json

apt.assert('response.raw.type=="json"');

八、总结

随着国内越来越多的项目对开发质量和进度的要求提升,在对于接口管理的问题上,越来越多的技术管理者有了更多的期待

除了一键快速生成、导出API文档,对支持前、后端及测试协同开发,进行接口批量测试等要求也越来越迫切

基于对以上痛点的解决,ApiPost成为比Postman更懂中国程序员的一款研发协同工具


全网详细接口测试ApiPost详细教程(实战),吐血整理相关推荐

  1. 「爬虫教程」吐血整理,最详细的爬虫入门教程

    初识爬虫 学习爬虫之前,我们首先得了解什么是爬虫.来自于百度百科的解释: 网络爬虫(又称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息 ...

  2. 【爬虫教程】吐血整理,最详细的爬虫入门教程~

    初识爬虫 学习爬虫之前,我们首先得了解什么是爬虫. 来自于百度百科的解释: 网络爬虫(又称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信 ...

  3. 腾讯团队实力打造flutter入门教程,吐血整理

    前言 这些题目是网友去美团等一线互联网公司面试被问到的题目.笔者从自身面试经历.各大网络社交技术平台搜集整理而成,熟悉本文中列出的知识点会大大增加通过前两轮技术面试的几率. 主要分为以下几部分: (1 ...

  4. 微服务Springcloud超详细教程+实战(二)

    微服务Springcloud超详细教程+实战(二) -------------------------------------- 远程调用方式 无论是微服务还是分布式服务(都是SOA,都是面向服务编程 ...

  5. 全网最详细的Neo4j安装教程

    全网最详细的Neo4j安装教程 一.前言 Neo4j是一个高性能的NOSQL图形数据库,它将结构化数据存储在网络上而不是表中.它是一个嵌入式的.基于磁盘的.具备完全的事务特性的Java持久化引擎,但是 ...

  6. Hadoop全分布式集群搭建(全网最详细,保姆级教程)

    在上一篇Hadoop环境搭建(全网最详细,保姆级教程)中已经搭建好了一个单机Hadoop环境,接下来搭建全分布式Hadoop集群 首先对Hadoop全分布示集群进行简单介绍和规划 一个集群由一个主机, ...

  7. 【全栈接口测试进阶系列教程】入门到入职的jmeter接口测试工具实战,接口测试步骤,正则表达式jsonpath,断言,接口加密,beanshell,jdbc,jmeter+ant+jenkins

    目录 [本文简介看之前请详细的看完介绍] 本文是全网首发的[全栈接口测试进阶系列教程]jmeter接口测试工具从入门到入职, 接口系列包含 接口测试系列包含所有的接口测试工具入门到入职,如果你喜欢的话 ...

  8. [转]详细的GStreamer开发教程

    详细的GStreamer开发教程 文章目录 详细的GStreamer开发教程 1. 什么是GStreamer? 2. GStreamer架构 2.1 Media Applications 2.2 Co ...

  9. 详细的GStreamer开发教程

    详细的GStreamer开发教程 文章目录 详细的GStreamer开发教程 1. 什么是GStreamer? 2. GStreamer架构 2.1 Media Applications 2.2 Co ...

  10. 世上最详细的子网划分教程,看完保证会

    世上最详细的子网划分教程,看完保证会----亮亮实验室制作<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:offi ...

最新文章

  1. 第106天:Ajax中同步请求和异步请求
  2. rsync源目录写法的一点小细节
  3. python股票自动交易从零开始-python程序化交易编程-python制作自动交易程序!
  4. 洛谷 P3539 [POI2012]ROZ-Fibonacci Representation 解题报告
  5. GCC跟NASM联合编译
  6. 玩够了没,开始奋斗吧?
  7. leetcode100. 相同的树(dfs)
  8. 在ASP.NET MVC中实现Select多选
  9. 解决若要安装 Microsoft Office 2010,需要MSXML 版本 6.10.1129的问题
  10. 剪切文件_转录组测序技术和结果解读(十六)——可变剪切
  11. gettext 国际化_如何使用Gettext在Phoenix应用程序中执行本地化
  12. Android 系统(260)---Android 读取SIM卡参数
  13. python有趣的简单代码_简单代码一学就会,Python生成GIF动图
  14. 前端干货:教你轻松去除inline-block元素空隙
  15. 法向量与切向量的转化
  16. INT 10H 中断简介
  17. 优化概率神经网络_贝叶斯神经网络最新综述
  18. Ip以及主机名称配置
  19. kubebuilder之一:kubernetes operator工作原理
  20. 浅谈web前端常用的三大主流框架

热门文章

  1. 史上最完整基于Springboot实现进销存管理系统
  2. php laypage 开发demo,laypage+laytpl示例
  3. android系统查看wifi密码,安卓手机如何查看WIFI密码
  4. 【原理+实战】AI所有领域SOTA综述 (一)语音识别
  5. PUBG 绝地逃亡 吃鸡压枪宏 彩虹六号压枪宏 Autohotkey
  6. iOS 乱码问题之一
  7. selenium 下载文件
  8. 效率源希捷硬盘修复(4.2版)及程序下载
  9. 计算机地图制图符号制作的心得,计算机地图制图.docx
  10. 快速批量执行redis命令