装饰器
步骤分解:
1 #装饰器, 器就是函数,装饰函数的意思 2 #在不改变原来函数的调用方式、代码的情况下,给函数增加新功能。 3 4 def zjr(name): 5 print(name) 6 ahung = zjr 7 #函数即变量 8 ahung('hhh')
结果:将zjr这个变量赋值给ahung这个变量,所以ahung也能调用函数
1 def taotao(): 2 print('我是涛涛') 3 def timer(func):#timer函数传参传的是一个函数 4 func() 5 timer(taotao)
结果:
简单装饰器
1 def timer(func):#timer函数传参传的是一个函数 2 def add(): 3 print('开始挣钱') 4 func() 5 return add 6 def taotao(): 7 print('我是涛涛') 8 taotao = timer(taotao) 9 taotao()
原理:
1 def timer(func):#timer函数传参传的是一个函数 2 def add(): 3 print('开始挣钱') 4 func() 5 return add 6 @timer #语法糖 相当于 taotao=timer(taotao) 7 def taotao(): 8 print('我是涛涛') 9 taotao()
重要****
第一个接口自动化的框架
1.读取测试用例
1 import xlrd 2 def readExcel(file_path): 3 try: 4 book = xlrd.open_workbook(file_path) 5 except Exception as e: 6 log.error('打开用例出错,文件名是%s'%file_path) 7 return [] 8 else: 9 all_case = [] #存放所有的用例 10 sheet = book.sheet_by_index(0) 11 for i in range(1,sheet.nrows): 12 #1代表从第二行开始,第一行是标题 13 #sheet.nrows是指一共有多少行数据 14 row_data = sheet.row_values(i)#获得一整行数据 15 all_case.append(row_data[4:8])#所有用例 16 # url, method, data, check = row_data[4],row_data[5],row_data[6],row_data[7] 17 #url,method,data,check这四列 18 return all_case 19 res = readExcel(r'C:UsersMezhouPycharmProjectsuntitledday10atpcases测试用例.xlsx') 20 print(res)
测试结果:获取到了测试用例集