自动化测试框架(七):接口关联,读取响应结果中值并设置为全局动态属性,给下一个接口使用

接口关联,读取响应结果中值并设置为全局动态属性,给下一个接口使用

'''
从响应结果中提取值,并设置为Data属性
'''
import jsonpath
from common.my_data import Data
def extract_data_from_response(extract_epr,response_dict,share_data_obj:Data):
    # 从响应结果中提取值,并设置为DATA类的属性值
    '''
    :param extract_epr: excel当中extract列中的提取表达式,是一个字典形式的字符串
            key为全局变量名,value为jsonpath提取表达式
            '{"toke":"$..toke","member_id":"$..id","leave_amount":"$..leave_amount"}'
    :param response_dict: http请求之后的响应结果,字典类型
    :param share_data_obj:
    :return:
    '''
    # 从excel中读取的提取表达式,转成字典对象
    extract_dict=eval(extract_epr)
    # 遍历1中字典的key,value,key是全局变量名,value为jsonpath表达式
    for key ,value in extract_dict.items():
        # 根据jsonpath从响应结果中,提取真正的值,value就是jsonpath表达式
        result=jsonpath.jsonpath(response_dict,value)
        # jsonpath表达式如果找了就是列表,找不到就返回false
        # 如果找到真正的值,将其设置为Data类的属性,key为全局变量名,result[0]为提取后的值
        if result:
            setattr(share_data_obj,key,str(result[0]))

setattr(Data, "token", "1234564562314584555")
if hasattr(Data, "token"):
    value = getattr(Data,"token")
    print(value)

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值