2017-03-20 5 views
0

私の要件を達成するために、以下のコードに類似したコードを書いていますが、エラーメッセージが表示されています。すなわちtest_04ここでは3つのすべての試験方法(test_01、test_02とtest_03)以上も走るunittestフレームワーク内の別のテストからテストメソッドを呼び出す方法は?

class Test(BaseSetup): 

    def test_01_create_record(self):   
     -- 
    def test_02_edit_record(self): 
     -- 
    def test_03_delete_record(self): 
     -- 
    def test_04_verify_item_tab(self): 
     testObj=Test() 
     testObj.test_01_create_record() 
     do this.... 
     testObj.test_03_delete_record()   

if __name__ == '__main__':  
    unittest.main() 

が、最後のテスト、失敗しました。 test_01を使用してレコードを作成することはできません(別々に動作しますが)。私は私の最後のテストのためのエラーメッセージの下になっています。

self.driver.find_element_by_xpath(self.content_tab_xpath).click() 
AttributeError: 'NoneType' object has no attribute 'find_element_by_xpath' 

上記のエラーメッセージが最初のテスト(test_01_create_record)用で、私は別のテストからの最初のテストメソッドを呼び出すときにのみ取得するが、私は別にそれを実行したときにそれがうまく動作します。私は何が欠けているかもしれないか?多くのおかげで

+3

を使用すると、独自のメソッド内部クラスの新しいインスタンスを作成しているのはなぜ? 「自己」*は何と思いますか? – jonrsharpe

+0

ああ、それは素晴らしいです、私は単にself.test_01_create_record()を呼び出さなければなりません。ここにクラスのインスタンスを作成する必要はありません。どうもありがとう –

答えて

0

それは、ちょうどselfでインスタンスへの参照の内側にあなたのクラスのインスタンスを作成する必要はありません:

def test_04_verify_item_tab(self): 
    self.test_01_create_record() 
    self.test_03_delete_record() 
関連する問題