Python Falcon - API 测试工具


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

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

卷曲

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 编写的命令行工具。据说它是“人类的类似 cURL 的工具”。它支持表单和文件上传,并生成格式良好的彩色终端输出。与 Curl 相比,其富有表现力和直观的语法使其更易于使用。

例子

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

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

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

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

邮差

Postman是一个非常流行的API测试工具。它是一个 GUI 应用程序,与 Curl 和 HTTPie 不同。它以浏览器插件和桌面应用程序的形式提供。由于浏览器插件不接受基于 localhost 的 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 操作时将使用相应的请求类型。