干貨 | 環(huán)境問(wèn)題還是測(cè)試的老大難??jī)蓚€(gè)步驟輕松搞定

在實(shí)際的工作中,絕大部分公司都至少有3個(gè)以上的環(huán)境,供測(cè)試與研發(fā)人員使用。測(cè)試人員不可能為每個(gè)環(huán)境都準(zhǔn)備一個(gè)自動(dòng)化測(cè)試的腳本,這樣的維護(hù)成本太過(guò)龐大。所以就需要做到一套腳本,可以在各個(gè)環(huán)境上面運(yùn)行。
首先在上一節(jié)提到過(guò)的字典結(jié)構(gòu)體的基礎(chǔ)上進(jìn)行改造(沒(méi)看過(guò)的戳這里 干貨 | 實(shí)戰(zhàn)演練基于加密接口測(cè)試測(cè)試用例設(shè)計(jì)),將url從一個(gè)寫(xiě)死的ip地址改為一個(gè)域名。
req_data={
? ?
? ? ? ?"schema": "http",
? ? ?
? ? ?"method": "get",
? ? ?
? ? ?"url": "http://docker.testing-studio.com:10000/demo64.txt",
? ? ? ? ? ?"headers":
? ? ?
? ? ?{"Host":None}
? ? ??
?}
然后需要另外一個(gè)字典結(jié)構(gòu)體去存儲(chǔ)環(huán)境的配置。使用env變量存放一個(gè)字典結(jié)構(gòu)體的環(huán)境配置。然后將請(qǐng)求結(jié)構(gòu)體中的url替換為env配置文件中個(gè)人選擇的url。
先用env[“docker.testing-studio.com”]讀到全部的環(huán)境配置選項(xiàng),再使用改變[env[“default”]]中的選擇,去切換不同的環(huán)境。
#把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"
由上面兩個(gè)步驟就可以將環(huán)境的切換作為一個(gè)可配置的選項(xiàng),根據(jù)需求,很方便的去切換不同的使用環(huán)境。不過(guò)目前這樣的解決辦法依然是寫(xiě)在代碼中,不夠優(yōu)雅,在后面會(huì)講解如何將env變量中的配置信息轉(zhuǎn)換為一個(gè)yaml格式的配置文件。