zoukankan      html  css  js  c++  java
  • 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:UsersJaysonPycharmProjects estvenvScriptspython.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是我提前在数据文件中报错的数据

  • 相关阅读:
    Laravel路由除了根目录全报404错误
    jQuery源码分析之整体框架
    JS进阶系列之this
    JS进阶系列之原型、原型链
    原生JavaScript实现的贪吃蛇
    html文档流和事件流
    (转)mysql执行计划分析
    (转)重定向和转发区别
    el表达式取值优先级
    (转)性能测试基本指标
  • 原文地址:https://www.cnblogs.com/jayson-0425/p/9719941.html
Copyright © 2011-2022 走看看