• Python unittest excel数据驱动


    安装xlrd

    下载地址:https://pypi.python.org/pypi/xlrd

     

    安装ddt

    下载地址:https://pypi.python.org/pypi/ddt/1.1.0

     

    class ExcelUtil(object):
        def __init__(self, excelPath, sheetName):
            try:
                self.data = xlrd.open_workbook(excelPath)
            except Exception as e:
                print(str(e))
            self.table = self.data.sheet_by_name(sheetName)
    
            # get titles
            self.row = self.table.row_values(0)
    
            # get rows number
            self.rowNum = self.table.nrows
    
            # get columns number
            self.colNum = self.table.ncols
    
            # the current column
            self.curRowNo = 1
    
        def next(self):
            r = []
            while self.hasNext():
                s = {}
                col = self.table.row_values(self.curRowNo)
                i = self.colNum
                for x in range(i):
                    s[self.row[x]] = col[x]
                r.append(s)
                self.curRowNo += 1
            return r
    
        def hasNext(self):
            if self.rowNum == 0 or self.rowNum <= self.curRowNo:
                return False
            else:
                return True

     

    在unittest框架中使用ddt进行迭代,@ddt.data接收一个可迭代的类型,来判断执行的次数,excel.next()返回的是一个数组

    import unittest
    import ddt
    import ExcelUtil
    excel = ExcelUtil("excelPath", 'Sheet1')
    
    
    @ddt.ddt
    class DataTest(unittest.TestCase):
        @classmethod
        def setUpClass(cls):
            print('start')
    
        @classmethod
        def tearDownClass(cls):
            print('stop')
    
        @ddt.data(*excel.next())
        def testLogin(self, data):
            print(data['username'], data['password'])

    if __name__ == "__main__":
    suite = unittest.TestLoader().loadTestsFromTestCase(DataTest)
    unittest.TextTestRunner(verbosity=2).run(suite)

    excel表格如下:

     

    最后的输出结果为:

    admin 123456.0
    hjh jpmark961203

  • 相关阅读:
    VS2017专业版和企业版激活密钥
    RabbitMQ卸载重新安装
    RabbitMQ-基本命令操作
    天猫
    铜氨纤维
    四肢很发达,头脑不简单
    运动可以健身健脑
    1 职业天花板来自认识的局限性
    天猫-服饰行业标准
    服装设计都是需要什么
  • 原文地址:https://www.cnblogs.com/hjhsysu/p/5707035.html
Copyright © 2020-2023  润新知