Python Falcon - API 测试工具

Falcon 是一个适合开发 API 的简约框架。 API 是两个应用程序之间的接口。 API 开发者在发布用于生产环境之前需要测试其功能、可靠性、稳定性、可扩展性和性能等。

有多种 API 测试工具可以用于此目的。 在本节中,我们将学习如何使用命令行工具 CurlHTTPie,以及一个名为 Postman 的 GUI 工具。


cURL

cURL 是一个开源项目,它提供 libcurl 库和一个名为 curl 的命令行工具,可以使用各种协议传输数据。 支持包括 HTTP 在内的 20 多种协议。 首字母缩略词 cURL 代表客户端 URL。 从命令行使用 Curl 的语法是 −

curl [options] [URL1, URL2,..]

URL 参数由协议相关的、一个或多个 URL 字符串组成。 可以使用各种选项自定义 Curl 命令。 一些重要的命令行选项如下 −

  • – X: 注明请求方法。 默认情况下,Curl 假定 GET 是请求方法。 要发送 POST、PUT 或 DELTETE 请求,必须使用此选项。 例如 −

Curl –X DELETE http://localhost:8000/student/1
  • – H: 此选项用于在请求中添加标头。 例如 −

Curl –H "Content-Type: application/json" -X GET
http://localhost:8000/students
  • – i: 当命令行中包含此选项时,将显示所有响应标头。 例如 −

Curl –I –X DELETE http://localhost:8000/student/2
  • – d: 要在 HTTP 请求中包含数据进行处理,我们必须使用此选项,特别是在需要 POST 或 PUT 请求时。

Curl –H "Content-Type: application/json" -X PUT -d
"{"""marks""":"""50"""}" http://localhost:8000/students/3

HTTPie

HTTPie 是一个用 Python 编写的命令行工具。 它被称为"人类的 cURLlike 工具"。 它支持表单和文件上传并生成格式良好的彩色终端输出。 与 Curl 相比,它的表现力和直观语法使其更易于使用。

示例

  • GET 请求 − http GET localhost:8000/students

  • POST 请求 − http POST localhost:8000/students id=4 name="aaa" percent=50

  • PUT 请求 − http PUT localhost:8000/students/2 id=3 name="Mathews" percent=55

  • DEETE 请求 − http DELETE localhost:8000/students/2


Postman

Postman 是一个非常流行的 API 测试工具。 相对于 Curl 和 HTTPie,它是一个 GUI 应用程序。 它以浏览器插件和桌面应用程序的形式提供。 由于浏览器插件不接受基于本地主机的 API 请求,我们需要从 https://www.postman.com/downloads 下载桌面版本。

完成基于向导的安装后,启动 Postman 应用程序并创建一个新请求。

Python Falcon API1

下拉列表显示了可供选择的各种 HTTP 请求类型。

Python Falcon API2

在请求 URL 字段中输入 http://localhost:8000/hello。 右侧的响应窗格显示结果。

Python Falcon API3

稍后在 SQLite 数据库上测试 Falcon API 的 CRUD 操作时,我们将使用相应的请求类型。