温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何使用pyhttptest轻松测试REST API

发布时间:2022-01-06 17:08:35 来源:亿速云 阅读:120 作者:柒染 栏目:大数据

如何使用pyhttptest轻松测试REST API,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

现在,我们每个人都面临着 REST API,要么开发这样的服务,要么使用这样的服务。此外,我们正处于微服务的流行时代,我们将业务逻辑分割成独立于每个服务的小型独立服务。这些服务大多遵循 RESTful 原则,并使用 JSON 格式进行通信,由于其简单性,JSON 格式成为最广泛使用的格式。

pyhttptest 命令行工具,用于通过 RESTful api 进行 HTTP 测试。

这个工具通过简单的三个步骤自动化测试

  1. 安装

    pip install pyhttptest
  2. 用文件中最简单且广泛使用的格式 JSON 描述针对 API 服务的 HTTP 请求测试用例

  3. 发送 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
  • 来自测试用例的报告截图如何使用pyhttptest轻松测试REST API

测试用例的属性

  • name - 测试用例的名称

  • verb - HTTP 方法

  • endpoint - 要在服务器上调用的资源

  • host - 服务器主机地址

  • headers - 一个 HTTP 报头。所有的 HTTP 报头

  • query_string - 查询字符串-在问号后面的 URL 中的查询字符串参数

  • payload - 数据

Tips

您可能会想到一个问题,如何将测试用例添加、结构和组织到我现有的 / 新的项目中。每个 Python 项目,其中有测试包含在他的项目目录一个文件夹即tests/。

从这个目录按惯例,伟大的框架,如unittest and 及pytest发现并执行 Python 脚本中定义的测试用例。为了不搞乱这些测试并打破常规,我建议在您的项目根目录中创建一个名为live_tests/ 。

在新目录中,可以将所有json文件,定义了 API 测试用例的文件。通过这样做,您的测试将很容易区分。

关于如何使用pyhttptest轻松测试REST API问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI