火爆全网,Python自动化测试-openpyxl操作测试(详细)

news2024/11/16 11:49:41

目录:导读

    • 前言
    • 一、Python编程入门到精通
    • 二、接口自动化项目实战
    • 三、Web自动化项目实战
    • 四、App自动化项目实战
    • 五、一线大厂简历
    • 六、测试开发DevOps体系
    • 七、常用自动化测试工具
    • 八、JMeter性能测试
    • 九、总结(尾部小惊喜)


前言

当做自动化测试时,测试用例逐渐变多情况下,如果所有测试用例都通过代码管理将会使得代码十分臃肿,而且维护成本会很高;

所以我们一般会通过Excel去管理所有的测试用例,而openpyxl库提供了访问Excel的方法

openpyxl的介绍

一个Python库,用于读取/写入Excel 2010 xlsx 、xlsm 、xltx 、xltm 文件
不能操作 xls 文件

openpyxl的概念

Workbook:excel工作表
Sheet:工作表中的一张表
Cell:其中的一个单元格
简单步骤:打开Workbook,选中Sheet,操作Cell

openpyxl的使用

import openpyxl

if __name__ == '__main__':
    path = 'F:/imocInterface/case/imooc.xlsx'
    # 读取excel文件
    workbook = openpyxl.load_workbook(path)
    # 读取所有sheet
    sheet = workbook.get_sheet_names()
    # 获取某个sheet
    sheet = workbook[sheet[0]]
    # 获取某个cell的值
    cell_val = sheet.cell(row=2, column=2).value
    print(cell_val)

调用 load_workbook() 等同于调用 open() ;
第8、10行代码可能浓缩成一行代码 workbook.get_sheet_by_name(“sheet的名字”) ,前提是你得知道sheet的命名;
cell(row, column, value=None) 三个参数分别是:行,列,值;若设置了value相当于赋值操作,会覆盖原本的值;

openpyxl操作单元格

1、访问单个cell

# 方式一:获取A4单元格的值
cell_val = sheet['A4'].value

# 方式二:获取第二行,第二列的单元格的值
cell_val = sheet.cell(row=2, column=2).value

2、访问多个cell

 # A1-B3的单元格 共6个
ell_range = sheet['A1':'B3']

# A1-A3的单元格 共3个
cell_range = sheet['A1:A3']

 # 第十行的单元格
cell_range = sheet[10]

# 第1、2行的单元格
cell_range = sheet[1:2]

注意:以上方法返回的是都是cell对象组成tuple

3、获取指定范围的cell

# 返回行
for col in sheet.iter_rows(min_row=1, min_col=1, max_col=3, max_row=2):
    for cell in col:
        print(cell)

# 返回列
for col in sheet.iter_cols(min_row=1, min_col=1, max_col=3, max_row=2):
    for cell in col:
        print(cell)

获取指定范围cell的测试结果

# 返回行
<Cell 'Sheet1'.A1>
<Cell 'Sheet1'.B1>
<Cell 'Sheet1'.C1>
<Cell 'Sheet1'.A2>
<Cell 'Sheet1'.B2>
<Cell 'Sheet1'.C2>

# 返回列
<Cell 'Sheet1'.A1>
<Cell 'Sheet1'.A2>
<Cell 'Sheet1'.B1>
<Cell 'Sheet1'.B2>
<Cell 'Sheet1'.C1>
<Cell 'Sheet1'.C2>

出于性能考虑, sheet.iter_cols() 方法不支持在只读模式使用

4、获取sheet内所有行和列的cell

# 以列的形式,获取sheet的全部cell
data = tuple(sheet.columns)

# 以行的形式,获取sheet的全部cell
data = tuple(sheet.rows)

# 获取所有数据
data = tuple(sheet.values)
# 指定返回某一行数据
print(data[2])

注意: sheet.rows 返回的是一个对象,需要用 tuple() 才能将对象转换成tuple,出于性能考虑, sheet.cloumns 方法不支持在只读模式使用

5、获取sheet的行数、列数

# 获取sheet最大行
data = sheet.max_row

# 获取sheet最多列
data = sheet.max_column

# 获取sheet最小行
data = sheet.min_row

# 获取sheet最小列
data = sheet.min_column

6、openpyxl写入数据

workbook = openpyxl.load_workbook(path)
sheet = workbook.active
sheet.cell(row=2, col=2, value="213")
workbook.save(filename=path)

注意:
写入数据的文件需要是可写文件,需要已关闭;若打开着excel的话无法写入会报 PermissionError: [Errno 13] Permission denied: ‘XXXXX.xlsx’ ;

