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()
原文地址:https://www.cnblogs.com/heng-xin/p/14078590.html