zoukankan      html  css  js  c++  java
  • UI自动化框架搭建(二):unittest模块实现多个ui脚本自动化运行

    unittest模块实现多个ui脚本函数自动化运行(参考代码示例)

    第一步:导入unittest类

    第二步:定义一个类继承unittest.TestCase类,顾名思义这个TestCase类是测试用例类的意思

    setUp和teardown都是TestCase中定义的方法

    setUp用来做测试执行前的初始化工作:下面示例用来获取浏览器驱动

    teardown用来做测试执行后的清理工作:下面示例用来退出浏览器

    第三步:编写测试方法:示例2个方法(登录百度操作搜索,登录qq点击新闻连接),注意只有方法名前面以test开头才会执行,而且运行顺序是按字符串大小所以定义了01,02做一个顺序排列

    第四步:加上if __name__ ==  "__main__":unittest.main()     作用:只有当前类本身运行的时候,才会执行这个类的test_01_search_baidu,test_02_search_qq_news测试方法,其他类不会运行

    # -*- coding:utf-8 -*-
    import unittest
    from selenium import webdriver
    import time
    
    #QingQing类的名字任意命名,但命名()里的unittest.TestCase就是去继承这个类,类的作用就是可以使runner.run识别
    class QingQing(unittest.TestCase):
        #unittest.TestCase类定义的setUpClass和tearDownClass方法前一定要加@classmethod,
        #setUpClass在这个类里面是第一个执行的方法
        #tearDownClass在这个类里面是最后一个执行的方法
        #中间的执行顺序是通过字符的大小进行顺序执行,命名必须test_开头
    
        #打开浏览器,获取配置
        @classmethod
        def setUpClass(self):
            # 实例化ChromeOptions
            options = webdriver.ChromeOptions()
            # 关闭浏览器提示信息
            options.add_argument('disable-infobars')
            # 浏览器全屏
            options.add_argument('start-fullscreen')
            driverpath = r'D:angelangelautolittlebee1driverchromedriver.exe'
            #driver驱动获取后可以被其他方法调用
            self.driver = webdriver.Chrome(driverpath, options=options)
    
        def test_01_search_baidu(self):
            # 访问百度首页
            self.driver.get(r"http://www.baidu.com")
            # 百度输入框输入
            self.driver.find_element_by_id("kw").send_keys("懒勺")
            # 点百度一下
            self.driver.find_element_by_id("su").click()
            #等待时间只是为了让你可以看到目前效果,可以省略
            time.sleep(2)
    
    
        #执行商品收费功能
        def test_02_search_qq_news(self):
            # 访问qq首页
            self.driver.get(r"http://www.qq.com")
            # 点新闻链接
            self.driver.find_element_by_xpath("//a[text()='新闻']").click()
            # 等待时间只是为了让你可以看到目前效果,可以省略
            time.sleep(3)
    
        #退出浏览器
        @classmethod
        def tearDownClass(self):
            self.driver.quit()
    
    if __name__ ==  "__main__":
        unittest.main()
  • 相关阅读:
    SVN 客户端的使用
    day36_Spring学习笔记_04_SVN
    VisualSVN Server 的使用图解(windows版本)
    day68_淘淘商城项目_01_电商介绍 + 互联网术语 + SOA + 分布式 + 集群介绍 + 环境配置 + 框架搭建_匠心笔记
    VisualSVN Server 的安装(windows版本)
    【代码规范神器】阿里巴巴Java开发规约IDE插件使用教程(P3C)
    学了这四招,你在Linux上观看Netflix视频不发愁
    如何在Fedora或CentOS上使用Samba共享
    Fedora 23如何安装LAMP服务器
    HTTP/HTTPS自动加密上网方案
  • 原文地址:https://www.cnblogs.com/heng-xin/p/14078590.html
Copyright © 2011-2022 走看看