第第第
第43个视频讲解
"""
-*- coding:utf-8 -*-
@Time :2021/6/23 11:37
@AUTHOR :菜菜同学
@SOFTWARE :lemon1
"""
"""
1、在EXCEL的用例中,mark规则:#值# 使用这个来表示当前字段需要进行替换
2、在用例当中 ,手机号需要替换的时候,
封装了handle_data 定义了方法 replace_mark_with_data
方法内部:
遍历case - 每一个请求的数据
若找到了mark,则替换
3、一条用例涉及到数据当中,有url、request_data、check_sql
"""
def replace_mark_with_data(case,mark,real_data): # 函数体
"""
遍历一个http请求用例涉及到的所有数据,如果说每一个数据有需要替换的,都会替换。
case: excel当中读取出来一条数据。是个字典。
mark: 数据当中的占位符。#值#
real_data: 要替换mark的真实数据。
"""
for key,value in case.items(): # 遍历键值
if value is not None and isinstance(value,str): # 如果value值不是空值或value是字符串
if value.find(mark) != -1: # 如果在value值中能够找到这个标记的值
case[key] = value.replace(mark,real_data) # 将标记的mark替换成真的值
return case # 返回数据
if __name__ == '__main__':
case = {
"method": "POST",
"url": "http://api.XXX.com/futureloan/#phone#/member/register",
"request_data": '{"mobile_phone": "#phone#", "pwd": "123456789", "type": 1, "reg_name": "菜菜同学1"}'
}
if case["request_data"].find("#phone#") != -1: # 如果在用例里能找到#phone#这个字段,就替换
case = replace_mark_with_data(case,"#phone#",'123456789') # 传参
for key,value in case.items(): # 遍历后打印
print(key,value)