多環境測試的方法
可能訪問的環境:
- 開發環境
- 測試環境
- 預生產環境
- 壓測環境
- 性能測試環境
- 生產環境
處理方法
- 對差異分析:域名、ip不一樣
- 修改Host,類似 10.0.0.1 test.com
- 通過 DNS Server 設置
- 通過代理進行訪問
自動化測試方案,通過域名對應到不同的Ip進行選擇
Demo
class TestEncode:
def test_api(self):
req = ApiRequest()
# 請求的數據
req_data = {
"schema": "http",
"encoding": "base64", # 這個字段根據數據格式而定
"method": "get",
"url": "http://1.1.1.1/topics.txt",
"headers": None
}
r = req.send(req_data) # 將數據發送到已封裝的函數,返回一個json格式的數據
class ApiRequest:
def send(self, data: dict):
if data["schema"] == "http":
# 把host修改為IP,並附加到 host header
# 環境對應關系
env = {
"test/dev.com": {
"dev": "10.10.10.1",
"test": "10.10.10.2",
},
"default": "test",
}
# 將url中的域名轉換為Ip
data["url"] = str(data["url"]).replace("test/dev.com", env["test/dev.com"][env["default"]])
data["headers"]["Host"] = "test/dev.com" # 通過將Host綁上域名,服務器會認為是通過域名進行訪問
res = requests.request(data["method"], data["url"], headers=data["headers"])
# 通過以上方法或類似的思想,通過Ip控制,訪問不同的環境