使用 pyhttptest 輕鬆測試 REST API

如今,咱們每一個人都面臨着 REST API,要麼開發這樣的服務,要麼使用這樣的服務。 此外,咱們正處於微服務的時尚時代,咱們將業務邏輯分割成獨立於每一個服務的小型獨立服務。 這些服務大多遵循 RESTful 原則,並使用 JSON 格式進行通訊,因爲其簡單性,JSON 格式成爲最普遍使用的格式​。程序員

pyhttptest 命令行工具,用於經過 RESTful api 進行 HTTP 測試。json

這個工具經過簡單的三個步驟自動化測試api

  1. 安裝
pip install pyhttptest複製代碼

  1. 用文件中最簡單且普遍使用的格式 JSON 描述針對 API 服務的 HTTP 請求測試用例
  • 發送 HTTP GET 請求
    json文件內容以下
{
  "name": "TEST: Get server status",
  "verb": "GET",
  "endpoint": "/get",
  "host": "https://httpbin.org",
  "headers": {
    "Accept-Language": "en-US"
  }
}
複製代碼

---服務器

  • 發送 HTTP POST 請求
    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/"
  }
]複製代碼
  1. 運行命令並獲取報告
pyhttptest execute data/filename.json複製代碼

  • 來自測試用例的報告截圖

測試用例的屬性

  • name - 測試用例的名稱
  • verb - HTTP 方法
  • endpoint - 要在服務器上調用的資源
  • host - 服務器主機地址
  • headers - 一個 HTTP 報頭。全部的 HTTP 報頭
  • query_string - 查詢字符串-在問號後面的 URL 中的查詢字符串參數
  • payload - 數據

Tips

您可能會想到一個問題,如何將測試用例添加、結構和組織到我現有的 / 新的項目中。 每一個 Python 項目,其中有測試包含在他的項目目錄一個文件夾即tests/。框架

從這個目錄按慣例,偉大的框架,如unittest and 及pytest發現並執行 Python 腳本中定義的測試用例。 爲了避免搞亂這些測試並打破常規,我建議在您的項目根目錄中建立一個名爲live_tests/ 。微服務

在新目錄中,能夠將全部json文件,定義了 API 測試用例的文件。 經過這樣作,您的測試將很容易區分。工具

若是你感興趣能夠關注公衆號「chasays」- 程序員匯聚地
在這裏插入圖片描述post

相關文章
相關標籤/搜索