前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >全网详细接口测试ApiPost详细教程(实战),吐血整理

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

作者头像
用户9610393
发布于 2022-06-08 15:06:43
发布于 2022-06-08 15:06:43
7K06
代码可运行
举报
文章被收录于专栏:ApiPost接口测试ApiPost接口测试
运行总次数:6
代码可运行

一、前言

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

针对测试人员

接口调试

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

接口自动化测试

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

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

生成Mock数据

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

生成序号代码

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

二、API 请求响应

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

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

三、返回Headers

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

四、响应结果分屏展示

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

五、使用断言

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

定义测试用例

验证测试用例

例如接口返回:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
{
    "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"
    }
}

定义测试用例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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"');

点击发送按钮后:

绿色表示测试通过,红色表示测试不通过。

特别注意:==每个测试用例是一行,不能换行。==

例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
apt.assert('response.json.header.Host=="echo.apipost.cn"');

1)response.json.header.Host 表示响应json下面的header数组中的Host字段,

2)必须都为1,才会通过。

常见的测试用例可以通过后执行脚本获取:

六、多种响应参数变量

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

调用示例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
response.raw.status //响应状态码(200、301、404等)
response.raw.responseTime //响应时间(毫秒)
response.raw.type //响应类型(json等)
response.raw.responseText //响应文本

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

调用示例如上面示例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
response.json.data.token //也可以 response.json.data["token"]

3、response.headers:响应头

调用示例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
response.headers.server //也可以 response.headers["server"]

4、response.cookies :响应cookie

调用示例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
response.cookies.PHPSESSION //也可以 response.cookies["PHPSESSION"]

七、常用断言表达式

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
apt.assert('response.raw.responseText=="test"');  // 检查响应文本是否等于test字符串 
apt.assert('response.raw.responseText.indexOf("test") > -1');  // 检查响应文本是否含有test字符串

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
apt.assert('response.headers.hasOwnProperty("content-type")');

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
apt.assert('response.raw.status==200');

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
apt.assert('response.raw.responseTime>=100');

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
apt.assert('response.raw.type=="json"');

八、总结

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

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

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

Apipost官方链接:https://console.apipost.cn/register?utm_source=10006

