Python Falcon - API 测试工具



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

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

cURL

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

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

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

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

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

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

Curl –I –X DELETE https://127.0.0.1:8000/student/2
  • –d:要在HTTP请求中包含要处理的数据,我们必须使用此选项,尤其是在需要POST或PUT请求时。

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

HTTPie

HTTPie是用Python编写的命令行工具。它被称为“面向人类的cURL类工具”。它支持表单和文件上传,并生成格式良好的彩色终端输出。与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

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

Postman

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

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

Python Falcon API1

下拉菜单显示各种HTTP请求类型供选择。

Python Falcon API2

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

Python Falcon API3

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

广告