之前写了一篇自动化管理测试数据的文章
链接:http://uee.me/aWNGX (有兴趣的小伙伴可以看一看)
今天我们接着来讲一讲用Excel进行自动化冒烟测试。
tablib是requests库作者常年维护的一个python第三方库,可以操作 Excel 等多种文件格式变成一种通用数据集。
tablib支持的主要数据格式有:
◆ xls, 老版 office 的 excel 文件格式;
◆ xlsx系列,新版 office 文件格式;
◆ json
◆ yaml
◆ html
◆ csv
◆ df,(pandas 的 DataFrame, 需要安装 pandas)
tablib操作测试用例的基础使用非常简单,你只需要记住以下2点:
1、使用 import_set导入excel文件
2、使用 DataSet 创建 excel 表格
现在来进行更精确的操作:
行列数据操作
先通过加载excel文件获取到数据
a 得到的是一个列表,每个元素是每一行数据
01 获取行
02 获取列
03 插入行
04 插入列
05 修改
注意:不要在代码里直接操作 a._data, 可以封装成方法。
冒烟用例执行
在测试过程中,我们经常需要执行冒烟用例。或者给测试用例打标签,比如登录功能,成功用例,异常用例等等。
tablib通过tags关键字方便删选指定的测试用例来执行。
01 添加tags
02 修改tags
03 去除重复元素
灵活的格式切换
测试数据最常用的功能是需要切换格式,比如把 excel 格式的数据切换成 yaml , 这个在接口自动化测试框架httprunner中经常用到。
还是用a来表示DataSet数据:
01 存储为yaml文件
02 导入yaml文件
效果:
03 导出为html
效果:
04 导出为json
效果:
其他常用方法
◆ lpop(),lpush(row, tags=[]),lpush_col(col, header=None)
是对列的相关操作
◆ pop(),rpop(),rpush(row, tags=[]),rpush_col(col, header=None)
是对行的相关操作
◆ remove_duplicates()去除重复的记录
◆ sort(col, reverse=False)根据列进行排序
◆ subset(rows=None, cols=None)
返回子Dataset
◆ wipe()清空Dataset,包括表头和内容
总结
tablib这个库非常灵活,用法非常好记,完全符合我们对excel的理解。
非常适用于python自动化测试的用例数据管理。
只有一个缺点:中文资料太少。
后面我会翻译一些优秀的英文文档,让更多人把这个优秀的库用起来。
本文由柠檬班雨泽老师原创,转载需注明出处!
关注简书,获取最新技术文章,让软件测试学习变得更简单!
今日福利,免费领取3小时搞定fiddler抓包实战课程视频,可加小米老师微信:13327316731 暗号:简书
网友评论