其实就是四部曲:获取excel - 执行 workbook.active - 赋值操作 - 保存文件
赋值操作还可以是 sheet[“B2”] = “213” ,等价于上面第三行代码

save() 会覆盖原有文件,不会有提醒

下面是我整理的2023年最全的软件测试工程师学习知识架构体系图

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

只要你坚持向前,努力不懈,终将抵达成功的彼岸。人生或许起伏不定,但奋斗是砥石,梦想是指南。每一次的努力都值得骄傲,因为它们在铺就通往辉煌的道路上。不要停下脚步,追逐自己的梦想,勇往直前!

只有拼尽全力,才能看到真正的自己。任何困难都无法阻挡你前进的步伐。坚持奋斗,你将收获辉煌的未来。不放弃,不言败,追求梦想的道路上,你绝对是无敌的存在。向前冲吧!

只有不停拼搏,才能成就辉煌;只有敢于冒险,才能追逐梦想;只有坚持不懈,才能战胜困难;只有努力奋斗,才能改变命运。相信自己,你一定行!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/695607.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

{“errMsg“:“setTabBarBadge:fail not TabBar page“}

问题描述&#xff1a;想要在详情页添加商品到购物车后&#xff0c;同时更新tabBar页面的购物袋徽标。于是直接在goods-detail页面使用以下代码后&#xff0c;发现报错&#xff1a; uni.setTabBarBadge({index: 3,text: this.goodsCount}) 错误信息&#xff1a;{"errMsg&q…

python爬虫-逆向实例小记-3

注意&#xff01;&#xff01;&#xff01;&#xff01;某数据网站逆向实例仅作为学习案例&#xff0c;禁止其他个人以及团体做谋利用途&#xff01;&#xff01;&#xff01;&#xff01; 案例分析 第一步&#xff1a;分析页面。查看响应内容&#xff0c;内容加密 第二步&am…

案例研究|小牛电动通过DataEase进行业务数据可视化分析

小牛电动&#xff08;Niu Technologies&#xff09;创立于2014年&#xff0c;是全球智能城市出行解决方案提供商。小牛电动的产品线包括电动自行车、电动摩托车、电动滑板车等。小牛电动在销售渠道上采用了线上线下相结合的模式&#xff0c;通过线上电商平台和线下门店销售&…

HP惠普暗影精灵6 OMEN笔记本电脑-15-en0007ax原厂Win10系统镜像,原装OEM系统,恢复出厂状态

HP惠普暗影精灵6笔记本电脑&#xff0c;OMEN 笔记本电脑-15-en0007ax原装出厂Win10系统&#xff0c;恢复原厂系统 15-en0005ax 、15-en0006ax 、15-en0007ax、 15-en0030ax、 15-en0031ax、 15-en0032ax 、15-en0033ax、 15-en0034ax、 15-en0035ax、 15-en0043ax 系统自带所…

树形控件父节点不选中,只能选中子节点,如何实现?

rTree 树形控件一级菜单没有复选框&#xff0c;子菜单有复选框&#xff0c;如何实现&#xff1f;_阿 尭的博客-CSDN博客 接上一篇博客&#xff0c;继续深入功能&#xff0c;如何只选中叶子节点而不选中父节点。 1.在节点被点击时的回调&#xff0c;node-click中&#xff0c;返…

Layui时间范围选择器,添加快捷键【本周、本月、本季度、本年】

界面 <input id"Date_select" type"text" class"form-control" placeholder"请选择时间范围" style"border-radius: 4px;" /><input id"StartDate" type"hidden" /><input id"EndD…

Qt动态多级导航菜单(三)

前文链接&#xff1a;Qt动态多级导航菜单&#xff08;二&#xff09; 本次更新&#xff0c;主要将原导航项NavItem抽象为基类NavItemBase, 并派生出带有图标样式的动态多级导航菜单。至此&#xff0c;关于想要增加自定义的导航菜单样式&#xff0c;只需要从NavItemBase类派生即…

【Windows系统优化篇】谨慎开启“来自微软输入法的启用建议“功能

【Windows系统优化篇】谨慎开启"来自微软输入法的启用建议"功能 出于个人隐私数据的保护&#xff0c;不建议开启这玩意&#xff0c;容易造成个人隐私数据泄露。—【蘇小沐】 1.实验环境 系统版本Windows 11 专业工作站版22H2&#xff08;22621.1928&#xff09;&a…

为什么扩散模型能如此迅速地取代 GAN?看完这篇文章你就懂了

