PostIn从入门到精通(2) – 快速对接口进行调试

内容分享2小时前发布
0 0 0

PostIn是一款国产开源免费的接口管理工具,包含项目管理、接口调试、接口文档设计、MOCK数据、测试用例、测试计划等模块,支持免费私有化部署,支持免登陆本地接口调试。本文将介绍如何对接口进行快速便捷调试。

1、接口调试

PostIn 接口调试支持 HTTP 和 WebSocket 协议,协助开发者验证 API 接口的功能,确保接口按预期工作。

PostIn从入门到精通(2) - 快速对接口进行调试

接口调试

HTTP和WebSocket协议在接口调试页面区别。

协议

区别

HTTP

  • 需要选择HTTP请求方式(GET、POST、HEAD、PUT、DELETE、PATCH)
  • 请求体遵循特定内容类型(如 application/json、multipart/form-data 等),数据格式与 Content-Type 头严格绑定。
  • 支持前置脚本、后置脚本、断言等操作。
  • 包含完整响应头。

WebSocket

  • 请求体支持文本(UTF-8编码)和二进制格式,数据帧直接传输,无需附加 Content-Type 等头信息。
  • 无独立响应头。

1.1 HTTP协议

HTTP协议客户端发起请求后,服务器返回响应即断开连接,每次通信需重新建立连接。在接口调试页面选择HTTP协议,界面显示HTTP协议接口调试需要的项目。

  • 新建接口调试页签

接口调试页面,点击tabs页右侧的“+”号,添加一个新的接口调试tabs。

PostIn从入门到精通(2) - 快速对接口进行调试

接口调试页签

  • 选择请求方式

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

PostIn从入门到精通(2) - 快速对接口进行调试

请求方式

  • 输入请求地址

在地址栏中输入需要测试的接口地址,接口调试需要输入包括主机和路径等信息。

  • 输入请求参数

在相应的输入框或表单中输入需要传递给接口的请求参数。这些参数可以包括查询参数、请求体参数、请求头等,根据接口的需求进行输入。

PostIn从入门到精通(2) - 快速对接口进行调试

请求参数

请求参数:

属性

描述

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”协议,在地址栏中输入需要测试的接口地址,包括主机和路径等信息。这是发送测试请求的第一步,确定要测试的接口地址。

PostIn从入门到精通(2) - 快速对接口进行调试

选择WebSocket协议

  • 建立连接

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

PostIn从入门到精通(2) - 快速对接口进行调试

连接

连接成功后,服务器会对此作出响应。

  • 输入请求参数

在请求栏输入需要传递给接口的请求参数。这些参数可以包括查询参数、请求体参数、请求头。

PostIn从入门到精通(2) - 快速对接口进行调试

请求参数

属性

描述

请求头

位于接口请求的头部,用于传递元数据。

查询参数

出目前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) //设置请求体

PostIn从入门到精通(2) - 快速对接口进行调试

前置脚本

或者还可以设置一些其他前置脚本。例如生成随机用户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;

PostIn从入门到精通(2) - 快速对接口进行调试

后置脚本

4、断言

支持可视化断言,在接口调试点击断言,显示需要输入断言的来源(状态码、响应体、响应头)、属性名称、比较符、参数值。添加完成之后,调试接口在接口响应栏下断言tab,显示断言是否成功。

  • 验证基础状态

检查接口返回的HTTP状态码是否符合预期(如200表明成功),以及验证响应头中的关键信息(如Content-Type格式是否正确)。

PostIn从入门到精通(2) - 快速对接口进行调试

响应码断言

  • 校验响应内容

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

PostIn从入门到精通(2) - 快速对接口进行调试

响应体断言

例如,如上图的断言显示执行成功。

5、调试历史

接口每一次调试都会记录在左侧接口调试历史列表,点击调试历史列表,右侧显示调试时设置的参数。

PostIn从入门到精通(2) - 快速对接口进行调试

调试历史列表

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

PostIn从入门到精通(2) - 快速对接口进行调试

删除调试历史

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

© 版权声明

相关文章

暂无评论

none
暂无评论...