Python Falcon - API 测试工具
Falcon 是一个适合开发 API 的简约框架。 API 是两个应用程序之间的接口。 API 开发者在发布用于生产环境之前需要测试其功能、可靠性、稳定性、可扩展性和性能等。
有多种 API 测试工具可以用于此目的。 在本节中,我们将学习如何使用命令行工具 Curl 和 HTTPie,以及一个名为 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 应用程序并创建一个新请求。
下拉列表显示了可供选择的各种 HTTP 请求类型。
在请求 URL 字段中输入 http://localhost:8000/hello。 右侧的响应窗格显示结果。
稍后在 SQLite 数据库上测试 Falcon API 的 CRUD 操作时,我们将使用相应的请求类型。