美文网首页
pytest框架-多环境下的接口测试02

pytest框架-多环境下的接口测试02

作者: 软件开发技术修炼 | 来源:发表于2021-12-26 00:00 被阅读0次

实现原理:

请求之前,对请求的url进行替换

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

创建 env_demo.py 封装requests

import requests

class Api:
    #读取写入到yaml中的环境信息
    env = yaml.safe_load(open("wnv.yaml"))
    print(env)
    #env = {
        #"default":"dev",
        #"testing-studio":
        #{
       # "dev":"127.0.0.1",
        #"test":"127.0.0.2" 
       # }   
#}

    #data是一个请求的信息
    def send(self,data:dict):
         #使用字符串的替换方法replace
        data["url"] = str(data["url"]).replace("testing-studio",self.env["testing-studio"][self.env["default"]])
        r = requests.request(method = data["method"],url =data["url"] ,headers = data["headers"] )

创建 test_api.py 运行接口文件

from unittest import TestCase
from test_requests import env_demo

class TestApi(TestCase):
    data = {
      "method":"get",
       "url":"http://testing-studio:9999/demo1.txt",
      "headers":None
}
  
    def test_send(self):
        api = env_demo.Api()
        print(api.send(self.data).text)

创建 test_yaml.py,将env配置文件转为yml文件

import yaml

def test_yaml2():
      env = {
        "default":"dev",
        "testing-studio":
        {
        "dev":"127.0.0.1",
        "test":"127.0.0.2" 
        }   
}
    with open("env.yaml","w") as f:
        yaml.safe_dump(data=env,stream = f)

相关文章

网友评论

      本文标题:pytest框架-多环境下的接口测试02

      本文链接:https://www.haomeiwen.com/subject/cxpjqrtx.html