转载请注明出处:https://www.cnblogs.com/shapeL/p/9075843.html
前提:自动化接口测试中,可以将用例放在excel中管理。结合实际情况讲解如何操作excel文件
1.安装xlrd:pip install xlrd
2.导入模块:import xlrd
3.打开Excel文件读取数据
data = xlrd.open_workbook('../dataconfig/interface.xlsx')
4.获取一个工作表(两种方式都可以)
table = data.sheets()[0] #通过索引顺序获取
table = data.sheet_by_index(0) #通过索引顺序获取
5.获取表名称
name = table.name
6.获取行数和列数
nrows = table.nrows
nclos = table.ncols
7.获取某行和某列的值
row_value= table.row_values(i)
col_value = table.col_values(i)
8.循环 行/列 的数据
for i in range(nrows):
print(table.row_values(i))
for j in range(nclol):
print(table.col_values(j))
9.获取单元格数据(两种方式)
cellvalue = table.cell(row,col).value
cellvalue = table.cell_value(row,col)
代码参考:将相关方法进行封装,使用过程可以直接调用
1 #coding:utf-8
2 import xlrd
3
4 class OperationExcel:
5 def __init__(self,file_name=None,sheet_id=None):
6 if file_name:
7 self.file_name = file_name
8 self.sheet_id = sheet_id
9 else:
10 self.file_name = '../dataconfig/interface.xlsx'
11 self.sheet_id = 0
12 self.data = self.get_data()
13
14 #获取sheets的内容
15 def get_data(self):
16 data = xlrd.open_workbook(self.file_name)
17 tables = data.sheets()[self.sheet_id]
18 return tables
19
20 #获取单元格的行数
21 def get_lines(self):
22 tables = self.data
23 return tables.nrows
24
25 #获取某一个单元格的内容
26 def get_cell_value(self,row,col):
27 tables = self.data
28 cell = tables.cell_value(row,col)
29 return cell
30
31 if __name__ == '__main__':
32 opexcel = OperationExcel()
33 print(opexcel.get_cell_value(1,2))