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种方法,还有其他方法,比如测试用例参数化方法,待后续说明.....
  • 相关阅读:
    常用的站内搜索技术比较
    .NET中读取csv文件内容
    C#编码规范
    处理模型——检测光标是否在模型上
    数据库如何规范命名
    处理顶点——绘制三角形,线和点
    处理模型——根据地形正确倾斜模型
    处理顶点——使用索引移除冗余顶点
    处理顶点——在三角形上添加纹理
    处理模型——通过定义一个自定义的TypeWriter和TypeReader将多个对象存储在Tag属性中
  • 原文地址:https://www.cnblogs.com/ZoeLiang/p/10214481.html
Copyright © 2011-2022 走看看