selenium学习笔记(加入unittest)
利用firefox浏览器的selenium IDE可以直接生成webdriver+unittest的python脚本
当然博主是要为了自己编写脚本、对用例内容进行了修改,把元素校验功能也放入了用例中
代码如下:
1 #!/usr/bin/env python 2 # -*- coding: utf-8 -*- 3 import unittest 4 5 from selenium import webdriver 6 from selenium.common.exceptions import NoSuchElementException 7 from time import sleep 8 9 10 class SeleniumIde(unittest.TestCase): 11 def setUp(self): 12 print "自动化测试用例执行开始" 13 self.driver = webdriver.Firefox() 14 self.driver.implicitly_wait(30) 15 # 智能等待30S 16 self.Errors = [] 17 # 错误信息列表 18 19 def tearDown(self): 20 self.driver.quit() 21 self.assertEqual([], self.Errors) 22 # 检查错误信息列表 若不为空则返回显示 23 print "自动化测试用例执行结束" 24 25 def compare_title(self, ta, tb): 26 if ta == tb: 27 print "Testcase_title: pass" 28 else: 29 print "Testcase_title: false" 30 # 比较title显示结果 31 32 def compare_url(self, ua, ub): 33 if ua == ub: 34 print "Testcase_url: pass" 35 else: 36 print "Testcase_url: false" 37 # 比较url显示结果 38 39 def test_login(self): 40 driver = self.driver 41 driver.get("http://www.cnblogs.com/") 42 # 测试地址 后面可以添加响应地址 43 driver.find_element_by_css_selector("a[onclick = 'login();return false']").click() 44 driver.find_element_by_css_selector("input[type = 'text']").click() 45 driver.find_element_by_css_selector("input[type = 'text']").send_keys(u"堕落的伊丝莉") 46 # 这里用户名由于是中文前面要加 u 47 driver.find_element_by_css_selector("input[type = 'password']").click() 48 driver.find_element_by_css_selector("input[type = 'password']").send_keys("xxxxxx") 49 # 输入密码、密码当然按照实际内容添加 50 driver.find_element_by_css_selector("input[type = 'submit']").click() 51 sleep(2) 52 53 SeleniumIde.compare_title(self, driver.title, u"博客园 - 开发者的网上家园") 54 SeleniumIde.compare_url(self, driver.current_url, "http://www.cnblogs.com/") 55 try: 56 driver.find_element_by_css_selector("a[href = 'http://home.cnblogs.com/u/cllovewxq/']") 57 # 验证是否可以在页面元素中查找到当前登录状态 58 print "Testcase_result: pass" 59 except NoSuchElementException as e: 60 print "Testcase_result: false" 61 62 if __name__ == "__main__": 63 unittest.main()
加入了一些代码注释方便理解
博主这也是看了大神博客中关于selenium的讲解
这里附上地址: