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種方法,還有其他方法,比如測試用例參數化方法,待后續說明.....


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM