2017-06-20 69 views
1

OK澄清我試圖用硒做的網站上的數據驅動的測試: 主類代碼:Python的 - 如何從那麼一個類返回回類調用外部函數

from a_folder.abc_file import userJourney 
from a_folder.a1_file import contact 

@ddt 
class testScenario(unittest.TestCase): 

    @classmethod 
    def setUpClass(cls): 
     cls.driver = webdriver.Chrome(path) 

    def test_main_page(arg1, arg2): 
     if arg1 == 'yes': 
      return userJourney(arg1, arg2) 

     if arg 2 == 'no': 
      return contact(arg1, arg2) 


    @classmethod 
    def tearDownClass(cls): 
     cls.driver.close() 

的參數在從CSV文件

userJourney()和接觸傳遞()功能從外部文件

具有IM中的問題的進口是ARG1和ARG2既可以在同一時間是真實的,以便我會期待這兩個功能(userJoun ey和contact)被執行,但是測試只執行一個函數,然後直接執行tearDownClass函數。關於我失蹤的任何想法?

abc_file.py是一樣的東西

def userJourney(arg1, arg2): 
    # Find element and click 

在此先感謝

回答

2

只有一個方法,因爲使用的是在這兩種情況下,「迴歸」來執行。因此,如果arg1 =='yes',userJourney函數將被執行,並且之後,test_main_page將退出並將控制權返回給調用者,因爲在調用userJourney之前使用了'return'關鍵字。下一個案例將不會執行,因爲此時方法已完成。

您應該從兩種情況中刪除'return'關鍵字。我不確定你想在這裏測試什麼,但那是另一回事。

+0

謝謝,如果我刪除'返回'關鍵字,那麼我將如何從另一個文件調用函數? – Darth

+0

實際上沒有返回關鍵字的工作只是調用函數名稱。謝謝 – Darth

+0

'return'只是表示你想要停止當前函數並將控制權返回給調用函數。它也給調用函數賦予結果值,如果你在'return'之後給出一些值。 –

相關問題