zoukankan      html  css  js  c++  java
  • Excel封装

    logger封装:logger的初始化放到封装的logger文件中,因为自动化测试产生的日志比较少,一个日志文件足矣,每个模块的测试用例py中都用同一个logger收集器,无需多次获取。

    Excel封装

    主要使用openpyxl库,openpyxl只处理xlsx文件的读取和编写

    将Excel处理数据封装成类ExcelHandler

    def __init__(self,f_path):
    self.file_path = f_path----------实例属性,文件名

    def read(self,sheet_name)处理数据实例方法,返回字典列表

    work_book=openpyxl.open(self.file_path)--打开excel文件,获取的是Workbook对象

    work_sheet = work_book[sheet_name]---根据sheet工作表的name,获得sheet表格,Worksheet对象

    work_sheet.values---获得一个生成器对象,可迭代。
    sheet_data = list(work_sheet.values)---获得sheet表格的数据,将生成器转换成list,元素为每行数据元组。

    head=sheet_data[0]---获得表头数据

    sheet_data_dict_list = []
    for data in sheet_data[1:]:
    data_dict = dict(zip(head,data))
    sheet_data_dict_list.append(data_dict)
    return sheet_data_dict_list

    处理数据成元素为字典的列表,并返回

    import openpyxl

    from common.logger_handler import logger


    class ExcelHandler:
    """
    handle data in Excel
    :param file_path: test cases data file
    :method read: get data from excel

    """

    def __init__(self, f_path):
    self.file_path = f_path

    def read(self, sheet_name):
    """get data from excel return dict data
    :param sheet_name:worksheet name
    """
    try:
    work_book = openpyxl.open(self.file_path)
    except FileNotFoundError as e:
    logger.error("测试用例文件打开失败:{}".format(e))
    work_sheet = work_book[sheet_name]
    sheet_data = list(work_sheet.values)
    head = sheet_data[0]
    sheet_data_dict_list = []
    for data in sheet_data[1:]:
    dict_data = dict(zip(head, data))
    sheet_data_dict_list.append(dict_data)
    return sheet_data_dict_list

    本文来自博客园,作者:%女王%,转载请注明原文链接:https://www.cnblogs.com/lynne-wu/p/14310411.html

  • 相关阅读:
    观望Java-03:面向对象
    观望Java-02:基础语法
    观望Java-01:Java简介
    组件化开发——组件生命周期
    pug模板引擎——jade
    解决eclipse调试程序时source not found的问题
    Android中设置中文粗体的方法
    svn中编辑log message
    TortoiseSVN使用
    用TorToiseGit来管理github上的项目
  • 原文地址:https://www.cnblogs.com/lynne-wu/p/14310411.html
Copyright © 2011-2022 走看看