zoukankan      html  css  js  c++  java
  • 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)

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

  • 相关阅读:
    node
    github
    [模块] pdf转图片-pdf2image
    python 15 自定义模块 随机数 时间模块
    python 14 装饰器
    python 13 内置函数II 匿名函数 闭包
    python 12 生成器 列表推导式 内置函数I
    python 11 函数名 迭代器
    python 10 形参角度 名称空间 加载顺序
    python 09 函数参数初识
  • 原文地址:https://www.cnblogs.com/Mezhou/p/9451534.html
Copyright © 2011-2022 走看看