0
点赞
收藏
分享

微信扫一扫

八、多环境下的接口测试

实现原理

  • 在请求之前,对请求的url进行替换
  1. 需要二次封装requests,对请求进行定制化。
  2. 将请求的结构体的url从一个写死的ip地址改为一个(任意的)域名。
  3. 使用一个env 配置文件,存放各个环境的配置信息。
  4. 然后将请求结构体中的url替换为env配置文件中个人选择的url。
  5. 将env配置文件使用yaml进行管理。

实战

  • env.yaml 内容
default: dev
env_select:
dev: 127.0.0.1
test: 127.0.0.2
  • env_demo.py 内容
import requests
import yaml


class Api:
env = yaml.safe_load(open("env.yaml"))
data = {
"method": "get",
"url": "http://testing-studio:9999/demo.txt",
"headers": None,
}

# data是一个请求的信息
def send(self, data:dict):
# 进行替换
data["url"] = str(data["url"]).replace("testing-studio", self.env["env_select"][self.env["default"]])
r = requests.request(method=data["method"], url=data["url"], headers=data["headers"])
return r

if __name__ == '__main__':
api = Api()
print(api.send(api.data).text)
  • 运行结果
"D:\Program Files\Python38\python.exe" D:/Programs/DevOps/Python_Practice/lessons/api/env_demo.py
eyJ0b3BpY3MiOgp7CiJvcmFuZ2UiOiJtb3ZpZSIsCiJzaG9vbCI6InRlc3Rpbmctc3R1ZGlvIiwKInByZXNpZGVudCI6InNldmVuaXJ1YnkiCn0KfQo=
  • 将字典转成yaml文件脚本
import yaml

def test_yaml():
env = {
"default":"dev",
"env_select":
{
"dev": "127.0.0.1",
"test": "127.0.0.2"
}

}
with open("env.yaml", "w") as f:
yaml.safe_dump(data=env, stream=f)
举报

相关推荐

0 条评论