github不太会用,先拿博客记录一下。
结构:
Utils 文件夹下
ReadExcelCase.py
# -*- coding:utf-8 -*- import xlrd # 从excel文件中读取测试用例 class ReadExcelCase(object): def ReadExcelCase(self,ExcelName,sheetNme): cls = [] ExcelName = xlrd.open_workbook('../DataPool/{}'.format(ExcelName)) sheet = ExcelName.sheet_by_name(sheetNme) nrows = sheet.nrows for i in range(nrows): if sheet.row_values(i)[0] != u'case_name': #不读取case_name的那一行 cls.append(sheet.row_values(i)) return cls
ReadExcelData.py
import xlrd class ReadExcelData(object): def returnExcelData(self,ExcelName,sheetNme,x,y): ExcelName=xlrd.open_workbook('../DataPool/{}'.format(ExcelName)) Excelsheet=ExcelName.sheet_by_name(sheetNme) TestData=Excelsheet.cell(x,y).value return TestData
接下来是方法的调用:
test1
# -*- coding:utf-8 -*- #作者:陈帅 #实现功能:读取Excel 形成list from Utils.ReadExcelCase import ReadExcelCase localrank_xls =ReadExcelCase().ReadExcelCase("heartBeat.xlsx","student") print(localrank_xls) print('第一行第一列元素:{}'.format(localrank_xls[0][0])) localrank_xls=",".join('%s' %id for id in localrank_xls) print(localrank_xls)
test2
# -*- coding:utf-8 -*- #作者:陈帅 #实现功能:利用@paramunittest.parametrized读取Excel 形成list import unittest import paramunittest from Utils.ReadExcelCase import ReadExcelCase localrank_xls =ReadExcelCase().ReadExcelCase("heart.xlsx","live") @paramunittest.parametrized(*localrank_xls) class test2(paramunittest.ParametrizedTestCase): def setParameters(self, case_name, protocol, method): #一定要一一对应 self.case_name=case_name self.prococol=int(protocol) self.method=int(method) def testcheck(self): self.assertEqual(self.prococol,self.method) if __name__ == "__main__": unittest.main(verbosity=2)
test3
# -*- coding:utf-8 -*- #作者:陈帅 #实现功能:以坐标的形式读取Excel from Utils.ReadExcelData import ReadExcelData print('第二行第一列:{}'.format(ReadExcelData().returnExcelData('heart.xlsx','live',1,0))
最后是数据Excel
heart.xls
heartBeat.xls