#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2018/12/26 11:05
# @File : unittest_test8_2.py
#通过CSV获取数据
import csv,unittest
from ddt import ddt,data,unpack
from selenium import webdriver
def get_data(file_name):
#创建一个空的列表用来存储行数据
rows = []
data_file = open(file_name,'r')
#读取文件并返回csv文件中每行的列表,将每行读取的值作为列表返回
reader = csv.reader(data_file)
#跳过标题
next(reader,None)
#把每行数据添加到列表中
for row in reader:
rows.append(row)
return rows
@ddt
class SearchCsvDDT(unittest.TestCase):
#初始化浏览器和url
def setUp(self):
self.driver = webdriver.Chrome()
self.driver.implicitly_wait(30)
self.driver.maximize_window()
self.driver.get("https://www.baidu.com/?tn=78000241_12_hao_pg")
#创建一个测试用例
@data(*get_data("C:\\testdata.csv"))
@unpack
def test_search(self,search_value,expected_count): #参数值和期望结果
self.search_file = self.driver.find_element_by_name('wd')
self.search_file.clear()
self.search_file.send_keys(search_value)
self.search_file.submit()
product = self.driver.find_element_by_xpath('//*[@id="1"]/h3/a')
p = [product,]
self.assertEqual(expected_count,len(p))
#清理所有的 初始化值
def tearDown(self):
self.driver.quit()
#运行测试,传递verbosity参数,以便使详细的测试总量显示在控制台
if __name__=='__main__':
unittest.main(verbosity=2)
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2018/12/26 16:56
# @File : unittest_test8_3.py
#通过Excel获取数据
import xlrd,unittest
from ddt import ddt,data,unpack
from selenium import webdriver
def get_data(file_name):
#创建一个空的列表用来存储行数据
rows = []
book = xlrd.open_workbook(file_name)
#读取文件并返回csv文件中每行的列表,将每行读取的值作为列表返回
sheet = book.sheet_by_index(0)
#把每行数据添加到列表中
for row_idx in range(1,sheet.nrows):
rows.append(list(sheet.row_values(row_idx,0,sheet.ncols)))
return rows
@ddt
class SearchCsvDDT(unittest.TestCase):
#初始化浏览器和url
def setUp(self):
self.driver = webdriver.Chrome()
self.driver.implicitly_wait(30)
self.driver.maximize_window()
self.driver.get("https://www.baidu.com/?tn=78000241_12_hao_pg")
#创建一个测试用例
@data(*get_data("TestData.xlsx"))
@unpack
def test_search(self,search_value,expected_count): #参数值和期望结果
self.search_file = self.driver.find_element_by_name('wd')
self.search_file.clear()
self.search_file.send_keys(search_value)
self.search_file.submit()
product = self.driver.find_element_by_xpath('//*[@id="1"]/h3/a')
p = [product,]
self.assertEqual(expected_count,len(p))
#清理所有的 初始化值
def tearDown(self):
self.driver.quit()
#运行测试,传递verbosity参数,以便使详细的测试总量显示在控制台
if __name__=='__main__':
unittest.main(verbosity=2)