python自动化测试(2)--读取excel中的测试用例并使用列表进行存放
2021/4/24 20:28:31
本文主要是介绍python自动化测试(2)--读取excel中的测试用例并使用列表进行存放,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
一、相关概念
使用python对excel进行操作之前,我们需要了解excel的组成,分别是:
- 工作薄workbook
- 工作表sheet
- 单元格cell
对excel的操作,实质上是对excel中workbook、sheet以及cell的操作。
二、操作流程
- 使用excel提前将测试用例准备好
- 导入操作excel需要使用的模块:openpyxl
- 工作簿的加载:wb = load_workbook("excel的存放路径")
- 获取存放测试用例的表单:sh = wb["表单名称"]
- 获取表单中所有的数据,并使用列表保存--按行获取
- rows = list(sh.rows)
- 说明:使用sh.rows获取的每一行是一个元组,元组中的成员是cell
- 遍历行:获取每一行中所有数据,此时我们需要区分一下表头数据和非表头数据
- 使用字典存放每一行的测试用例
- 遍历的表头行数据,可以用作dict中的key
- 遍历的非表头行数据,可以用作dict中的value
- 对于非表头行,每一行就是一个测试用例数据
- 将存放每一行测试用例的dict,添加到存放所有测试用例的列表中
三、代码实现
- 方式一:使用zip(推荐)
1 ''' 2 读取excel中的测试用例,并使用列表进行保存 3 使用zip将表头信息与行中的信息已字典的形式关联 4 ''' 5 6 import os 7 from openpyxl import load_workbook 8 9 file_path = os.path.join(os.path.dirname(os.path.abspath(__file__)),"login_case.xlsx") 10 11 datas_case = [] #用于保存测试用例 12 13 wb = load_workbook(file_path) # 获取工作簿workBook 14 sh = wb["login"] # 获取工作表 15 rows = list(sh.rows) # 获取工作表中所有行,行中的元素以元组的形式进行存放 16 17 titles = [] # 用户存放表头信息 18 for key in rows[0]: # 遍历表头 19 titles.append(key.value) 20 pass 21 22 # 遍历非表头行 23 for row in rows[1:]: 24 values = [] # 用于存放行中元素 25 for cel in row: # 遍历行中的单元格 26 values.append(cel.value) 27 pass 28 res = dict(zip(titles,values)) # 将行中的元素与表头信息组合,形成测试用例 29 res["expected"] = eval(res["expected"]) # 将字符串转换成字典 30 datas_case.append(res) # 将测试用例存放在列表中 31 pass 32 33 print(datas_case)
- 方式二:原生方式
1 ''' 2 读取excel中的测试用例,并使用列表进行保存 3 使用最原生的方式 4 ''' 5 6 import os 7 from openpyxl import load_workbook 8 9 file_path = os.path.join(os.path.dirname(os.path.abspath(__file__)),"login_case.xlsx") 10 11 datas_case = [] #用于保存测试用例 12 13 wb = load_workbook(file_path) # 获取工作簿workBook 14 sh = wb["login"] # 获取工作表 15 rows = list(sh.rows) # 获取工作表中所有行,行中的元素以元组的形式进行存放 16 17 titles = [] # 用户存放表头信息 18 for key in rows[0]: # 遍历表头 19 titles.append(key.value) 20 pass 21 22 # 遍历非表头行 23 for row in rows[1:]: 24 row_dict = {} # 将行中的信息用字典保存 25 for item in range(len(row)): 26 row_dict[titles[item]] = row[item].value 27 pass 28 row_dict["expected"] = eval(row_dict["expected"]) # 将字符串转换成字典 29 datas_case.append(row_dict) # 将测试用例存放在列表中 30 pass 31 32 print(datas_case)
这篇关于python自动化测试(2)--读取excel中的测试用例并使用列表进行存放的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-24Python编程基础详解
- 2024-11-21Python编程基础教程
- 2024-11-20Python编程基础与实践
- 2024-11-20Python编程基础与高级应用
- 2024-11-19Python 基础编程教程
- 2024-11-19Python基础入门教程
- 2024-11-17在FastAPI项目中添加一个生产级别的数据库——本地环境搭建指南
- 2024-11-16`PyMuPDF4LLM`:提取PDF数据的神器
- 2024-11-16四种数据科学Web界面框架快速对比:Rio、Reflex、Streamlit和Plotly Dash
- 2024-11-14获取参数学习:Python编程入门教程