前面补充了如何来操作excel文件,这次把如何获取excel文件的sheet对象、行数、单元格数据的方法进行封装,方便后面调用

handle_excel.py

# coding:utf-8
import xlrd class HandleExcel:
"""封装操作excel的方法""" def __init__(self, file='E:\InterfaceTest_Framework\excel_json_demo\demo1.xlsx', sheet_id=0):
self.file = file
self.sheet_id = sheet_id
self.data = self.get_data()
# 为了在创建一个实例时就获得excel的sheet对象,可以在构造器中调用get_data()
# 因为类在实例化时就会自动调用构造器,这样在创建一个实例时就会自动获得sheet对象了 # 获取某一页sheet对象
def get_data(self):
data = xlrd.open_workbook(self.file)
sheet = data.sheet_by_index(self.sheet_id)
return sheet # 获取excel数据行数
def get_rows(self):
rows = self.data.nrows
# t = self.get_data() # 调用get_data()取得sheet对象(如果不在构造器获取sheet对象,就需要在方法内先获取sheet对象,再进行下一步操作,每个方法都要这样,所以还是写在构造器中方便)
# rows = t.nrows
return rows # 获取某个单元格数据
def get_value(self, row, col):
value = self.data.cell_value(row, col)
return value # 向某个单元格写入数据
def write_value(self):
pass # 封装excel的列名常量
def get_caseseq():
"""获取caseSeq"""
caseSeq = 0
return caseSeq def get_apitype():
"""获取apiType"""
apiType = 1
return apiType def get_apiseq():
"""获取apiSeq"""
apiSeq = 2
return apiSeq def get_apiName():
"""获取apiName"""
apiName = 3
return apiName def get_priority():
"""获取priority"""
priority = 4
return priority def get_url():
"""获取url"""
url = 5
return url def get_method():
"""获取method"""
method = 6
return method def get_header():
"""获取header"""
header = 7
return header def get_purpose():
purpose = 8
return purpose def get_params():
"""获取params"""
params = 9
return params def get_expectvalue():
"""获取expectValue"""
expect = 10
return expect if __name__ == '__main__':
test = HandleExcel()
print(test.get_data())
print(test.get_rows())
print(test.get_value(0, 0))

这里很简单,没什么好讲的,只是把一些操作方法封装到一个类中

参考慕课网接口测试教程

