发布于 2026-01-06 0 阅读
0

cURL 与 Postman API 测试工具:示例指南

cURL 与 Postman API 测试工具:示例指南

市面上有很多工具可用于 API 测试,帮助你执行测试并收集结果。本文将重点介绍其中三种工具,并直接演示如何使用 Trello API 发送请求。

但在开始之前,由于我们将使用 Trello API,因此我们需要一个帐户、一个授权密钥和一个令牌。对于 API 测试和开发而言,这是一个非常常见的安全步骤,因为通过 API,我们可以访问数据库和代码的内部功能,而这些功能可能会被恶意用户利用。为此,我将提供一个链接,其中包含所有入门步骤,您可以在 API 简介的“授权和身份验证”部分下方找到这些步骤(点击链接后即可看到)。

一切准备就绪后,我们就可以开始使用 API 测试工具了。

操作系统终端

例如,要使用终端从我们的 API 获取响应,我们需要名为“curl”的命令行工具,它常用于许多软件中,顾名思义,就是用来相互传输数据的。

我们将在操作系统终端中添加以下命令:

curl --location --request GET 'https://api.trello.com/1/members/me/boards?key={your-key}&token={your-token} -I' 
Enter fullscreen mode Exit fullscreen mode

从这里我们可以获取所有头部信息。

顶部显示的是我们响应的状态码。

一个很棒的功能是,我们可以将响应保存到文件中,以便日后进行扫描或验证某些字段。只需再次输入命令,并加上一个简单的标志“-o [文件名]”即可。例如,“-o test_response.txt”。

完成上述操作后,您应该会在终端上看到一个显示下载进度的进度条。

如果您不想给文件添加名称,只需添加“-O”标志即可将文件保存为URL作为文件名。

最后,当我们需要使用 cURL 创建、更新或删除数据时,根据需要添加以下命令:“-X POST”、“-X PUT”、“-X DELETE”,以及“--data-raw '{“param”:”value”}'”。

现在让我们看看下一个工具如何处理这些相同的场景,以及它带来了哪些功能:

邮差

使用 Postman,我们只需点击一下即可获取所需的所有信息。请看以下示例:

请求发出后,我们立即获得了远超预期的信息。首先,我们会收到格式美观的完整响应,大大提高了可读性,无需自行格式化。其次,我们会收到状态码,从而判断请求是否成功。在本例中,一切按预期进行,我们收到了 200 状态码。此外,还有一个专门的选项卡,用于添加参数及其值,这些参数会直接添加到请求 URL 中。

我们只需单击一下即可从操作系统终端获取所有信息,这节省了我们的时间和精力,从而可以更高效地测试我们的 API。

通过这个例子,Postman 还为我们提供了其他一些关键功能,例如将我们的请求保存到一个集合中(将请求 URL 的集合保存到一个文件夹中),这样我们就可以随时检索 URL,而无需再次将其输入到输入框中。

我们还可以将请求导出为测试报告以供进一步使用,或者将其导入 CI 工具(如 circleCI 或 Jenkins)运行。

Postman 使我们能够在不同的标签页中处理多个请求。

如果我们需要以特定语言获取请求,点击参数类型中的代码,它会提供相应的代码片段。

我们可以管理不同的环境,在这些环境中存储不同的变量。用户可以随意命名变量并为其赋值,例如请求 URL 中的公共部分,这样用户只需处理请求即可。

记录我们最近执行的所有请求,以便用户可以返回并使用特定参数执行相同的请求,或者再次执行该请求。

Postman 有一个专门的版块,可以添加 Javascript 脚本测试。

它包含我们可以使用的预定义代码片段。

一个可以查看HTTP响应并打印消息的控制台。

我认为这些是 Postman 为我们提供的最关键功能,它们让我们在进行 API 测试时能够获得更流畅的体验。

SoapUI

我们继续沿用之前的例子。

我们一进入 SoapUI 就对它留下了第一印象,那就是它会弹出端点浏览器,让我们像以前一样向 Trello API 发出请求,但这次就像在终端一样,我们得到的是原始文本响应。

此外,还可以注意到,我们可以在请求中添加标头,例如,如果我们需要授权的话,并且在我们的原始文本顶部有响应状态。

在底部,我们可以看到包含所需数据的未格式化 JSON。遗憾的是,在端点提示符下,我们无法对其进行美化,因此我们需要在项目中进行操作。第一步是单击发送(绿色)按钮旁边的保存请求(蓝色)按钮。

为您的请求设置一个名称以保存,然后单击“确定”按钮,此操作将创建项目,该项目将显示在程序的左侧。

双击“项目 1”(如果想更改名称,可以右键单击),即可查看项目的所有组件概览。但现在,我将重点关注请求。展开项目文件夹,直到找到位于最后一层的请求,然后单击“TrelloAPI”。

点击发送请求按钮后,您会注意到一条消息,提示“您尝试查看的内容无法以 XML 格式查看”,这是因为 XML 是我们响应的默认视图,在左侧您会看到四个选项卡:XML、JSON、HTML 和 Raw。

点击 JSON,我们将获得格式美观的响应。

您可以在需要时查看其他标签页。

SoapUI 提供了丰富的功能,使我们能够更高效地进行 API 测试。首先我想重点介绍的是,它可以将测试用例组织成测试套件,每个套件都包含测试用例和测试步骤,方便测试人员将测试用例按逻辑单元分组。

支持 WSDL 和 SOAP 服务

负载和安全测试专用输入用于测试

缺点

在本部分,我将列出每种工具需要考虑的事项,以便您可以根据自己的工作环境和需求进行选择。

  • 操作系统终端

缺乏用户界面和引导。这一点最为明显,因为用户需要预先了解发送请求和获取可读格式响应所需的命令。虽然可以自定义终端来简化这个问题,但这会增加额外的配置步骤,而这与测试的主要目的无关。

  • 邮差

缺少测试监控功能。如果开发人员或测试人员希望依赖单一工具来处理所有测试套件,那么这项功能的缺失可能会让他们感到失望。

  • SoapUI

学习曲线。SoapUI 功能强大,但也存在一些挑战,且用户界面不够友好。用户需要花费一些时间才能理解基于不同组件(例如测试套件、测试用例、断言和负载测试)的项目结构,从而充分利用该工具。

Postman 和 SoapUI 的一些功能需要付费才能使用,但我认为这未必是缺点,因为这些功能主要面向 5 人或以上的团队,用于共享项目。对于个人用户而言,免费功能已经足够满足日常工作需求。

最后想说的话

到目前为止,我们已经通过一个场景了解了每种工具的一些功能。本文将讨论一些与自动化测试无关的功能,因为我认为自动化测试本身就是一个值得单独探讨的主题。每种工具都有其优缺点,但它们都能根据测试任务的具体需求为测试人员提供帮助。最终,测试人员需要根据自身情况选择合适的工具并制定相应的策略。

文章来源:https://dev.to/mmarinez20/api-testing-tools-an-example-based-guide-4m9f