Python配合excel测试用例,实现自动化测试

596 篇文章 18 订阅
405 篇文章 4 订阅

在这里插入图片描述

01 敲黑板 划重点

在自动化测试过程中,经常需要使用excel文件来存储测试用例,那么在表格内设计好了测试用例数据后,如何通过自动化读取呢?此时就需要测试小姐姐动手写“代码”了~

本文主要介绍通过python来读取表格数据。Python读取表格的方式大概有三种(如下图介绍),本文侧重点使用xlrd模块来读取excel数据。

图片

1、读取excel文件,主要掌握以下几个结果内容:

打开文件

读取工作表

遍历每个单元格,组成字典(for循环语句)

字典组成列表(for循环语句)

2、读取表格的相关方法介绍如下:

图片

02 抓包获取接口数据

进行接口自动化时,一般公司内部开发都会维护一份接口文档,测试人员可从该文档获取接口的相关信息,也可使用抓包工具获取接口信息。

本文案例较为简单,就从抓包来获取数据,当然如果是真的进行接口自动化测试时,就需要开发提供详细的接口数据,不仅包括请求地址、入参,还需要提供各个入参对应的值,以及接口成功的状态标识。

1、获取接口请求基础数据

1.1 利用抓包工具charles获取需要进行自动化测试的接口

图片

得到信息有两个,一个是请求地址url,一个是请求头header

url:http:/**********(域名) /wapi/sso/login?t=1592880704818

header:Content-Type=application/json;charset=UTF-8

(请求头的含义大家可以自行百度,这里不做过多的说明)

请求方式

接口请求的常见方式有post和get,本文案例的请求使用的是post方式

2、获取接口请求的入参数据

在抓包工具上,切换到Request页面,可以看到入参的数据,如下图:

在这里插入图片描述

得到信息:

{

"loginId": "***",

"password": "***"

}

从以上数据可以看出,接口入参是以字典的形式传递的,key=loginId,对用的value=”” (此处的表示用户的用户名~由于涉及到个人隐私问题,故使用号代替)

03 设计测试用例

以excel表格来存储用例,第一行为参数,第二行开始为入参的值,第一列为用例标题,具体如下:

图片

得到信息:

Excel文件路径地址

工作表名称

用例入参、入参对应的值、用例标题

(本文的测试用例只是范例,实际测试过程中,肯定不止这两条用例)

04 Python脚本

从抓包工具charles抓取到的数据看,我们需要获取到两种数据:

13位时间戳:

接口的入参:

1、时间戳脚本

Python实现获取13位的时间戳脚本如下:

图片

2、读取测试用例脚本

通过抓包数据可以看到,入参的数据,是字典的形式,一个key对应一个value。

所以接口的测试用例的脚本设计分为三个部分:

读取对应的excel文件和用例所在的工作表

将接口的入参和值组成字典

将组合好的入参字典,封装成列表形式

根据用例标题,读取对应的入参数据

2.1 将请求的入参与测试数据,组成字典形式,如下图:

一个组合的入参+测试数据,相当于一条用例

图片

2.2 将每条用例再跟用例标题,组成字典形式,如下图:

后续可以根据用例标题,获取用例内容(入参+测试数据)

图片

2.3 将通过用例标题,读取测试用例

图片

(高温提醒:最后的最后实在不会把代码敲呀敲一遍把表格用例更新直接运行脚本就成~~)

下面是配套资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!
在这里插入图片描述

在公众号:伤心的辣条 ! 免费领取一份216页软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。

学习不要孤军奋战,最好是能抱团取暖,相互成就一起成长,群众效应的效果是非常强大的,大家一起学习,一起打卡,会更有学习动力,也更能坚持下去。你可以加入我们的测试技术交流扣扣群:914172719(里面有各种软件测试资源和技术讨论)

喜欢软件测试的小伙伴们,如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!


好文推荐

转行面试,跳槽面试,软件测试人员都必须知道的这几种面试技巧!

面试经:一线城市搬砖!又面软件测试岗,5000就知足了…

面试官:工作三年,还来面初级测试?恐怕你的软件测试工程师的头衔要加双引号…

什么样的人适合从事软件测试工作?

那个准点下班的人,比我先升职了…

测试岗反复跳槽,跳着跳着就跳没了…

  • 6
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实现自动化测试读取Excel测试用例,你可以使用openpyxl或xlrd库来读取Excel文件中的数据。以下是一个示例代码,演示了如何使用openpyxl库读取Excel文件中的测试用例数据: ``` from openpyxl import load_workbook def read_test_cases(file_path): wb = load_workbook(file_path) test_cases = {} for sheet_name in wb.sheetnames: sheet = wb[sheet_name] cases = [] for row in sheet.iter_rows(min_row=2, values_only=True): case = { "id": row = cases return test_cases test_cases = read_test_cases("测试数据.xlsx") ``` 在这个例子中,首先使用load_workbook函数加载Excel文件。然后,遍历每个sheet页,使用iter_rows函数获取每一行的数据。每一行的数据包括用例的ID、名称、请求方法、URL、请求头和请求体。将这些数据组织成一个字典,并将每个sheet页的字典添加到一个名为test_cases的字典中。最后,返回test_cases字典,其中包含了Excel文件中所有sheet页的测试用例数据。 请注意,这只是一个示例代码,你可以根据自己的需求进行修改和扩展。另外,如果你使用的是xlrd库,你需要根据该库的用法进行相应的修改。希望这个例子对你有帮助!<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Python自动化测试之读取excel中的测试用例(openpyxl)](https://blog.csdn.net/zhang_hmwin/article/details/124564474)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [WebUi自动化之关键字驱动读取Excel生成测试用例](https://blog.csdn.net/m0_57856496/article/details/125407075)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [pytest自动化测试框架-excel表读取测试用例-demo](https://blog.csdn.net/HBT036017/article/details/128259443)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值