天天看點

接口測試架構實戰(二) | 搞定多環境下的接口測試

本文節選自霍格沃玆測試學院内部教材,文末連結進階學習。

在實際的工作中,絕大部分公司都有至少 3 個以上的環境,供測試與研發人員使用。測試人員不可能為每個環境都準備一個自動化測試腳步,因為這樣的維護成本太過龐大。是以,要解決這個問題,就需要做到設計一套腳本,可以在各個環境上面運作。

實戰示範

在之前的文章

《流程封裝與基于加密接口的測試用例設計》

中,提到過的字典結構體的基礎上進行改造,将 URL 從一個寫死的 IP 位址改為一個域名。

req_data={
            "schema": "http",
            "method": "get",
            "url": "http://docker.testing-studio.com:10000/demo64.txt",
            "headers":
            {"Host":None}
        }           

然後,我們還需要另外一個字典結構體去存儲環境的配置。

這裡使用

env

變量存放一個字典結構體的環境配置。然後将請求結構體中的 URL 替換為

env

配置檔案中個人選擇的 URL。先用

env["docker.testing-studio.com"]

讀到全部的環境配置選項,再使用改變

[env["default"]]

中的選擇,去切換不同的環境。

#把host修改為ip,并附加host header
env={
    "docker.testing-studio.com": {
        "dev": "127.0.0.1",
        "test": "1.1.1.2"
    },
    "default": "dev"
}
data["url"]=str(data["url"]).replace(
    "docker.testing-studio.com",
    env["docker.testing-studio.com"][env["default"]]
)
data["headers"]["Host"]="docker.testing-studio.com"           

由上面兩個步驟就可以将環境的切換作為一個可配置的選項,根據需求,很友善的去切換不同的使用環境。不過目前這樣的解決辦法依然是寫在代碼中,不夠優雅,在後面會講解如何将env變量中的配置資訊轉換為一個 YAML 格式的配置檔案。

以上,更多接口測試架構實戰進階内容,我們在後續文章分享。

更多技術文章分享及測試資料