Python自动化必会技能-Excel文件读取
Posted 憨憨说测试
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python自动化必会技能-Excel文件读取相关的知识,希望对你有一定的参考价值。
重点
在自动化测试过程中,经常需要使用excel文件来存储测试用例,那么在表格内设计好了测试用例数据后,如何通过自动化读取呢?此时就需要测试小姐姐动手写“代码”了~
本文主要介绍通过python来读取表格数据。Python读取表格的方式大概有三种(如下图介绍),本文侧重点使用xlrd模块来读取excel数据。
读取excel文件,主要掌握以下几个结果内容:
- 打开文件
- 读取工作表
- 遍历每个单元格,组成字典(for循环语句)
- 字典组成列表(for循环语句)
读取表格的相关方法介绍如下:
抓包获取接口数据
进行接口自动化时,一般公司内部开发都会维护一份接口文档,测试人员可从该文档获取接口的相关信息,也可使用抓包工具获取接口信息。
本文案例较为简单,就从抓包来获取数据,当然如果是真的进行接口自动化测试时,就需要开发提供详细的接口数据,不仅包括请求地址、入参,还需要提供各个入参对应的值,以及接口成功的状态标识。
获取接口请求基础数据
利用抓包工具charles获取需要进行自动化测试的接口
得到信息有两个,一个是请求地址url,一个是请求头header
-
url:http:/**********(域名) /wapi/sso/login?t=1592880704818
-
header:Content-Type=application/json;charset=UTF-8
(请求头的含义大家可以自行百度,这里不做过多的说明) -
请求方式
接口请求的常见方式有post和get,本文案例的请求使用的是post方式
2、获取接口请求的入参数据
在抓包工具上,切换到Request页面,可以看到入参的数据,如下图:
得到信息:
从以上数据可以看出,接口入参是以字典的形式传递的,key=loginId,对用的value=”” (此处的表示用户的用户名~由于涉及到个人隐私问题,故使用号代替)
设计测试用例
以excel表格来存储用例,第一行为参数,第二行开始为入参的值,第一列为用例标题,具体如下:
得到信息:
- Excel文件路径地址
- 工作表名称
- 用例入参、入参对应的值、用例标题
(本文的测试用例只是范例,实际测试过程中,肯定不止这两条用例)
Python脚本
从抓包工具charles抓取到的数据看,我们需要获取到两种数据:
- 13位时间戳
- 接口的入参
时间戳脚本
Python实现获取13位的时间戳脚本如下:
读取测试用例脚本
通过抓包数据可以看到入参的数据是字典的形式,一个key对应一个value。
所以接口的测试用例的脚本设计分为三个部分:
- 读取对应的excel文件和用例所在的工作表
- 将接口的入参和值组成字典
- 将组合好的入参字典,封装成列表形式
- 根据用例标题,读取对应的入参数据
1、将请求的入参与测试数据,组成字典形式
如下图:一个组合的入参+测试数据,相当于一条用例
2、将每条用例再跟用例标题,组成字典形式
如下图:后续可以根据用例标题,获取用例内容(入参+测试数据)
3、将通过用例标题,读取测试用例
(高温提醒:最后的最后实在不会把代码敲呀敲一遍把表格用例更新直接运行脚本就成)
下面是配套资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!
最后: 可以在公众号:豆子熊 ! 免费领取一份216页软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。
学习不要孤军奋战,最好是能抱团取暖,相互成就一起成长,群众效应的效果是非常强大的,大家一起学习,一起打卡,会更有学习动力,也更能坚持下去。
以上是关于Python自动化必会技能-Excel文件读取的主要内容,如果未能解决你的问题,请参考以下文章
API接口自动化测试框架搭建-公共方法-封装读取excel用例数据方法read_excel.py
自动化神器!Python 批量读取身份证信息写入 Excel