我们的目标是:按照这一套资料学习下来,大家可以独立完成自动化测试的任务。
上一篇我们讨论了数据驱动测试中如何完成重复的测试实例,今天我们补充一些读取各种文件的方法。
本篇文章我们讨论一下如何使用读取txt、CSV、Excel文件,Excel文件之前文章已经大概说明了,这里是做一个总结。
1、txt 文件的读取
txt是我们经常需要操作的文本类型,可以由如下方法操作:
1)read():读取整个文件
2)readline():读取一行数据
3)readline()分行读取全部的数据
举例说明,如下图所示的user_password.txt:
#coding = utf-8
user_password =open("user_password.txt","r") #打开文件
file_lines =user_password.readlines() #读取文件
user_password.close()#关闭
for line infile_lines:#打印读取的文件
print(line)
查看结果:
小练习,想将用户名和密码分开的话,用split进行分割:
#用户名和密码分开
user=line.split(",")[0]
password=line.split(",")[1]
print("用户名为%s,密码是:%s"%(user,password))
2、CSV文件读取
若是还是之前的数据,在CSV文件中存储的。
内容如下:
读取csv方法:导入csv模块>reader()读取>输出信息查看
#coding = utf-8
import csv #导入csv 包
user_file =csv.reader(open('user_password1.csv','r')) #打开文档
#输出信息
for user_info inuser_file:print(user_info)
执行后输出结果:
['xiaoming', '123456']
['xiaotong', '135790']
['xiaoli', '112233']
3、Excel文件读取
1)引入xlrd 库
python 读取Excel文件,需要先安装xlrd 库,可以直接在命令行输入:pip install xlrd
上面的提示说明我们之前已经安装了。
2)编写读取Excel 文件函数
需求:如下图Excel表。通过Excel来获取数据,希望返回字典组成的列表:[{"username":" standard_user","password":"secret_sauce"},
# {"username":" visual_user","password":"secret_sauce"},{"username":" error_user","password":"password_NG"}]
编写函数实现:
def get_excel_data(filename,sheetnum):path ='login_data.xlsx'
book_data =xlrd.open_workbook(path) #打开文档
book_sheet=book_data.sheet_by_index(0) #打开Excel中第一个表
rows_num =book_sheet.nrows #sheet1 行数,row:行
rows0 =book_sheet.row_values(0) #第一行的各个名称作为字典的键,列表
rows0_num =len(rows0) #第一行列表的长度即为数据的列数
data_list =[ ] #存放读取的数据
for i inrange(1,rows_num):rows_data =book_sheet.row_values(i) #取出每一行的值作为列表,列表的每一项为一个字典
rows_dir ={ }
fory inrange(0,rows0_num):#将每一列的值与每一行对应起来
rows_dir[rows0[y]] =rows_data[y] #键值对应
data_list.append(rows_dir) #每个字典插入到列表中
return data_list
输出结果如下,方便后面使用
今天就先学习到这里吧。
每天进步一点点,加油!