Excel接口自动化(4)封装接口发送请求之前做数据依赖的处理

# 依赖数据的处理逻辑
from Config.public_data  import REQUEST_DATA,RESPONSE_DATA
from Utils.md5_encrypt import md5_encrypt

class GetRely():
    def __int__(self):
        pass

    # 举例登录接口依赖注册接口的请求参数在Excel中的显示结构:{"request":{"username":"register->1","password":"register->1"}}
    # 举例新增博文接口依赖登录接口的响应body在Excel中的显示结构:{"response": {"userid": "login->1", "token": "login-1"}}
    @classmethod
    def get(cls, dataSource, relyData):  #dataSource其实是requestData
        dataS = dataSource.copy()    #copy的目的是不改变原来的值
        for key,value in relyData.items():
            # 说明应该去REQUEST_DATA获取依赖数据
            if key == "request":
                for k,v in value.items():
                    interfaceName,case_id = v.split("->")  #v是"register->1"
                    try:
                        val = REQUEST_DATA[interfaceName][case_id][k]  #自己设置的格式用来存储数据
                        if k == "password":
                            dataS[k] = md5_encrypt(val)
                        else:
                            dataS[k] =val
                    except Exception as e:
                        pass
            # 说明需要去RESPONSE_DATA获取依赖数据
            elif key == "response":
                for k, v in value.items():#返回的是做完数据依赖处理的请求参数
                    interfaceName,case_id = v.split("->") #v是"login->1"
                    try:
                        dataS[k] = REQUEST_DATA[interfaceName][case_id][k]  #自己设置的格式用来存储数据
                    except Exception as e:
                        pass
        return dataS


if __name__ == "__main__":
    #存储依赖数据(这个变量在public_data里面也存储了)
    #先造一条假数据(下面数据的格式是自己设置的格式)
    #REQUEST_DATA结构都是自己设置的,一般都是设置成字典(用户注册表示接口名称(API里面的接口名称),1表示第几条用例)
    REQUEST_DATA = {"用户注册":{"1":{"username":"zhangsan111", "password":"zhangsan111"}}}     #request
    RESPONSE_DATA = {"用户注册":{"1":{"username":"zhangsan", "password":"zhangsan"}}}    #response
    s = {"username": "", "password": ""}
    rely = {"request": {"username": "用户注册->1", "password": "用户注册->1"}}
    print(GetRely.get(s, rely))
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值