python 封裝調用之class 、_init__、self搞懂了

python 封裝調用之class 、_init__、self搞懂了

參考:https://www.cnblogs.com/yulongzhou/p/10654185.html

__init__方法

其前面帶有”__“,故此函數被聲明爲私有方法,不可類外調用。此方法可以帶參數初始化

1.

寫了模塊searchpage.py:

# -*- coding:utf-8 -*-

class search:
    def __init__ ( self, driver ):
        self.driver = driver

    def search_contacts( self, name ) :
        serch="com.tencent.mm:id/r_"
        conte="com.tencent.mm:id/m7"
        resus="com.tencent.mm:id/s5"
        #self.driver=driver
        self.driver.find_element_by_id(serch).click()
        self.driver.find_element_by_id(conte).send_keys(name)

        assert len(self.driver.find_elements_by_id(resus))>=1

2.把searchpage.py模塊導入,並在TESTCASES.py中執行:

searchpage.py、TESTCASES.py在同一目錄下(https://www.cnblogs.com/deliaries/p/11315915.html

import searchpage #在TESTCASES.py腳本導入模塊
@pytest.mark.parametrize("name",["han","ha"])
def test_sercha(self,name):
    search=searchpage.search(self.driver)
    search.search_contacts(name)

每行代碼解讀:

(1)@pytest.mark.parametrize("name",["han","ha"])

'''這是PYTEST裝飾器,給裝飾的test_sercha函數傳參,相當於2組測試數據,第一組是
name="han",第二組是name="ha"。'''

(2)def test_sercha(self,name):
    (2-1)search=searchpage.search(self.driver)

'''類的實例化,傳參:這個CLASS參數self.driver是給CLASS的私有方法__init__ ( self, driver )調用'''

    (2-2)search.search_contacts(name)

'''這個是調用searchpage類裏面的search_contacts方法,傳參爲name變量'''

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章