一、目录结构
二、txt存储数据
1、txtData.txt如下:
请您输入手机/邮箱/用户名
请您输入密码
请您输入验证码
2、helper中读取txt数据的代码
def readTXT(self): f=open(os.path.join(os.path.dirname(os.path.dirname(__file__)), 'data', 'txtData.txt'),'r') d=f.readlines()#按行读取所有数据,读取的结果类型为列表list list1=''.join(d).split(' ')#''.join(d)将d转为字符串,但结果是带了换行的字符串, # .split('/')是以换行‘/’将字符串分割为列表,列表里的元素为str类型 return list1
3、用例代码testTXT.py
#!/usr/bin/env python #-*-coding:utf-8-*- from webDDT.basePage.webDri import * from webDDT.pageOBJ.init import * from webDDT.pageOBJ.loginPage import * from webDDT.untis.helper import * import unittest class baiduXMLtest(init,login): def test01(self): '''验证用户名和密码为空时的提示信息''' hp = datahelp() self.login('','') self.assertEqual(self.getError.encode('utf-8'),hp.reafTXT()[0]) if __name__=='__main__': unittest.main(verbosity=2)
三、xml存储数据
1、xml存储的数据,xml的标签可以自己随便定义
<?xml version="1.0" encoding="utf-8"?> <DataDriven> <login1 name="" pw=""></login1> <login2 name="panda" pw=""></login2> <login3 name="" pw="12356"></login3> <nullError>请您输入手机/邮箱/用户名</nullError> <nameNull>请您输入用户名</nameNull> <pwNull>请您输入密码</pwNull> </DataDriven>
2、helper中读取xml数据的代码
def readXml(self,value): dom=xml.dom.minidom.parse(os.path.join(os.path.dirname(os.path.dirname(__file__)),'data','xmlData.xml')) db=dom.documentElement name=db.getElementsByTagName(value) namevalue=name[0]#取Tagname为value的第一个标签 return namevalue.firstChild.data def readXmls(self,parent,child): dom=xml.dom.minidom.parse(os.path.join(os.path.dirname(os.path.dirname(__file__)),'data','xmlData.xml')) db=dom.documentElement itemlist=db.getElementsByTagName(parent) item=itemlist[0]#取Tagname为parent的第一个标签 return item.getAttribute(child)#取parent的字节点child的值
3、测试用例testXml.py
#!/usr/bin/env python #-*-coding:utf-8-*- from webDDT.basePage.webDri import * from webDDT.pageOBJ.init import * from webDDT.pageOBJ.loginPage import * from webDDT.untis.helper import * import unittest class baiduXMLtest(init,login): def test01(self): '''验证用户名和密码为空时的提示信息''' hp = datahelp() self.login(hp.readXmls("login1","name"),hp.readXmls("login1","pw")) self.assertEqual(self.getError,hp.readXml("nullError")) if __name__=='__main__': unittest.main(verbosity=2)
四、CVS存储数据
1、CVS存储的数据
2、helper中读取cvs中数据的代码
def readCSV(self,v1,v2): rows = [] datafile = open(os.path.join(os.path.dirname(os.path.dirname(__file__)), 'data', 'csvData.csv')) reader = csv.reader(datafile) # reader返回的是个迭代,每一次迭代返回csv里的一行内容 for item in reader: rows.append(item) return rows[v1][v2].decode('gbk') # 返回第value1行的value2列的数据,类型是字符串
3、测试用例testCvs.py
from webDDT.basePage.webDri import * from webDDT.pageOBJ.init import * from webDDT.pageOBJ.loginPage import * from webDDT.untis.helper import * import unittest class baiduCSVtest(init,login): def test001(self): data=datahelp() self.login(data.readCSV(1,0),data.readCSV(1,1)) self.assertEqual(self.getError,data.readCSV(1,2)) if __name__=='__main__': unittest.main(verbosity=2)
五、excel存储数据
1、Excel存储的数据
2、helper中读取数据的代码
def readEXCEL(self,a1,a2): book=xlrd.open_workbook(os.path.join(os.path.dirname(os.path.dirname(__file__)), 'data', 'excelData.xlsx')) sheet=book.sheet_by_index(0) return sheet.cell_value(a1,a2) def readExcels(self): rows=[] book=xlrd.open_workbook(os.path.join(os.path.dirname(os.path.dirname(__file__)), 'data', 'excelData.xlsx')) sheet=book.sheet_by_index(0) for item in sheet.nrows: rows.append(list(sheet.cell_value(item,0,sheet.ncols)))#sheet.row_slice(item,0,sheet.ncols)是将第item行的从第一列到最后一列的数据加入到list中 return rows
3、测试用例testExcel.py
from webDDT.basePage.webDri import * from webDDT.pageOBJ.init import * from webDDT.pageOBJ.loginPage import * from webDDT.untis.helper import * import unittest class baiduCSVtest(init,login): def test001(self): data=datahelp() self.login(data.readEXCEL(1,0),data.readEXCEL(1,1)) self.assertEqual(self.getError,data.readEXCEL(1,2)) if __name__=='__main__': unittest.main(verbosity=2)