获取excel表中的测试用例

如下图是excel管理的接口用例

 以下是操作上表用例的方法

 1
import xlrd
def get_excel(exceldir,sheetname,casename,*casetitle,selestor=['all']):
'''

:param exceldir: excel路径
:param sheetname: 操作的表名
:param casename:用例编号
:param casetitle:用例标题
:param selestor:用户自定义选择执行的用例名
:return:
'''
# 获取excel表,并保持原有格式
workbook = xlrd.open_workbook(exceldir,formatting_info=True)
worksheet = workbook.sheet_by_name(sheetname)
# a = worksheet.row_values(i,j,k) #i是第i行,j是从第j列开始到k列结束
# b = worksheet.col_values(0)#与上一样
# value = worksheet.cell_value(0,1)#表示第0行第1列的数据
select = []#以下代码是为了执行选择性的代码
if selestor[0] == 'all':
select = worksheet.col_values(0)
else:
for one in selestor:
if "-" in one:
a,b = one.split("-")
for i in range(int(a),int(b)+1):
select.append(casename+f'{i:0>3}')
else:
select.append(casename+f'{one:0>3}')
col=[]#获取用例标题的下标,储存到列表中
for i in casetitle:
col.append(worksheet.row_values(0).index(i))
# print(col)

get_list = []#列和行的组合列表
idx = 0
for one in worksheet.col_values(0):
if casename in one and one in select:

get_celllist = []
for num in col:
cellvalue = worksheet.cell_value(idx,num)
get_celllist.append(cellvalue)#列的组合

get_list.append(get_celllist)#行的组合
idx +=1
# print(get_list)
return get_list



if __name__ == '__main__':
a = get_excel('F:/ceshi/baidu/datas/testCaseFile_V1.5.xls','登录模块',"Login",'用例编号','模块','优先级',selestor=['003-005'])
print(a)
原文地址:https://www.cnblogs.com/cafe910912/p/15002692.html