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

  • 相关阅读:
    css3中-webkit-text-size-adjust详解
    CSS 让标点符号不出现在行首
    html.day02
    老生常谈的问题——抽象类与接口
    C# 4个小技巧
    IIS状态代码的含义
    关于线程的synchronized、wait(),notify
    再说粗粒度
    粗粒度与细粒度
    .NET中栈和堆的比较 #1
  • 原文地址:https://www.cnblogs.com/cllovewxq/p/5442487.html
Copyright © 2011-2022 走看看