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()
  • 相关阅读:
    api接口对于客户端的身份认证方式以及安全措施
    学SpringMVC
    Android用户界面设计:框架布局(转)
    Android与服务器端数据交互(转)
    用android LinearLayout和RelativeLayout实现精确布局(转)
    Android 源代码结构(转)
    Android开发在路上:少去踩坑,多走捷径(转)
    Map.EntrySet的使用方法
    利用JasperReport+iReport进行Web报表开发
    eclipse3.2 汉化 汉化包下载
  • 原文地址:https://www.cnblogs.com/heng-xin/p/14078590.html
Copyright © 2011-2022 走看看