zoukankan      html  css  js  c++  java
  • Appium+Python之批量执行测试用例

    思考:当存在多个脚本,每个脚本中有多条测试用例时,我们该如何批量执行呢?

    分析:首先创建2个测试用例脚本(.py文件),每个脚本有2条测试用例,然后批量执行全部测试用例
    #Test_01.py
    # coding=utf-8
    '''
    Created on 2019-1-3
    @author: 丹姐
    Project:测试项目1
    '''
    import unittest
    
    
    class Test01(unittest.TestCase):
        @classmethod
        def setUpClass(cls,driver):
             cls.driver=driver
        def setUp(self):
              pass
        def test_one(self):
             print(u'测试用例test_one')
        def test_two(self):
             print(u'测试用例test_two')
        def tearDown(self):
            pass
        @classmethod
        def tearDownClass(cls):
            cls.driver.quit()
        
    #Test_02.py
    # coding=utf-8
    '''
    Created on 2019-1-3
    @author: 丹姐
    Project:测试项目2
    '''
    import unittest
    
    
    class Test02(unittest.TestCase):
        @classmethod
        def setUpClass(cls,driver):
             cls.driver=driver
        def setUp(self):
              pass
        def test_first(self):
             print(u'测试用例test_first')
        def test_second(self):
             print(u'测试用例test_second')    
        def tearDown(self):
            pass
        @classmethod
        def tearDownClass(cls):
            cls.driver.quit()

    方法一:利用TestSuite类addTest方法依次加载

    if __name__ == "__main__":
     #实例化测试套件  
     suite = unittest.TestSuite()
     #用例加载到测试套件中
     suite.addTest(Test01("test_one"))
     suite.addTest(Test01("test_two"))
     suite.addTest(Test02("test_first"))
    suite.addTest(Test02("test_second"))
    方法二:利用defaultTestLoader类discover方法找出所有.py文件下测试用例,然后加载到suite
    注意:discover方法测试用例执行顺序是根据ASCII码来执行的,0~9,A~Z,a~z
    if __name__ == "__main__":
        test_dir = r'E://testing_code/code/SmartSiteTestScript/src/test_case'  # 指明要自动查找的py文件所在文件夹路径
        # 产生测试套件
        def createSuite():
            #实例化测试套件
            testunit = unittest.TestSuite()
            # 使用discover找出用例文件夹test_case的所有用例
            discover = unittest.defaultTestLoader.discover(test_dir,  # 查找的文件夹路径
                                                           pattern='Test_*.py')  # 要测试的模块名,以Test开头的.py文件)
    
            for suite in discover:  # 使用for循环出suite,再循环出case
                for case in suite:
                    testunit.addTests(case)
                    print(testunit)
            return testunit
        #实例化测试套件方法
        suite = createSuite()
    除了以上2种方法,还有其他方法,比如测试用例参数化方法,待后续说明.....
  • 相关阅读:
    洛谷P4304 [TJOI2013]攻击装置 题解
    洛谷P2172 [国家集训队]部落战争 题解
    CentOS 7.0下配置MariaDB数据库
    读《深入php面向对象、模式与实践》有感(三)
    读《深入php面向对象、模式与实践》有感(二)
    读《深入php面向对象、模式与实践》有感(一)
    Linux下配置Lamp
    自己编写php框架(一)
    php读取html文件(或php文件)的方法
    Thinkphp框架感悟(二)
  • 原文地址:https://www.cnblogs.com/ZoeLiang/p/10214481.html
Copyright © 2011-2022 走看看