• 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()
  • 相关阅读:
    使用Spring提供的缓存抽象机制整合EHCache为项目提供二级缓存
    Spring使用Cache、整合Ehcache(转)
    每天学习SQL
    多线程
    ### The error may involve defaultParameterMap ### The error occurred while setting parameters
    日志分表
    Quartz学习(转)
    Quartz中时间表达式的设置-----corn表达式 (转)(http://www.cnblogs.com/GarfieldTom/p/3746290.html)
    分享一个测试图片的方式
    阿里云ECS配置踩坑之路
  • 原文地址:https://www.cnblogs.com/heng-xin/p/14078590.html
Copyright © 2020-2023  润新知