天天看點

pytest-學習筆記-腳本封裝

pytest-學習筆記-腳本封裝

=========================================》pytest腳本的封裝小結《===========================================
1、類封裝準備工作:
    封裝腳本之前需要先跑通腳本
    建立pytest檔案:需要以'test_'開頭
    建立類:
        需要:class Test_   開頭
        一般而言一個測試對象一個類
    建立方法:
        test_  開頭
        執行順序按照ascii碼順序執行:
2、pytest腳本優化(釋放備援的代碼)
    前置方法:
        每個測試方法都需要提前處理
        初始化方法:setup_method():
    資料驅動技術:
        标簽:@pytest.mark.parametrize()
        或者使用yaml等資料存儲庫
    後置方法:
        方法完成之後的回收工作
            teardowm_method():
3、pytest的運作方式
    pycharm運作  設定pytest方式
    指令運作      pytest -s 需要運作的檔案名稱::可以跟class或者class下的方法
    __main__方法運作
        if __name__ == '__main__':
            pytest.main(['-s','檔案名'])


==============================================》結束《================================================
           
import pytest
一、setup初始化操作
pytest -s 檔案名稱 :執行指定的檔案并輸出列印語句
定義一個函數setup_method():内容就是初始化的部分,比如說登陸,下面每次執行其他的方法之前都會執行一下setup方法
setup_method()方法的作用于在目前的類裡面class
class Test_login():
    def setup_method(self):
        self.url = 'https://www.baidu.com'
    def test_login_01(self):
        # 引用其他函數裡面的參數可以使用self.url
        print(self.url)
    def test_login_02(self):
        print('這是第二個')

二、pytest參數化:資料驅動--
@pytest.mark.parametrize('參數名','參數值')多個的時候使用(1,2,3,4,5,6)
@pytest.mark.parametrize('a',(1,2,3,4))
@pytest.mark.parametrize('a,b,c',([1,2,3],[5,6,7],[9,7,5],[7,8,9]))
下面的函數自動調用的時候會循環調用執行

# 通過main函數執行pytest檔案
if __name__ == '__main__':
    pytest.main(['-s','檔案名稱']) #[裡面是指令,使用“,”隔開]