selenium自动化-数据驱动2

 1 # -*- coding: utf-8 -*-
 2 import xlrd
 3 
 4 class ExcelUtil():
 5 
 6     #初始化
 7     def __init__(self,excelpath,sheetname):
 8         #先初始化打开数据文件
 9         self.data = xlrd.open_workbook(excelpath)
10         #再通过sheetname读取数据文件内容
11         self.table = self.data.sheet_by_name(sheetname)
12 
13         # 从第一行去对应的key值
14         self.keys = self.table.row_values(0)
15 
16         #获取所有的行数
17         self.allrow = self.table.nrows
18         #获取所有列数
19         self.allcol = self.table.ncols
20 
21 
22     def dict_data(self):
23         if self.allrow <= 1:
24             print("总行数小于1")
25 
26         else:
27             r = []
28             j = 1
29             #加一个while循环判断,如果数据文件在遍历时超出range定义的边界,会报错,在测试登陆时或者其他需求登陆用户的地方,一般在数据文件中设置几个用户就可以了
30             while j < 3:
31                 for i in range(self.allrow-1):
32                     s = {}
33                     #从第二行去对应的values值
34                     values = self.table.row_values(j)
35                     for x in range(self.allcol):
36                         s[self.keys[x]] = values[x]#遍历出一个{k:v}的键值对
37                     j+=1
38 
39                     r.append(s)
40                 return r
41 
42 if __name__ == "__main__":
43     filepath = "user.xlsx"#你的数据文件所在的路径,由于我的数据文件和我的测试脚本在同一个目录下,所以不需要加前面的路径
44     sheetname = "userinfo"
45     data = ExcelUtil(filepath,sheetname)
46 
47     print(data.dict_data())

 

输出结果:

C:\Users\Jayson\PycharmProjects\test\venv\Scripts\python.exe D:/tes1t/test/data/testdata.py
[{'username': 'zzz', 'password': 123456.0}, {'username': 'aaa', 'password': 234567.0}, {'username': 'qqq', 'password': 345678.0}]

Process finished with exit code 0

这个的userinfo是我提前在数据文件中报错的数据

posted @ 2018-09-28 17:37  jaysonzxk  阅读(173)  评论(0编辑  收藏  举报