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