溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何使用pyhttptest輕松測試REST API

發(fā)布時間:2022-01-06 17:08:35 來源:億速云 閱讀:120 作者:柒染 欄目:大數(shù)據(jù)

如何使用pyhttptest輕松測試REST API,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

現(xiàn)在,我們每個人都面臨著 REST API,要么開發(fā)這樣的服務,要么使用這樣的服務。此外,我們正處于微服務的流行時代,我們將業(yè)務邏輯分割成獨立于每個服務的小型獨立服務。這些服務大多遵循 RESTful 原則,并使用 JSON 格式進行通信,由于其簡單性,JSON 格式成為最廣泛使用的格式。

pyhttptest 命令行工具,用于通過 RESTful api 進行 HTTP 測試。

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

  1. 安裝

    pip install pyhttptest
  2. 用文件中最簡單且廣泛使用的格式 JSON 描述針對 API 服務的 HTTP 請求測試用例

  3. 發(fā)送 HTTP GET 請求 json文件內(nèi)容如下 ```json { "name": "TEST: Get server status", "verb": "GET", "endpoint": "/get", "host": "https://httpbin.org", "headers": { "Accept-Language": "en-US" } }

---
- 發(fā)送 HTTP POST 請求
json文件內(nèi)容如下
```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 - 要在服務器上調(diào)用的資源

  • host - 服務器主機地址

  • headers - 一個 HTTP 報頭。所有的 HTTP 報頭

  • query_string - 查詢字符串-在問號后面的 URL 中的查詢字符串參數(shù)

  • payload - 數(shù)據(jù)

Tips

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

從這個目錄按慣例,偉大的框架,如unittest and 及pytest發(fā)現(xiàn)并執(zhí)行 Python 腳本中定義的測試用例。為了不搞亂這些測試并打破常規(guī),我建議在您的項目根目錄中創(chuàng)建一個名為live_tests/ 。

在新目錄中,可以將所有json文件,定義了 API 測試用例的文件。通過這樣做,您的測試將很容易區(qū)分。

關于如何使用pyhttptest輕松測試REST API問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業(yè)資訊頻道了解更多相關知識。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI