• 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

  • 相关阅读:
    Ubuntu解压缩命令
    小语种优化策略
    外贸seo常用Zen Cart数据库mysql批量执行命令
    ASP Request.ServerVariables
    centos linux 下 crontab e 命令插入及保存
    AJAX 传值给后台
    partial class
    Jquery 实现弹出层
    abstract class
    SQL锁表
  • 原文地址:https://www.cnblogs.com/lynne-wu/p/14310411.html
Copyright © 2020-2023  润新知