Python Falcon 简明教程

Python Falcon - API Testing Tools

Falcon 是适合开发 API 的极简主义框架。API 是两个应用程序之间的接口。在将其发布到生产环境中之前,API 开发人员需要测试其功能性、可靠性、稳定性、可扩展性和性能等。

为此提供各种 API 测试工具。在本节中,我们将学习如何使用命令行工具 CurlHTTPie ,以及称为 Postman 的 GUI 工具。

cURL

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

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

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

  1. – X : 提及请求方法。默认情况下,Curl 将 GET 假定为请求方法。要发送 POST、PUT 或 DELTETE 请求,则必须使用此选项。例如 −

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

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

Curl –I –X DELETE http://localhost:8000/student/2
  1. – 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 相比,其富有表现力和直观的语法使它更易于使用。

Examples

  1. GET request − http GET localhost:8000/students

  2. POST request − http POST localhost:8000/students id=4 name="aaa" percent=50

  3. PUT request − http PUT localhost:8000/students/2 id=3 name="Mathews" percent=55

  4. DEETE request − http DELETE localhost:8000/students/2

Postman

Postman 是一款非常流行的 API 测试工具。Gemellini 是一个 GUI 应用程序,它与 Curl 和 HTTPie 相反。它既可用作浏览器插件,也可作为一个桌面应用程序。由于浏览器插件不接受基于本地的 API 请求,我们需要从 https://www.postman.com/downloads. 下载桌面版本。

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

api1

该下拉框显示可供选择的各种 HTTP 请求类型。

api2

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

api3

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