接口测试-如何通过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控制,访问不同的环境
原文地址:https://www.cnblogs.com/chenri/p/12683470.html