在人工智能领域&#xff0c;文本生成和图像生成一直是备受关注的领域。GAN (Generative Adversarial Networks) 技术作为当前最流行的生成模型之一&#xff0c;在这个领域内占据了重要地位。但是&#xff0c;随着技术的不断发展和应用&#xff0c;它的局限性也逐渐显露出来。而…

【Window doc命令与批处理文件】

Window doc命令与批处理文件 doc命令 快速生成一个内容为空(里面是空格)&#xff0c;大小不为空的文件 fsutil file createnew d:\workspace\haha.ini 1024window doc修改关联命令 assoc .txtexecfile assoc .txttxtfilewindow 关机命令 shutdown -s -t 100 # 100s后关机…

你以为很炸裂的建筑和真正炸裂的建筑

你以为很炸裂的那个建筑&#xff0c;可能是最近刷爆朋友圈&#xff0c;惊呆所有人的小教堂吧&#xff1a;“Reading between the lines”&#xff0c;一座由比利时年轻建筑师组合Gijs Van Vaerenbergh于2011年设计的大型公共艺术装置。很多人觉得这是全世界在视觉上最独特的“透…

【Python爬虫开发实战①】使用urllib以及XPath爬取可爱小猫图片

个人主页&#xff1a;为梦而生~ 关注我一起学习吧&#xff01; 专栏&#xff1a;python网络爬虫从基础到实战 欢迎订阅&#xff01;后面的内容会越来越有意思~ 往期推荐&#xff1a; 【Python爬虫开发基础⑦】urllib库的基本使用 【Python爬虫开发基础⑧】XPath库及其基本用法 …

Windows环境下设置redis开启自动启动

一、首先下载好Redis 二、设置Redis服务 由于上面虽然启动了redis&#xff0c;但是只要一关闭cmd窗口&#xff0c;redis就会消失。所以要把redis设置成windows下的服务。 打开电脑的服务列表发现并没有所谓的Redis的服务。 我们需要进入到你安装的Redis的目录中&#xff0c;通…

系列五、NotePad++下载安装

一、下载 链接&#xff1a;https://pan.baidu.com/s/1U2f74vfBJIds7W2wJYnBxg?pwdyyds 提取码&#xff1a;yyds 二、安装 2.1、安装NotePad 解压NotePad-x64.zip至指定目录即可&#xff0c;例如 2.2、安装NppFTP 2.2.1、查看NotePad对应的位数&#xff08;32位or64位&a…

8.pixi.js编写的塔防游戏(类似保卫萝卜)-发射圆圈子弹技能

游戏说明 一个用pixi.js编写的h5塔防游戏&#xff0c;可以用electron打包为exe&#xff0c;支持移动端&#xff0c;也可以用webview控件打包为app在移动端使用 环境说明 cnpm6.2.0 npm6.14.13 node12.22.7 npminstall3.28.0 yarn1.22.10 npm config list electron_mirr…

cp命令IO代码实现实例

需求内容&#xff1a; 编写一个类似于cp命令的程序&#xff0c;当使用该程序复制一个包含空洞&#xff08;连续的空字节&#xff09;的普通文件时&#xff0c;要求目标文件的空洞与源文件保持一致。 测试一&#xff1a;普通文件的复制 #include <sys/types.h> #include …

升哲科技受邀出席第十四届夏季达沃斯论坛

6月27日至29日&#xff0c;第十四届夏季达沃斯论坛将在天津举办&#xff0c;国务院总理李强将出席论坛&#xff0c;并在开幕式上发表特别致辞。 升哲科技&#xff08;SENSORO&#xff09;创始人兼CEO赵武阳作为中国新生代商业领袖代表&#xff0c;受邀参加开幕式以及主论坛&am…

如何查看阿里云https账号密码

克隆git上的项目时出现身份验证&#xff0c;此时需要阿里云https密码 查看阿里云https密码&#xff1a;

事务管理秘籍:MySQL引擎的黄金法则

前言 大家在生活中肯定使用过微信或者支付宝转账吧&#xff0c;那么大家有没有想过一个问题呢&#xff1f;就是如果你向商家转账了&#xff0c;但是突然微信或者支付宝服务器出现问题了&#xff0c;商家并没有收到转账该怎么办呢&#xff1f; 今天我将来带大家了解解决这一问…

浙大GMSCM十周年庆典圆满闭幕!宁海元携易知微进行主题分享

6月24日&#xff0c;浙江大学与加拿大麦吉尔大学携手创办的全球制造与供应链管理硕士项目&#xff08;Master in Global Manufacturing and Supply Chain Management&#xff09;十周年庆典在浙江大学隆重召开。本次论坛致力于为制造业、服务业、物流业、金融业等各行业管理人员…