PostIn是一款国产开源免费的接口管理工具,包含项目管理、接口调试、接口文档设计、MOCK数据、测试用例、测试计划等模块,支持免费私有化部署,支持免登陆本地接口调试。本文将介绍如何对接口进行快速便捷调试。
1、接口调试
PostIn 接口调试支持 HTTP 和 WebSocket 协议,协助开发者验证 API 接口的功能,确保接口按预期工作。

接口调试
HTTP和WebSocket协议在接口调试页面区别。
|
协议 |
区别 |
|
HTTP |
|
|
WebSocket |
|
1.1 HTTP协议
HTTP协议客户端发起请求后,服务器返回响应即断开连接,每次通信需重新建立连接。在接口调试页面选择HTTP协议,界面显示HTTP协议接口调试需要的项目。
- 新建接口调试页签
接口调试页面,点击tabs页右侧的“+”号,添加一个新的接口调试tabs。

接口调试页签
- 选择请求方式
选择“HTTP”协议,显示请求方式下拉框,输入需要测试接口的请求方式,支持的请求方式包含GET、POST、HEAD、PUT、DELETE、PATCH。

请求方式
- 输入请求地址
在地址栏中输入需要测试的接口地址,接口调试需要输入包括主机和路径等信息。
- 输入请求参数
在相应的输入框或表单中输入需要传递给接口的请求参数。这些参数可以包括查询参数、请求体参数、请求头等,根据接口的需求进行输入。

请求参数
请求参数:
|
属性 |
描述 |
|
Header |
位于HTTP请求的头部,用于传递元数据。 |
|
Query |
出目前URL问号后,对资源进行筛选、排序或分页。 |
|
Path |
嵌入在URL路径中,明确标识资源的唯一路径。 |
|
Body |
位于HTTP请求的正文,用于传递实际数据。 |
其中Body类型及其用途如下。
|
属性 |
描述 |
|
none |
不设置请求Body。 |
|
form-data |
上传文件或同时提交文本和文件。 |
|
x-www-form-urlencoded |
提交简单的键值对表单数据,适用于传统 HTML 表单提交。 |
|
json |
Raw 的子集,严格遵循JSON语法(键值对、双引号、嵌套结构等),用于结构化数据传输。 |
|
raw |
原始数据格式,支持任意文本内容(如JSON、XML、纯文本等)。 |
- 发送测试
点击界面上的发送按钮,将测试请求发送给目标接口。系统将会使用输入的请求地址和参数发送请求,并等待接收到服务器的响应。
- 查看测试结果
在接收到服务器的响应后,系统会将响应结果显示在界面上,包括响应状态码、响应体内容等信息。用户可以在界面上直接查看测试结果,以便进行验证和调试。
1.2 WebSocket协议
WebSocket协议连接建立后客户端与服务器可双向实时传输数据,无需重复握手。在接口调试页面选择WebSocket协议,界面显示WebSocket协议接口调试需要的项目。
- 新建接口调试页签
接口调试页面,点击tabs页右侧的“+”号,添加一个新的接口调试tabs。
- 选择协议输入请求地址
选择“WS”协议,在地址栏中输入需要测试的接口地址,包括主机和路径等信息。这是发送测试请求的第一步,确定要测试的接口地址。

选择WebSocket协议
- 建立连接
要与服务器进行通信,你第一需要建立一个 WebSocket 连接。只需点击“连接”按钮即可。

连接
连接成功后,服务器会对此作出响应。
- 输入请求参数
在请求栏输入需要传递给接口的请求参数。这些参数可以包括查询参数、请求体参数、请求头。

请求参数
|
属性 |
描述 |
|
请求头 |
位于接口请求的头部,用于传递元数据。 |
|
查询参数 |
出目前URL问号后,对资源进行筛选、排序或分页。 |
|
请求体 |
位于接口请求的正文,用于传递实际数据。 |
- 发送测试
点击界面上的发送按钮,将测试请求发送给目标接口。系统将会使用输入的请求地址和参数发送请求,并等待接收到服务器的响应。
- 查看测试结果
在接收到服务器的响应后,系统会将响应报文显示在界面上。用户可以在界面上直接查看测试结果,以便进行验证和调试。
2、前置脚本
在接口请求发送之前执行,主要用于准备测试数据、动态修改请求参数或设置环境变量。
例如,使用前置脚本设置请求头参数ticket。
pi.header.set(key,value) //设置请求头
pi.query.set(key,value) //设置查询参数
pi.body.form.set(key,value) //设置请求体
pi.body.urlencoded.set(key,value) //设置请求体

前置脚本
或者还可以设置一些其他前置脚本。例如生成随机用户ID和当前日期,并将生成的数据写入请求体表单中 。
// 这个脚本为表单数据请求设置字段
// 生成随机用户ID
const userId = Math.floor(Math.random() * 10000);
// 获取当前日期并格式化
const currentDate = new Date().toISOString().split('T')[0];
// 准备表单数据
pi.body.form.set(“username”, `user_${userId}`);
pi.body.form.set(“email”, `user_${userId}@example.com`);
pi.body.form.set(“registrationDate”, currentDate);
3、后置脚本
在接口请求发送之后执行,主要用于解析响应数据、断言校验、清理测试数据或传递参数给后续请求。
pi.response.get() //获取响应体
pi.response.getStatusCode() //获取响应状态码
例如登录接口,取响应体json中data.ticket,将动态值存储至环境变量ticket中,后续通过{{ticket}}引用。
// 取响应json
const responseJson = pi.response.get();
//找到json文件data下的ticket
const ticket = responseJson.data.ticket;

后置脚本
4、断言
支持可视化断言,在接口调试点击断言,显示需要输入断言的来源(状态码、响应体、响应头)、属性名称、比较符、参数值。添加完成之后,调试接口在接口响应栏下断言tab,显示断言是否成功。
- 验证基础状态
检查接口返回的HTTP状态码是否符合预期(如200表明成功),以及验证响应头中的关键信息(如Content-Type格式是否正确)。

响应码断言
- 校验响应内容
包括验证响应体中是否包含特定字符串、JSON字段值是否匹配预期,或直接对比整个响应体与预设字符串是否完全一致。

响应体断言
例如,如上图的断言显示执行成功。
5、调试历史
接口每一次调试都会记录在左侧接口调试历史列表,点击调试历史列表,右侧显示调试时设置的参数。

调试历史列表
点击调试历史右侧的删除按钮,可以对调试历史进行删除。点击接口调试列表右上角“扫把”按钮,清空调试历史列表。

删除调试历史
有兴趣的朋友欢迎前往tiklab官网体验在线版本、或者免费下载私有化部署体验。
