ティアダウンメソッドに何かを追加しようとしています。そのため、例外が発生した場合、ブラウザインスタンスを閉じる前にスクリーンショットを取得します。ティアダウンで例外に反応できません
これまでのところ私が持っている: -
def tearDown(self):
if sys.exc_info()[0]:
test_method_name = self._testMethodName
screenshot_name = common_functions.create_unique_id() + test_method_name + ".png"
common_functions.take_screenshot(self.driver, screenshot_name)
self.driver.close()
それはスクリーンショットが取られることはありませんと私は思いif sys.exc_info():
にif文を変更した場合、それは関係なく、常に例外が発生しているかどうかのスクリーンショットを取ると。
sys.exc_info
が返すものをクエリすると、None, None, None
が返されます。最初の要素には少なくとも例外名を含めることを望んでいました。 sys.exc_info()
上docs(私の強調)から
「tearDown」はどのように呼び出されますか? – asherbar
セットアップと実際のテストケースの機能に加えて、テストケースのクラス内にあります。テストケースの実行時に、SetupとTeardownの両方が正常に動作します(存在しない要素を探すことによって例外を強制しています)。例外が発生したときにスクリーンショットを取得できません。 if文に依存して、常に発生するか、まったく発生しません。 – Northers