資源管理器 API 測試

APIGit

2023-05-01

explorer api testing

探索可編碼的 API 測試

如何測試我的 api?

在學習API測試之前,我習慣於通過填寫路徑和參數來創建一個API,然後發送請求查看結果。作為 QA,我會寫一份測試報告。但是,由於每個 API 都是獨立的,每次開始新的測試之前,我都必須初始化測試環境。

使用Apitgit等工具進行API測試,我只需要提供一個簡單的代碼,它會自動生成測試報告。此外,我們可以保存響應並在另一個請求中使用它來測試系統的真實邏輯。這節省了測試過程中的時間和精力。

開始 api 測試

要開始 API 測試,請導航至Test Cases 存儲庫中的部分,然後單擊+ 按鈕。填寫path name 用一個字符串,例如myfirsttest/getUser.在這個例子中,myfirstname 是文件夾名稱,並且getUser 是測試用例名稱。如果您是添加另一個測試用例,您可以選擇您想要的文件夾,而無需再次填寫文件夾名稱。雖然在示例中我們將多個測試用例放在一個文件中,但您可以通過將每個測試用例組織在一個單獨的文件中來簡化它。

Create an api testing 創建一個api測試文件夾和測試用例文件

測試用例文件的結構

文件“myfirsttest/addPet”中的示例代碼。

[
    {
        "type": "code",
        "description": "initialization",
        "parameters": {
            "code": "var baseUrl = env.get(\"baseUrl\");\nif (baseUrl == null) {\n    state.baseUrl = \"http://petstore.mock.apigit.com\";\n    //env.set(\"baseUrl\", \"http://petstore.mock.apigit.com\")\n}"
        }
    },
  {
    "type": "http",
    "description": "place an order for a pet",
    "parameters": {
      "method": "post",
      "url": "{baseUrl}/store/order",
      "query": [],
      "auth": {
        "type": "none"
      },
      "header": [
        {
          "name": "content-type",
          "value": "application/json",
          "enabled": true
        }
      ],
      "body": {
        "type": "application/json",
        "data": "{\n  \"id\": 11,\n  \"petId\": 198772,\n  \"quantity\": 7,\n  \"shipDate\": \"2023-01-14T19:25:54.211Z\",\n  \"status\": \"approved\",\n  \"complete\": true\n}"
      },
      "postTest": "if (!res || res.status !== 200) {\n    failed(\"place purchae order failed\")\n    return;\n}\n\nvar order = res.data;\nstate.orderId = order.id;"
    }
  }
]

這是一個了不起的設計。代碼以 JSON 格式構建。它是一個包含多個 JSON 對象的 JSON 數組。在軟件工程術語中,這個結構類似於一個函數。測試用例文件名代表函數名,每個JSON對象代表一行可執行代碼。該文件編譯如下:

exports.addPet = function () {
    //first JSON object
    var baseUrl = env.get("baseUrl");if (baseUrl == null) {state.baseUrl = "http://petstore.mock.apigit.com";}
    //second JSON object
    var res = post(body);if (!res || res.status !== 200) {failed("place purchae order failed");return;}var order = res.data;state.orderId = order.id;
};

欲了解更多信息,您可以訪問[API 測試文檔][].這是一個了不起的測試工具,不僅可以用來測試帶有模擬服務器的 API,還可以用來測試真實的服務器。

繼續探索

要部署您的測試用例,只需發布您的文件。之後,您可以運行測試並生成測試報告。

Run your testcases 運行你的測試用例

Get your test report 獲取您的測試報告