2020年7月6日第21节课使用replacel来替换用例收集+处理接口关联(jsonpath的使用)

使用replacel来替换用例收集

1.在excel的用例当中:mark规则: #值#   ,使用这个来表示当前字段需要进行替换
2.在用例当中,手机号有需要替换的时候,
   自己封装了一个Read_handle_data  定义了方法 replace_mark_data
   方法内部:
       遍历case - 每一个请求的数据
       若找到了mark,则替换。
'''
1.一条用例涉及到数据当中的,有url,data,check_sql 这些数据时

'''

def replace_mark_data(case,mark,data):    # 函数体
    '''
    遍历一个请求用例涉及到的所有数据,如果说每一个数据有需要替换的,都会替换
    :param case:  excel测试用例当中读取的一行测试数据,是个字典
    :param mark:  数据当中的占位符,#值#
    :param data:  要替换mark的真实数据
    :return:       返回数据
    '''

    for key,value in case.items():   # 遍历键值
        if value is not None and isinstance(value,str):  #如果value值不是空值和value是个str类型
            if value.find(mark) != -1:   # 如果在value值中能够找到这个标记的值
                case[key] = value.replace(mark,data)   # 将标记得mark替换成真的值
    return case   # 返回数据

if __name__ == '__main__':
    case = {
        'method':'POST',
        'url':'http://api.lemonban.com/futureloan/#phone#/member/register',
        'data':"{'mobile_phone':'#phone#','pwd':'17509345'}"
    }
    if case['data'].find('#phone#') != -1:  # 如果在用例的数据里能找到#phone#这个字段,就表示可以进行替换
        case = replace_mark_data(case, '#phone#', '15112552466')  # 传参
        for key,value in case.items():
            print(key,value)

如何处理接口关联(jsonpath的使用)

1.上一接口的响应结果,作为下一个接口的请求。
	响应数据提取方式:字典或者jsonpath
	传递方式:将上一个接口的响应提取出来的数据,作为类的属性。
 
	充值接口:处理登陆操作 --- 涉及到了指定的登陆用户。
2.jsonpath的使用
	安装:pip install jsonpath  
	jsonpath的运算符方式:
		1. $  表示根元素
		2. @  当前元素
		3. *  通配符,可以表示任何元素
		4. ..  递归搜索
		5. .  子节点(元素)
	使用方式:jsonpath.jsonpath(字典对象,jsonpath表达式):
		例如:
		# 参数:第一个:字典对象,第二个jsonpah表达式
		res = jsonpath(resp,'$..token')[0]
		# 返回值:列表,存放匹配到的所有者值
		print(res)

2020年7月6日第21节课使用replacel来替换用例收集+处理接口关联(jsonpath的使用)_第1张图片

你可能感兴趣的:(接口自动化测试笔记)