python selenium unittest_使用python学习selenium2--使用unittest进行测试

目录

unittest可以为webdriver增加setup、teardown、检查应用状态、报告测试结果、数据驱动等功能。主要内容如下: 什么是unittest?

使用unittest来编写硒webDriver测试

基于TestCase类实现测试

理解各种类型的assert方法

创建一组测试为TestSuite

使用unittest扩展生成HTML格式的测试报告

unittest库

主要组成如下: Test Fixture:准备及清理工作。

Test Case: 通常是使用assert方法检查动作和输入的响应,一般是基于TestCase类扩充。

Test Suite:多个测试的集合。

Test Runner:测试执行。

Test Report:测试报告。

测试通常由3A组成: Arrange:预置条件、相关配置和依赖等。

Act:实际功能。

Assert:断言。

其他框架有Pytest和Nose等。

TestCase类 import unittestfrom selenium import webdriverclass SearchTests(unittest.TestCase):def setUp(self):# create a new Firefox sessionself.driver = webdriver.Firefox()self.driver.implicitly_wait(30)self.driver.maximize_window()# navigate to the application home pageself.driver.get("http://demo.magentocommerce.com/")def test_search_by_category(self):# get the search textboxself.search_field = self.driver.find_element_by_name("q")self.search_field.clear()# enter search keyword and submitself.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 methodproducts = 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 textboxself.search_field = self.driver.find_element_by_name("q")self.search_field.clear()# enter search keyword and submitself.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 methodproducts = self.driver.find_elements_by_xpath("//h2[@class='product-name']/a")self.assertEqual(1, len(products))def tearDown(self):# close the browser windowself.driver.quit()if __name__ == '__main__':unittest.main(verbosity=2)

需要选择一个合适IDE,要求如下: 代码完成和智能提示的图形化代码编辑器

函数和类的代码浏览器

语法高亮

项目管理

代码模板

单元测试和调试

源代码控制支持

推荐:WingIDE,PyCharm,PyDev Eclipse plugin,PyScripter。相关下载地址如下:

本文地址

参考资料 作者:Unmesh Gundecha

评审:Adil Imroz:alam.adil12#gmail.com Twitter at @adilimroz

评审: Walt Stoneburner: wls#wwco.com Walt.Stoneburner#gmail.com

你可能感兴趣的:(python,selenium,unittest)