自动化测试中怎么读取文档实现数据驱动详解

open()函数
file_info = open(‘info.txt’,‘r’),括号里面前者为文档所在的路径,如果放在电脑中采用绝对路径,当然也可以用相对路径打开,如./info.txt,./为当前路径,open()为python等编程语言的通用函数

读取 txt 文件方法
①read() 读取整个文件
②readline() 读取一行数据。
③readlines() 读取所有行的数据,以数组的形式进行存放
④split():它可将一个字符符串通过某一符号拆分成左右两部分,这里逗号(,)为分割点。split()拆分出来的左右两部分以数据的形式存放,所用[0]可以取到左半部分的字符串,[1]可以取到右半部分的字符串。

读取读取 csv 文件(适用于数据驱动)
csv.reader(),先要import csv模块,才能调用reader()函数

import csv
f=open('data.csv', 'r') 
reader = csv.reader(f)
print(type(reader))//这个是打印出这个文档的类型
for row in reader:
 print(row)

csv.reader(file(my_file,‘rb’)),括号里的file(XXX)相当于open()函数,也就是说读取cvs文件可以不用open()。python中不需要像JAVA一样还要去声明变量,数组等等,python中等号(=)左侧是变量名,右侧是变量值,赋完值后,Python编译器会自动识别变量的类型

案例演示:

在这里插入图片描述

#coding=utf-8
import csv #导入 csv 包 #读取本地 CSV 文件
my_file='info.csv'
date=csv.reader(file(my_file,'rb'))
#循环输出每一行信息
for user in date:
	print user


运行结果:
>>> ========================= RESTART ==============================
>>>
['testing', '123456@126.com', '23', 'man']
['testing2', '123456@qq.com', '18', 'woman']
['testing3', '123456@128.com', '29', 'woman']



首先表导入 csv 模块,通过 reader()方法读取 csv 文件。然后通过 for 循环遍历文件中的每一行数据。
从打印结果可以看出是以数组的形式存的。那么如果想取用户的某一列信息,只需要指定下标即可

#coding=utf-8
import csv
my_file='info.csv'
date=csv.reader(file(my_file,'rb'))
#取用户的邮箱地址
for user in date:
	print user[1]
运行结果:
>>> ========================= RESTART ==============================
>>>
123456@126.com
123456@qq.com
123456@128.com

在上面的例子中只需要取所有用户的邮箱地址,那么只需要指定邮箱地址的所在例即可。数组下标是
以 0 开始的,取第二例的信息下标为 1。我们还以加上行坐标。我们可以应用for循环取出我们想要的数据,输入到对应的位置。那这个过程不就是就是数据驱动嘛。

注:读取 Excel 文件的方式也与读取 csv 类似,只是所调用的模块就需要从 csv 切换为 xlrd,真对 Excel 文件操作的方法也有所不同。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值