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命令可以用各种选项进行定制。一些重要的命令行选项如下– 1.
-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” 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 。右边的响应窗格显示了结果。
以后我们在测试Falcon API对SQLite数据库的CRUD操作时,将使用相应的请求类型。