txt\excel\cvs\xml存储测试数据
一、目录结构


二、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=""></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)
txt\excel\cvs\xml存储测试数据的更多相关文章
- Excel与XML相互转换 - C# 简单实现方案
Excel与XML相互转换 - C# 简单实现方案 在日常工作中,我需要将数据存储在Excel中进行数据分析和处理,然后再将数据转换为XML格式进行跨平台的数据交换.网上搜索Excel转换为XML的实 ...
- mysql命令行的导入导出sql,txt,excel(都在linux或windows命令行操作)(转自筑梦悠然)
原文链接https://blog.csdn.net/wuhuagu_wuhuaguo/article/details/73805962 Mysql导入导出sql,txt,excel 首先我们通过命令行 ...
- TestLink学习七:TestLink测试用例Excel转换XML工具
TestLink对于测试用例的管理来说,是蛮强大的,但是在导入导出这块,功能有点弱,本文针对测试用例的导入,转载了一个Excel转换成xml工具. 1.根据到处的测试用例xml,定义一下我的Excel ...
- csv,txt,excel文件之间的转换,perl脚本
最近接触一些需要csv,txt,excel文件之间的转换,根据一些网上搜索加上自己的改动,实现自己想要的结果为主要目的,代码的出处已经找不到了,还请见谅,以下主要是针对csv&excel 和t ...
- 转:TestLink1.9.3测试用例:Excel转换XML工具<二>实现代码
TestLink1.9.3测试用例:Excel转换XML工具<二>实现代码 http://blog.csdn.net/candle806/article/details/7490599 以 ...
- 转:Excel转换XML工具<一>
http://blog.csdn.net/candle806/article/details/7441695最近在整理测试用例,所以想找一个合适的工具来完成对测试需求.测试用例的管理.对比了一翻,发现 ...
- [Head First Python]4.读取文件datafile.txt, 去除两边空格, 存储到列表,从列表格式化(nester.py)后输出到文件man.out,other.out
datafile.txt #文件 Man: this is the right room for an argument. Other Man: I've told you once. Man: N ...
- 电影管理器之XML存储电影信息数据
电影管理器之XML存储电影信息数据 但凡管理器之类的软件,存储数据是必不可少的.存储数据的话,有几种选择.一是用数据库,把数据存储到数据库里:一是用文本文件,把数据存储到文本文件里:一种是利用XML文 ...
- testlink用例转换小工具(excel转为xml,python版)
前面文章记录了testlink的安装方法(CentOS 7下安装xampp和testlink),由于testlink仅支持xml格式的用例导入,研究了下excel转xml的方法, 从网上其他网友那里借 ...
随机推荐
- 【模板】强连通分量和tarjan算法
看了好久才终于明白了这个算法..复杂度是O(n+m). 我觉得这个算法不是很好理解,但是看懂了以后还是觉得听巧妙的. 下面给出模板代码和三组简单数据帮助理解. 代码如下: #include <s ...
- 第11组 团队Git现场编程实战
第11组 团队Git现场编程实战 组员职责分工: 前端部分: 陈郑铧:构架的搭建,前端模块开发 陈益:前端模块开发 李镇平:前端模块开发 后端部分: 沈国煜:后端模块开发 王泽鸿:后端模块开发 林铮威 ...
- ElasticSearch2:集群安装
0.Linux系统参数设置 Linux进程数系统限制查看 [root@ip101 config]# sysctl kernel.pid_max kernel.pid_max = 131072 [roo ...
- IDEA 运行单元测试报错 @{argLine}
sentinel是今年阿里开源的高可用防护的流量管理框架. git地址:https://github.com/alibaba/Sentinel wiki:https://github.com/alib ...
- mac 安装laravel
安装laravel之前先安装composer 使用 curl 指令下载: curl -sS https://getcomposer.org/installer | php 或是沒有安裝 curl ,也 ...
- leetcode1284 转化为全零矩阵的最少反转次数
m == mat.length n == mat[0].length 1 <= m <= 3 1 <= n <= 3 mat[i][j] 是 0 或 1 . BFS, 代码来自 ...
- Mysql 逗号分隔行列转换总结
方法一 存储过程实现: -- 修改结束符,防止在mysql命令行中默认分号直接运行 delimiter $$ -- 创建一个计算拆分后字符串的个数函数 drop function if exists ...
- Java同步数据结构之ArrayBlockingQueue
引言 作为BlockingQueue最常见的实现类之一,ArrayBlockingQueue是通过数组实现的FIFO先进先出有界阻塞队列,它的大小在实例被初始化的时候就被固定了,不能更改.该类支持一个 ...
- LC 820. Short Encoding of Words
Given a list of words, we may encode it by writing a reference string S and a list of indexes A. For ...
- 在业务控制方法中写入模型变量收集参数,且使用@InitBind来解决字符串转日期类型
1) 在默认情况下,springmvc不能将String类型转成java.util.Date类型,所有我们只能在Action 中自定义类型转换器 <form action="${pa ...