如何使用pyhttptest轻松测试REST API,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
现在,我们每个人都面临着 REST API,要么开发这样的服务,要么使用这样的服务。此外,我们正处于微服务的流行时代,我们将业务逻辑分割成独立于每个服务的小型独立服务。这些服务大多遵循 RESTful 原则,并使用 JSON 格式进行通信,由于其简单性,JSON 格式成为最广泛使用的格式。
pyhttptest
命令行工具,用于通过 RESTful api 进行 HTTP 测试。
这个工具通过简单的三个步骤自动化测试
安装
pip install pyhttptest
用文件中最简单且广泛使用的格式 JSON 描述针对 API 服务的 HTTP 请求测试用例
发送 HTTP GET 请求 json文件内容如下 ```json { "name": "TEST: Get server status", "verb": "GET", "endpoint": "/get", "host": "https://httpbin.org", "headers": { "Accept-Language": "en-US" } }
---
- 发送 HTTP POST 请求
json文件内容如下
```json
{
"name": "TEST: Create an HTML bin",
"verb": "POST",
"endpoint": "post",
"host": "https://httpbin.org",
"payload": {
"content": "Hello, world!"
}
}
多个测试用例定义示例
[
{
"name": "TEST: List all users",
"verb": "GET",
"endpoint": "api/v1/users",
"host": "http://localhost:8085/",
"headers": {
"Accept-Language": "en-US"
},
"query_string": {
"limit": 1
}
},
{
"name": "TEST: Add a new user",
"verb": "POST",
"endpoint": "api/v1/users",
"host": "http://localhost:8085/",
"payload": {
"username": "pyhttptest",
"email": "admin@pyhttptest.com"
}
},
{
"name": "TEST: Modify an existing user",
"verb": "PUT",
"endpoint": "api/v1/users/XeEsscGqweEttXsgY",
"host": "http://localhost:8085/",
"payload": {
"username": "pyhttptest"
}
},
{
"name": "TEST: Delete an existing user",
"verb": "DELETE",
"endpoint": "api/v1/users/XeEsscGqweEttXsgY",
"host": "http://localhost:8085/"
}
]
运行命令并获取报告
pyhttptest execute data/filename.json
来自测试用例的报告截图
name - 测试用例的名称
verb - HTTP 方法
endpoint - 要在服务器上调用的资源
host - 服务器主机地址
headers - 一个 HTTP 报头。所有的 HTTP 报头
query_string - 查询字符串-在问号后面的 URL 中的查询字符串参数
payload - 数据
您可能会想到一个问题,如何将测试用例添加、结构和组织到我现有的 / 新的项目中。每个 Python 项目,其中有测试包含在他的项目目录一个文件夹即tests/。
从这个目录按惯例,伟大的框架,如unittest and 及pytest发现并执行 Python 脚本中定义的测试用例。为了不搞乱这些测试并打破常规,我建议在您的项目根目录中创建一个名为live_tests/ 。
在新目录中,可以将所有json文件,定义了 API 测试用例的文件。通过这样做,您的测试将很容易区分。
关于如何使用pyhttptest轻松测试REST API问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。