Python自动化必会技能-Excel文件读取

2024-09-03 00:04

本文主要是介绍Python自动化必会技能-Excel文件读取,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

01 重点

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

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

图片

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

  • 打开文件
  • 读取工作表
  • 遍历每个单元格,组成字典(for循环语句)
  • 字典组成列表(for循环语句)

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

图片

02 抓包获取接口数据

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

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

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": "***"
}
  • 1
  • 2
  • 3
  • 4

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

03 设计测试用例

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

图片

得到信息:

  • Excel文件路径地址
  • 工作表名称
  • 用例入参、入参对应的值、用例标题

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

04 Python脚本

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

  • 13位时间戳
  • 接口的入参

时间戳脚本

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

读取测试用例脚本

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

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

  • 读取对应的excel文件和用例所在的工作表
  • 将接口的入参和值组成字典
  • 将组合好的入参字典,封装成列表形式
  • 根据用例标题,读取对应的入参数据

1、将请求的入参与测试数据,组成字典形式

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

图片

2、将每条用例再跟用例标题,组成字典形式

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

图片

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

图片

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

 最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取【保证100%免费】

这篇关于Python自动化必会技能-Excel文件读取的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1131447

相关文章

Python数据验证神器Pydantic库的使用和实践中的避坑指南

《Python数据验证神器Pydantic库的使用和实践中的避坑指南》Pydantic是一个用于数据验证和设置的库,可以显著简化API接口开发,文章通过一个实际案例,展示了Pydantic如何在生产环... 目录1️⃣ 崩溃时刻:当你的API接口又双叒崩了!2️⃣ 神兵天降:3行代码解决验证难题3️⃣ 深度

C#借助Spire.XLS for .NET实现在Excel中添加文档属性

《C#借助Spire.XLSfor.NET实现在Excel中添加文档属性》在日常的数据处理和项目管理中,Excel文档扮演着举足轻重的角色,本文将深入探讨如何在C#中借助强大的第三方库Spire.... 目录为什么需要程序化添加Excel文档属性使用Spire.XLS for .NET库实现文档属性管理Sp

Python+FFmpeg实现视频自动化处理的完整指南

《Python+FFmpeg实现视频自动化处理的完整指南》本文总结了一套在Python中使用subprocess.run调用FFmpeg进行视频自动化处理的解决方案,涵盖了跨平台硬件加速、中间素材处理... 目录一、 跨平台硬件加速:统一接口设计1. 核心映射逻辑2. python 实现代码二、 中间素材处

python中的flask_sqlalchemy的使用及示例详解

《python中的flask_sqlalchemy的使用及示例详解》文章主要介绍了在使用SQLAlchemy创建模型实例时,通过元类动态创建实例的方式,并说明了如何在实例化时执行__init__方法,... 目录@orm.reconstructorSQLAlchemy的回滚关联其他模型数据库基本操作将数据添

Python实现快速扫描目标主机的开放端口和服务

《Python实现快速扫描目标主机的开放端口和服务》这篇文章主要为大家详细介绍了如何使用Python编写一个功能强大的端口扫描器脚本,实现快速扫描目标主机的开放端口和服务,感兴趣的小伙伴可以了解下... 目录功能介绍场景应用1. 网络安全审计2. 系统管理维护3. 网络故障排查4. 合规性检查报错处理1.

Python轻松实现Word到Markdown的转换

《Python轻松实现Word到Markdown的转换》在文档管理、内容发布等场景中,将Word转换为Markdown格式是常见需求,本文将介绍如何使用FreeSpire.DocforPython实现... 目录一、工具简介二、核心转换实现1. 基础单文件转换2. 批量转换Word文件三、工具特性分析优点局

Python中4大日志记录库比较的终极PK

《Python中4大日志记录库比较的终极PK》日志记录框架是一种工具,可帮助您标准化应用程序中的日志记录过程,:本文主要介绍Python中4大日志记录库比较的相关资料,文中通过代码介绍的非常详细,... 目录一、logging库1、优点2、缺点二、LogAid库三、Loguru库四、Structlogphp

Java使用Spire.Doc for Java实现Word自动化插入图片

《Java使用Spire.DocforJava实现Word自动化插入图片》在日常工作中,Word文档是不可或缺的工具,而图片作为信息传达的重要载体,其在文档中的插入与布局显得尤为关键,下面我们就来... 目录1. Spire.Doc for Java库介绍与安装2. 使用特定的环绕方式插入图片3. 在指定位

C++,C#,Rust,Go,Java,Python,JavaScript的性能对比全面讲解

《C++,C#,Rust,Go,Java,Python,JavaScript的性能对比全面讲解》:本文主要介绍C++,C#,Rust,Go,Java,Python,JavaScript性能对比全面... 目录编程语言性能对比、核心优势与最佳使用场景性能对比表格C++C#RustGoJavapythonjav

C#实现将Excel工作表拆分为多个窗格

《C#实现将Excel工作表拆分为多个窗格》在日常工作中,我们经常需要处理包含大量数据的Excel文件,本文将深入探讨如何在C#中利用强大的Spire.XLSfor.NET自动化实现Excel工作表的... 目录为什么需要拆分 Excel 窗格借助 Spire.XLS for .NET 实现冻结窗格(Fro