python-装饰器&自动化框架搭建

装饰器

步骤分解:

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)

测试结果:获取到了测试用例集

原文地址:https://www.cnblogs.com/Mezhou/p/9451534.html