Import CSV
Import UnitTest
From time import sleep
From DDT import DDT, data, unpack
From selenium import Webdriver
Def getcsvdata ():
# Read CSV file
Value_rows = []
With open ('./textdata.csv ', encoding= ' UTF-8 ') as F:
F_csv = Csv.reader (f)
Next (F_csv)
For R in F_csv:
Value_rows.append (R)
Return value_rows
@ddt
# Data-driven
Class Mytestcase (UnitTest. TestCase):
def setUp (self):
Self.driver = Webdriver. Firefox ()
Self.base_url = "https://www.baidu.com/"
Self.driver.get (Self.base_url)
Self.driver.maximize_window ()
Sleep (2)
@data (*getcsvdata ())
# test Data
@unpack
# Unpacking
def test_something (self, Searchterm, SearchResult):
Driver = Self.driver
Driver.find_element_by_xpath (".//*[@id = ' kw ']"). Send_keys (Searchterm)
Driver.find_element_by_xpath (".//*[@id = ' su ']"). Click ()
Sleep (2)
ResponseText = Driver.find_element_by_xpath (".//*[@id = ' 1 ']/h3/a"). Text
Self.assertequal (ResponseText, SearchResult)
def tearDown (self):
Self.driver.close ()
Self.driver.quit ()
if __name__ = = ' __main__ ':
Unittest.main ()
Search term, response
China, China _ Baidu Encyclopedia
USA, USA _ Baidu Encyclopedia
UK, UK _ Baidu Encyclopedia
Python DDT reads CSV file data driven