数据驱动_对csv文件的操作


1.python 提供了对 csv 文件处理的模块,直接 import csv 就可以了,csv文件全名称为 Comma-Separated Values,csv 是通用的,相对简单的文件格式,其文件已纯文件形式存储数据。

在 testCase 包下创建 test.csv 文件,特别注意:创建 csv 为后缀的文件的时候,一定先创建 test.xlsx,打开文件后,另存为 test.csv,见截图:

csv文件创建的时候不能直接通过修改文件后缀名(新建文件后,不可直接将后缀修改为CSV。可以通过另存为的方式(将新建文件的后缀名另存为csv格式的))

源码:

'''
读取csv文件内容,可以按字典的读取方式和列表的方式读取
'''
import csv

#按列表的读取方式读取
def readCsvList():
with open('csvTest.csv','r')as f:
reader = csv.reader(f)
#不读取title
next(reader)
db = [item for item in reader]
print(db[0][0])
readCsvList()

#按字典的读取方式读取
def readCsvDict():
with open('csvTest.csv','r')as f:
reader = csv.DictReader(f)
for item in reader:
print(dict(item))
#取到所有的caseID
print(dict(item)['caseID'])
readCsvDict()

实例:

import csv import unittest from selenium import webdriver def readCsv(row,col): rows = [] with open('test.csv') as f: reader = csv.reader(f) next(reader, None) for iter in reader: rows.append(iter) return ''.join(rows[row][col]).decode('gb2312') class SinaLogin(unittest.TestCase): def setUp(self): self.driver = webdriver.Firefox() self.driver.maximize_window() self.driver.get('http://mail.sina.com.cn/') self.driver.implicitly_wait(30) def tearDown(self): self.driver.quit() def login(self,username,password): self.driver.find_element_by_id('freename').send_keys(username) self.driver.find_element_by_id('freepassword').send_keys(password) self.driver.find_element_by_link_text(u'登录').click() def divText(self): divText=self.driver.find_element_by_xpath('/html/body/div[1]/div/div[2]/div/div/di v[4]/div[1]/div[1]/div[1]/span[1]') return divText.text def test_username_password_null(self): '''验证:测试用户名和密码都为空的错误提示信息''' self.login(readCsv(0,0),readCsv(0,1)) self.assertEqual(self.divText(),readCsv(0,2)) def test_sina_password_null(self): '''验证:测试用户名为空密码不为空的错误提示信息''' self.login(readCsv(1,0),readCsv(1,1)) self.assertTrue(self.divText(),readCsv(1,2)) def test_sina_username_format(self): '''验证:测试用户名邮箱格式不正确的错误提示信息''' self.login(readCsv(2,0),readCsv(2,1)) self.assertEqual(self.divText(),readCsv(2,2)) if __name__ == '__main__': unittest.main(verbosity=2) 优质内容筛选与推荐>>
1、一位搬家师傅的O2O之旅
2、jQuery获09年度开源应用大奖
3、js自定义获取浏览器宽高
4、ios开发笔记
5、.net


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号