目录unittest可以为webdriver增加setup、teardown、检查应用状态、报告测试结果、数据驱动等功能。主要内容如下:
unittest库此部分后面会与 python模块介绍-unittest:单元测试框架 整合。链接中的地址为准。 主要组成如下:
测试通常由3A组成:
其他框架有Pytest和Nose等。 TestCase类import unittest from selenium import webdriver class SearchTests(unittest.TestCase): def setUp(self): # create a new Firefox session self.driver = webdriver.Firefox() self.driver.implicitly_wait(30) self.driver.maximize_window() # navigate to the application home page self.driver.get("http://demo./") def test_search_by_category(self): # get the search textbox self.search_field = self.driver.find_element_by_name("q") self.search_field.clear() # enter search keyword and submit self.search_field.send_keys("phones") self.search_field.submit() # get all the anchor elements which have product names displayed # currently on result page using find_elements_by_xpath method products = self.driver .find_elements_by_xpath("//h2[@class='product-name']/a") self.assertEqual(2, len(products)) def test_search_by_name(self): # get the search textbox self.search_field = self.driver.find_element_by_name("q") self.search_field.clear() # enter search keyword and submit self.search_field.send_keys("salt shaker") self.search_field.submit() # get all the anchor elements which have product names displayed # currently on result page using find_elements_by_xpath method products = self.driver. find_elements_by_xpath("//h2[@class='product-name']/a") self.assertEqual(1, len(products)) def tearDown(self): # close the browser window self.driver.quit() if __name__ == '__main__': unittest.main(verbosity=2) 需要选择一个合适IDE,要求如下:
推荐:WingIDE,PyCharm,PyDev Eclipse plugin,PyScripter。相关下载地址如下: 本文地址
参考资料
|
|
来自: Macalist > 《Python及其自动化》