使用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):
if value.find(mark) != -1:
case[key] = value.replace(mark,data)
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:
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表达式):
例如:
res = jsonpath(resp,'$..token')[0]
print(res)