本文節選自霍格沃玆測試學院内部教材,文末連結進階學習。
在實際的工作中,絕大部分公司都有至少 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 格式的配置檔案。
以上,更多接口測試架構實戰進階内容,我們在後續文章分享。