在前面我这边介绍到了ddt的模块,那么现在我这边ddt模块和csv文件结合,来进行自动化的测试,编辑后的csv文件后:
我重新写location.py的模块,具体见该模块的源码:
#!/usr/bin/env python
#coding:utf-8
import csv
#读取csv的文件
def getCsv(file_name):
rows=[]
withopen(file_name,'rb') as f:
readers=csv.reader(f,delimiter=',',quotechar='|')
next(readers,None)
forrow in readers:
rows.append(row)
returnrows
我们实现在百度搜索输入框输入搜索关键字分别是selenium,appium,那么实现的测试模块baiduTest.py的源码为:
#!/usr/bin/python
#coding:utf-8
from selenium import webdriver
from ddt import ddt,data,unpack
import location
import unittest,sys
reload(sys)
sys.setdefaultencoding('utf-8')
@ddt
class BaiduTest(unittest.TestCase):
defsetUp(self):
self.driver=webdriver.Firefox()
self.driver.maximize_window()
self.driver.implicitly_wait(30)
self.driver.get('http://www.baidu.com/')
@data(*location.getCsv("d:\\test.csv"))
@unpack
deftestCase_01(self,actual,expect):
'''ddt模块与csv文件结合的使用'''
self.driver.find_element_by_id('kw').send_keys(actual)
importtime
time.sleep(5)
deftearDown(self):
self.driver.quit()
if __name__=='__main__':
suite=unittest.TestLoader().loadTestsFromTestCase(BaiduTest)
unittest.TextTestRunner(verbosity=2).run(suite)
见执行后的截图:
这样,我们就实现了单独读取csv文件中的内容,或者csv文件和ddt模块结合来在自动化中使用。