開發與維運

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

本文節選自霍格沃玆測試學院內部教材,文末鏈接進階學習。

在實際的工作中,絕大部分公司都有至少 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 格式的配置文件。
以上,更多接口測試框架實戰進階內容,我們在後續文章分享。

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

Leave a Reply

Your email address will not be published. Required fields are marked *