接口測試-如何通過ip訪問不同的環境


多環境測試的方法

可能訪問的環境:

  • 開發環境
  • 測試環境
  • 預生產環境
  • 壓測環境
  • 性能測試環境
  • 生產環境

處理方法

  • 對差異分析:域名、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控制,訪問不同的環境


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM