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的讲解

这里附上地址:

http://www.cnblogs.com/fnng/p/3300788.html

posted on 2016-04-28 14:08  堕落的伊丝莉  阅读(716)  评论(2编辑  收藏  举报