zoukankan      html  css  js  c++  java
  • 接口测试-如何通过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控制,访问不同的环境
    
  • 相关阅读:
    找球号(一)
    拦截导弹
    开灯问题
    超级台阶
    小学生算术
    Financial Management
    三角形面积
    另一种阶乘问题
    并发环境下,先操作数据库还是先操作缓存?
    Flask框架Server和RequestHandler的爱恨纠缠
  • 原文地址:https://www.cnblogs.com/chenri/p/12683470.html
Copyright © 2011-2022 走看看