您好,登錄后才能下訂單哦!
如何使用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進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。