zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    php ajax分页的例子,在使用中
    PHP远程文件管理,可以给表格排序,遍历目录,时间排序
    背景变暗的div可拖动提示窗口,兼容IE、Firefox、Opera
    CSS简洁的左侧菜单(侧拉菜单,向右显示)
    无间断循环滚动(兼容IE、FF)
    poj 1007 求逆序数
    poj 1775 简单搜索
    面向对象之继承和组合浅谈
    在flex中导入fl包
    C99中包括的特性
  • 原文地址:https://www.cnblogs.com/cllovewxq/p/5442487.html
Copyright © 2011-2022 走看看