码迷,mamicode.com
首页 > 其他好文 > 详细

接口测试-如何通过ip访问不同的环境

时间:2020-04-12 07:55:56      阅读:125      评论:0      收藏:0      [点我收藏+]

标签:代理   json格式   修改   request   通过   ase   转换   dns   serve   

多环境测试的方法

可能访问的环境:

  • 开发环境
  • 测试环境
  • 预生产环境
  • 压测环境
  • 性能测试环境
  • 生产环境

处理方法

  • 对差异分析:域名、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控制,访问不同的环境

接口测试-如何通过ip访问不同的环境

标签:代理   json格式   修改   request   通过   ase   转换   dns   serve   

原文地址:https://www.cnblogs.com/chenri/p/12683470.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!