记录python接口自动化测试--把操作excel文件的方法封装起来(第五目)的更多相关文章

  1. 用Python的pandas框架操作Excel文件中的数据教程

    用Python的pandas框架操作Excel文件中的数据教程 本文的目的,是向您展示如何使用pandas 来执行一些常见的Excel任务.有些例子比较琐碎,但我觉得展示这些简单的东西与那些你可以在其 ...

  2. python使用xlrd模块读写Excel文件的方法

    本文实例讲述了python使用xlrd模块读写Excel文件的方法.分享给大家供大家参考.具体如下: 一.安装xlrd模块 到python官网下载http://pypi.python.org/pypi ...

  3. C#使用oledb操作excel文件的方法

    本文实例讲述了C#使用oledb操作excel文件的方法.分享给大家供大家参考.具体分析如下: 不管什么编程语言都会提供操作Excel文件的方式,C#操作Excel主要有以下几种方式: 1.Excel ...

  4. 记录python接口自动化测试--把测试结果写进excel文件(第九目)

    python中一般使用xlrd(excel read)来读取Excel文件,使用xlwt(excel write)来生成Excel文件(可以控制Excel中单元格的格式),需要注意的是,用xlrd读取 ...

  5. 记录python接口自动化测试--从excel中读取params参数传入requests请求不生效问题的解决过程(第七目)

    在第六目把主函数写好了,先来运行一下主函数 从截图中可以看到,请求参数打印出来了,和excel中填写的一致 但是每个接口的返回值却都是400,提示参数没有传进去,开始不知道是什么原因(因为excel中 ...

  6. 记录python接口自动化测试--根据excel中的期望输出是否存在请求返回的响应来判断用例是否执行成功(第八目)

    1.首先在excel中的expectValue列填好预期结果值 这里判断接口成功的依据是预期结果值是否存在于接口返回的数据中. 首先,要知道在之前封装的get/post请求方法中返回的是‘str’,也 ...

  7. 记录python接口自动化测试--主函数(第六目)

    把操作excel的方法封装好后,就可以用准备好的接口用例来循环遍历了 我的接口测试用例如下 主函数代码: run_handle_excel.py# coding:utf-8 from base.run ...

  8. 记录python接口自动化测试--简单总结一下学习过程(第十目)

    至此,从excel文件中循环读取接口到把测试结果写进excel,一个简易的接口自动化测试框架就完成了.大概花了1周的时间,利用下班和周末的时间来理顺思路.编写调试代码,当然现在也还有很多不足,例如没有 ...

  9. python接口自动化21-下载excel文件(Content-Type:octets/stream)

    前言 Content-Type类型为octets/stream,这种一般是文件类型了,比如有时候需要导出excel数据,下载excel这种场景如何用python来实现呢? 抓下载接口 1.下载的场景如 ...

随机推荐

  1. 芝麻HTTP:代理的基本原理

    我们在做爬虫的过程中经常会遇到这样的情况,最初爬虫正常运行,正常抓取数据,一切看起来都是那么美好,然而一杯茶的功夫可能就会出现错误,比如403 Forbidden,这时候打开网页一看,可能会看到&qu ...

  2. 芝麻HTTP:

    只要你的Scrapy Field字段名字和 数据库字段的名字 一样.那么恭喜你你就可以拷贝这段SQL拼接脚本.进行MySQL入库处理. 具体拼接代码如下: def process_item(self, ...

  3. angular自定义过滤器操作实例

    //模块名字var filters = angular.module("customFilter",[]);//过滤器名字filters.filter("uniqueCa ...

  4. Linux压缩、解压文件

    对于.tar格式的文件压缩和解压比较常用,今天对于.zip格式的文件用同样的命令无效.真是被自己蠢到了,忽略了后缀格式... 1.对于tar格式文件 压缩: tar –zcvf 压缩完后的名称  被压 ...

  5. JAVA简便解析json文件

    JAVA简便解析json文件 首先放上我要解析的json文件: { "resultcode":"200", "reason":"S ...

  6. 【洛谷2055】【CJOJ2487】【ZJOI2009】 假期的宿舍

    题面 题目描述 学校放假了 · · · · · · 有些同学回家了,而有些同学则有以前的好朋友来探访,那么住宿就是一个问题.比如 A 和 B 都是学校的学生,A 要回家,而 C 来看B,C 与 A 不 ...

  7. ES6学习总结二(数组的四个方法,字符串)

    数组 1 map 映射 一个对一个 如:分数数组[34,56,78,99]映射为[不及格,不及格,及格,及格]; 等级数组[23,56,89]映射为 [ {name:'lmx',level:1,rol ...

  8. Attempt to invoke interface method 'boolean java.util.List.add(java.lang.Object)' on a null object reference

    尝试在一个空的对象引用上引用boolean java.util.List.add()这个方法: 错误例子: private ArrayList<String> classList; cla ...

  9. 8086的分段寻址技术学习总结(Segmented Addressing)

    计算机最小粒度的数据单位是bit,但是为每个bit都分配地址不仅浪费资源,同时存取效率低.因此转而用8bits(也就是1个字节,1byte)来占用一个地址. 那么16位的地址线能够访问的地址空间大小为 ...

  10. js中判定this的规则

    判定this new绑定:新建对象; var bar = new foo(); 明确绑定(call.apply,bind):指定对象; var bar = foo.call(obj) 隐含绑定:环境对 ...