前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >接口测试框架——第二篇

接口测试框架——第二篇

作者头像
孟船长
发布2018-05-18 18:08:19
6230
发布2018-05-18 18:08:19
举报

今天完善excel_module.py文件,上代码:

代码语言:javascript
复制
# coding: utf-8

import xlrd

class ReadExcel():

    def __init__(self, file_name):
        self.data = xlrd.open_workbook(file_name)

    def close(self):
        self.data.close()

    def get_sheet_by_index(self, index):
        '''
        通过表的索引获取表格的内容
        :param index: sheet的索引
        :return: 返回sheet的内容
        '''
        __sheet = self.data.sheet_by_index(index)
        return __sheet

    def get_sheet_by_name(self, name):

        '''
        通过sheet名称获取表的内容
        :param name: sheet名称
        :return: 返回sheet对象
        '''

        __sheet = self.get_sheet_by_name(name)
        return __sheet

    def get_row_values(self, sheet_obj, row_index):
        """
        获取指定行的内容
        :param sheet_obj: 接收sheet对象
        :param row_index: 行的索引
        :return: 返回指定行的内容,类型为列表
        """
        __values_list = sheet_obj.row_values(row_index)
        return __values_list

    def get_col_values(self, sheet_obj, col_index):
        """
        获取指定列的内容
        :param sheet_obj: 接收sheet对象
        :param col_index: 列的索引
        :return: 返回指定列的内容,类型为列表
        """
        __values_list = sheet_obj.col_values(col_index)
        return __values_list

    def get_number_of_rows(self, sheet_obj):
        """
        获取指定sheet行数
        :param sheet_obj: 接收sheet对象
        :return: 返回sheet总行数
        """
        __number_of_rows = sheet_obj.nrows
        return __number_of_rows

    def get_number_of_cols(self, sheet_obj):
        """
        获取指定sheet列数
        :param sheet_obj: 接收sheet对象
        :return: 返回sheet总列数
        """
        __number_of_cols = sheet_obj.ncols
        return __number_of_cols

    def get_cell_value(self, sheet_obj, row_index, col_index):
        """
        获取指定单元格的内容
        :param sheet_obj: 接收sheet对象
        :param row_index: 行索引
        :param col_index: 列索引
        :return: 返回单元格的内容
        """
        __cell_value = sheet_obj.cell(row_index, col_index).value
        return __cell_value

    def get_all_content(self, sheet_obj):
        """

        :param sheet_obj:
        :return:
        """
        __content = []
        # 总行数
        __rows_num = self.get_number_of_rows(sheet_obj)
        for tmp in range(__rows_num):
            tmp_list = []
            # 遍历行内容
            __row_value = self.get_row_values(sheet_obj, tmp)
            for i in __row_value:

                i = i.encode('utf8')
                # 将每行内容放到一个列表里
                tmp_list.append(i)
            __content.append(tmp_list)
        return __content

把读excel方法的单个方法提取出来,为的是后面调用的时候方便——面向对象的思想。具体方法的说明已经写的很清楚了。

如果你看不明白,那你就需要复习前面的内容了,

接口测试基础——第5篇xlrd模块 参考这一篇。

如果还是不明白,那就多百度吧,代码就是这么膈应人,慢慢来。如果有问题可以给我留言或者发公众号消息,船长看到后会第一时间回复大家。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-11-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 自动化测试实战 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档