• 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

  • 相关阅读:
    RFID亮灯电子标签在仓储管理中的应用
    漫画:寻找股票买入卖出的最佳时机(动态规划)
    JAVA深入解析-36个话题-Two
    一行代码让训练速度提升2倍,飞桨自动混合精度技术详解
    追源码的平凡之路
    看完这篇,你也是字符编码大神!
    微服务的熔断原理与实现
    经典论文复现 | PyraNet:基于特征金字塔网络的人体姿态估计
    一文看懂人机对话
    「Spring Boot 2.4 新特性」一键构建Docker镜像
  • 原文地址:https://www.cnblogs.com/cllovewxq/p/5442487.html
Copyright © 2020-2023  润新知