1. 用例分离
-- 一组测试数据-->一个用例-->测试类下的一个方法
-- 先用手工测试的用例:excel,xmind,tapd,testrail
测试数据的运转:手工写到excel中-->python读取excel数据-->自动化测试方法/函数
2. openpyxl
在我们读取excel前,需要安装一个第三方库,专门操作excel。
如:openpyxl(比较主流),xlrd(适合老版本,只能读取数据,不能写入等),pandas(比较重量级,安装的东西比较多,而且容易出错)
先来了解execl表格:
工作簿(workbook):指的就是整个excel文件
表格(sheet):一个工作簿中可以包括多个表格,也就是sheet1,sheet2....
行(row):就是sheet表格中的一行
列(column):就是sheet表格中的一列
单元格(cell):就是sheet表格中的一个格子
python读取excel操作步骤:
第一步:在桌面上新建了一个cases.xlsx表格,增加了两条数据,如下
第二步:安装openpyxl,读取excel表格数据。如下
安装完成后,开始读取数据
# 导入load_workbook:作用是加载工作簿
from openpyxl import load_workbook
# 通过文件得到一个工作簿,参数是文件名,如果有路径,要写绝对路径
wb = load_workbook('cases.xlsx')
print(wb)
# 获取 sheet 表格
sheet = wb['Sheet1'] # 注意S是大写的
print(sheet)
# 获取一个单元格
cell = sheet.cell(row=2,column=1)
print(cell)
# 获取单元格的值/内容
print(cell.value)
运行结果:
<openpyxl.workbook.workbook.Workbook object at 0x00000226B9510220>
<Worksheet "Sheet1">
<Cell 'Sheet1'.A2>
1
踩坑点:
获取sheet中所有的数据:
# 导入load_workbook:作用是加载工作簿
from openpyxl import load_workbook
wb = load_workbook('cases.xlsx')
sheet = wb['Sheet1']
# 获取sheet中所有的数据
data = sheet.values
print(data) # 得到的一个结果generator的对象,这个是可以转换成列表格式
print(list(data))
运行结果:
<generator object Worksheet.values at 0x000001649E85F2E0>
[('case_id', 'title', 'data', 'expected'), (1, '测试用例1', '数据1', '成功'), (2, '测试用例2', '数据1', '失败')]
自动化测试过程不会每次都这样一行一行的写,我们会封装成一个函数,当使用的时候直接来调用函数
from openpyxl import load_workbook
# 封装读取excel的函数
def read_excel(file_name, sheet_name):
# 获取工作簿
wb = load_workbook(file_name)
# 获取表格
sheet = wb[sheet_name]
#