2016-05-25 8 views
1

現在、私のWebサイトはSelenium、Python、nosetestsでテストしています。成功テストではすべて正常に動作しますが、失敗テストでは問題があります(Python/Selenium/Nosetestでテストしたことはありません)。私は非常に単純なケースをテストしていNosetestとunittest.expectedFailures

@unittest.expectedFailure 
    def test_connection_failure(self): 

     # Fill the username with the login only 
     self.driver.find_element_by_id('form_identifiant').send_keys(test_login) 

     # Send the form 
     self.driver.find_element_by_id('form_submit').click() 

     # Check the landing URL 
     page_url = self.driver.current_url 
     self.assertEqual(page_url, page_home) 

:次のテストのために だけログインを入力するときに、あなたがウェブサイトに接続することはできません。だから私は、現在のページのURLと、ログイン/パスワードの組み合わせが正しいと思われるページを比較するときの失敗を除いてやります。

私はプロンプトnosetestsから次のようなメッセージだ:私はちょうどこのエラーを理解していない

[[email protected] AppGestion]# nosetests ConnectionTests.py 
/usr/lib64/python2.7/unittest/case.py:380: RuntimeWarning: TestResult has no addExpectedFailure method, reporting as passes 
    RuntimeWarning) 

を。私はネット上で "addExpectedFailure"メソッドを見つけましたが、それをどこに置くかはわかりませんでした...テストは実際にnosetestによってスキップされているからです。

任意の手がかり?

答えて

0

予想される例外を処理するためのnoseとデコレータは@raises(...)です:

http://nose.readthedocs.io/en/latest/testing_tools.html

しかし、あなたの場合には、あなたは、単にデコレータなしassertNotEqualを使用することができます。

def test_connection_failure(self): 

    # Fill the username with the login only 
    self.driver.find_element_by_id('form_identifiant').send_keys(test_login) 

    # Send the form 
    self.driver.find_element_by_id('form_submit').click() 

    # Check the landing URL 
    page_url = self.driver.current_url 
    self.assertNotEqual(page_url, page_home) 
+0

はい、assertNotEqualのために私は、他の開発者と視覚的な違いを持たせたいと思っています。 ドキュメントをありがとうございました。見つけられませんでした。 – Ecterion

関連する問題