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种方法,还有其他方法,比如测试用例参数化方法,待后续说明.....
  • 相关阅读:
    jQuery下拉菜单演示
    乐易拍电子商务系统(asp.net+extjs)版本1.1 统计实例(拖动选择统计选项)
    乐易拍电子商务系统(asp.net+ extjs)
    浅析JavaScript的原型链
    AMQP协议
    开源.net进销存管理系统源码
    RabbitMQ学习笔记
    乐易拍在线考试模仿驾校考试
    show 一下我的在线考试系统
    cxf 生成 wsdl 缺陷!!!!!
  • 原文地址:https://www.cnblogs.com/ZoeLiang/p/10214481.html
Copyright © 2011-2022 走看看