首页 > 技术文章 > txt\excel\cvs\xml存储测试数据

sunny0 2017-12-08 15:23 原文

一、目录结构

二、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('\n')#''.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)

 

推荐阅读