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

  • 相关阅读:
    Big-data:Linux基础(04)--快捷键
    Big-data:Linux基础(03)
    Big-data:Linux基础(02)
    [mysql]删除和修改
    git使用两个异常处理
    jmeter函数使用以及json格式的后置处理器
    jmeter遇到中文不可见
    jmeter参数化
    GIT简易使用
    mysql基本语句(更新中)
  • 原文地址:https://www.cnblogs.com/lynne-wu/p/14310411.html
Copyright © 2011-2022 走看看