不管是做Ui自动化和接口自动,代码和数据要分离,会用到Excel,yaml,ini。今天我们重点讲讲Excel数据数据读取,重点是告诉小伙伴思路。
用例如下图:
小伙伴都知道,测试用例是有很多条的,少则几十条,多则上百条?自动化测试的话,测试中需要对用例数据进行读取,那必须循环读取才可以实现自动化。那么问题来了,怎么做呢?
思路:
1、用列表存放这些用例数据,所以要用到列表
2、每一行用例要存放在字典内,所以需要用到字典
3、循环写入到字典,然后存放到列表内
附源码:
#!/usr/bin/python3
importxlrdclassexcel_data:"""读取excl表接口数据"""data_path= "E:\\api_interface\\data\\interface.xlsx"
#打开文件
excel =xlrd.open_workbook(data_path)#通过下标定位表格
sheet =excel.sheet_by_index(0)#行: 6 和列数: 5
rows, cols =sheet.nrows, sheet.ncolsdefread_excl(self):#获取第一行数据key
first_row =self.sheet.row_values(0)#print(first_row) # [编号,接口方式,host, params, result]
#定义空列表,用于存放用例数据
self.result =[]#从第一行用例开始循环(1, 6)循环5次
for i in range(1, self.rows):#定义空字典
info_dict ={}#每1次大循环要循环5次(字典里有5组数据)
for j inrange(0, self.cols):#j=0,1,2,3,4
#添加到字典 (1)[0]---第2行第1例的值,依次循环
info_dict[first_row[j]] =self.sheet.row_values(i)[j]
# 将数据存放在列表中
self.result.append(info_dict)print(self.result)if __name__ == "__main__":
ex=excel_data()
ex.read_excl()
如果对软件测试、接口测试、自动化测试、性能测试、持结集成、面试经验交流。感兴趣可以902061117,群内会有不定期的发放免费的资料链接,这些资料都是从各个技术网站搜集、整理出来的,如果你有好的学习资料可以私聊发我,我会注明出处之后分享给大家