其他分享
首页 > 其他分享> > 使用 pyhttptest 轻松测试 REST API

使用 pyhttptest 轻松测试 REST API

作者:互联网

使用 pyhttptest 轻松测试 REST API

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

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

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

  1. 安装
pip install pyhttptest
  1. 用文件中最简单且广泛使用的格式 JSON 描述针对 API 服务的 HTTP 请求测试用例
{
  "name": "TEST: Get server status",
  "verb": "GET",
  "endpoint": "/get",
  "host": "https://httpbin.org",
  "headers": {
    "Accept-Language": "en-US"
  }
}

{
  "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/"
  }
]
  1. 运行命令并获取报告
pyhttptest execute data/filename.json

测试用例的属性

Tips

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

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

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

标签:API,verb,HTTP,name,REST,host,测试用例,pyhttptest
来源: https://www.cnblogs.com/ievjai/p/12272261.html