版权声明:本文为CSDN博主「网易测试开发猿」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:全网详细接口测试ApiPost详细教程(实战),吐血整理_网易测试开发猿的博客-CSDN博客_apipost教程

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
接口测试--apipost接口断言详解
在做接口测试的时候,会对接口进行断言,一个完整的接口测试,包括:请求->获取响应正文->断言。
zyf20010801
2022/05/30
6450
是时候丢掉 Postman、Swagger 了;这个工具全部搞定,真香!
如果你是一名Java后端开发工程师,像Swagger、Postman、RAP这些工具,应该再熟悉不过了吧!为我们的接口开发工作带来了很多的便捷,不过因为这些都是独立的框架,之间并不存在互通性,因此在多个框架间协调的时候,不可避免的会带来一些重复性的工作;
一行Java
2022/04/07
5180
是时候丢掉 Postman、Swagger 了;这个工具全部搞定,真香!
解决参数依赖,接口之间传递数据----ApiPost
B 接口请求参数依赖于 A 接口返回的数据,希望 B 接口发送请求的时候能获取 A 接口返回的数据作为请求参数。
sik1
2022/05/01
8520
接口测试--自定义断言设置
接口测试的时候,有时候会对接口进行断言,apipost在后执行脚本中提供了断言功能 apt.assert(‘response.raw.responseText==“test”’); apt.assert(‘response.raw.status==200’); apt.assert(‘response.raw.type==“json”’); apt.assert(‘response.raw.responseTime>=100’); apt.assert(‘response.json.errcode==1’); apt.assert(‘response.json.errcode!=1’); apt.assert(‘response.json.errcode>=1’); apt.assert(‘response.json.errcode==null’); apt.assert(‘response.json.errcode!=null’); apt.assert(‘response.headers[“server”] == “nginx”’); apt.assert(‘response.headers[“content-encoding”] == “gzip”’);
sik1
2022/07/18
5250
apipost脚本使用讲解一~全局变量
一、全局变量设置一个全局变量:apt.globals.set("key", "value");可以用apt.globals.set()设置一个自定义的值,如:apt.globals.set("test", "这是一个全局变量");apt.globals.set()方法可以和request方法、response方法一起使用。apt.globals.set()和request方法一起使用可以获取当前的请求:如apt.globals.set("request", request);获取当前的请求详情apt.glo
sik1
2022/06/27
1.6K0
postman接口测试
postman提供功能强大的 Web API 和 HTTP 请求的调试,它能够发送任何类型的HTTP 请求 (GET, POST, PUT, DELETE...),并且能附带任何数量的参数和 Headers.不仅如此,它还提供测试数据和环境配置数据的导入导出,付费的Post Cloud用户还能够创建自己的Team Library用来团队协作式的测试,并能够将自己的测试收藏夹和用例数据分享给团队.
测试加
2022/03/24
1K0
postman接口测试
Apipost帮您轻松完成接口测试及接口文档,6点下班不是梦
作为一名后端开发工作者,多年来我的日常工作就是接口编码,接口测试,接口联调,接口文档编写。这四件事情就像四座大山直挺挺地压我的心头。
XD
2022/05/14
1.3K0
接口测试实战教学--Apipost
API请求参数 Header 参数 你可以设置或者导入 Header 参数,cookie也在Header进行设置
zyf20010801
2022/05/09
1K0
接口测试和单元测试
了解cookie是先登录的时候会产生,然后在这个网站充值的时候直接就有cookie了。
清菡
2020/12/02
1.8K0
接口测试和单元测试
接口测试|Postman设置断言
作为一款接口测试工 具,postman需要对发送请求后返回的结果是否正确做验证,在postman中通过 tests页签做请求的验证,也称为断言。
霍格沃兹测试开发Muller老师
2023/01/31
1.1K0
ApiPost自动化测试基础之:如何使用测试校验(测试用例)?
我们在《ApiPost的环境变量的定义和使用》和《ApiPost自动化测试基础之:接口参数依赖的情景处理》分别讲解了ApiPost环境变量的定义、使用以及基于环境变量的接口参数依赖的情景处理。
骑马的少年
2019/03/24
1.1K0
ApiPost自动化测试基础之:如何使用测试校验(测试用例)?
聊一聊接口测试是如何进行的?
在进行接口测试前,需要对涉及的接口文档进行熟悉,明确接口功能、输入输出参数、协议类型(HTTP/RPC等)、数据格式(JSON/XML)、鉴权方式等。
漫谈测试
2025/04/16
1010
聊一聊接口测试是如何进行的?
接口测试工具简介!
接口文档定义:Apifox 遵循 OpenApi 3.0 (原Swagger)、JSON Schema 规范的同时,提供了非常好用的可视化文档管理功能,零学习成本,非常高效。
物立
2022/05/16
8780
【实践】2.如何使用Postman做多接口测试
本文讲解使用postman做接口测试和批量接口测试的方法。Postman的入门参考《【知识】1.Postman接口测试神器从安装到精通》
辉哥
2021/04/16
2.5K0
【实践】2.如何使用Postman做多接口测试
快速掌握接口测试利器Postman
Postman是谷歌开发的一款网页调试和接口测试工具,能够发送任何类型的http请求,支持GET/PUT/POST/DELETE等方法。Postman非常简单易用,可以直接填写URL,header,body等就可以发送一个请求,用来测试api接口非常方便。
吾非同
2020/10/23
9610
关于接口测试——自动化框架的设计与实现
在大部分测试人员眼中只要沾上“框架”,就感觉非常神秘,非常遥远。大家之所以觉得复杂,是因为落地运用起来很复杂;每个公司,每个业务及产品线的业务流程都不一样,所以就导致了“自动化测试框架”去完成自动化测试的时候产生很多不稳定因素,这样就很难定位成一个固定的框架。其实不然,真正的自动化测试框架不是一个模式,而是一种思想和方法的集合,通俗的讲就是一个架构。
数澜科技
2019/10/16
2K0
关于接口测试——自动化框架的设计与实现
接口测试
是对系统或组件之间的接口进行测试,主要是校验数据是否正确、传递和控制管理过程,以及相互逻辑依赖关系
用户11097514
2024/05/30
2290
接口测试
聊一聊依赖登录状态的接口如何进行测试?
接口依赖登录状态进行测试,其中的登录状态可能涉及Token、Cookie或者Session之类的机制,需要模拟用户登录过程,获取认证信息。比如用Postman的话,可能需要先发一个登录请求,然后从响应中提取Token,再在后续请求的Header里加上这个Token。
漫谈测试
2025/04/14
1380
聊一聊依赖登录状态的接口如何进行测试?
接口测试框架实战 | 流程封装与基于加密接口的测试用例设计
接口测试仅仅掌握 Requests 或者其他一些功能强大的库的用法,是远远不够的,还需要具备能根据公司的业务流程以及需求去定制化一个接口自动化测试框架的能力。所以,接下来,我们主要介绍下接口测试用例分析以及通用的流程封装是如何完成的。
霍格沃兹测试开发
2020/09/03
5690
接口测试框架实战 | 流程封装与基于加密接口的测试用例设计
接口测试框架实战(三) | APIObject 模式、原则与应用
在普通的接口自动化测试中,如果接口的参数,比如 url,headers 等传参改变,或者测试用例的逻辑、断言改变,那么整个测试代码都需要改变。APIObject 设计模式借鉴了 PageObject 的设计模式,可以实现一个优雅、强大的接口测试框架。
霍格沃兹测试开发
2020/10/13
9400
相关推荐
接口测试--apipost接口断言详解
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档