ホームページ >ウェブフロントエンド >jsチュートリアル >Python Selenium でアサーションをマスターする: テストのための包括的なガイド
Selenium Python でテスト自動化スクリプトを作成する場合、実際の結果が期待される結果と一致することを検証することが重要です。ここでアサーションが登場します。アサーションは、特定の条件をチェックし、失敗した場合は実行を停止することで、アプリケーションが意図したとおりに動作していることを確認するのに役立ちます。
このブログでは、Selenium Python のアサーションの概念を詳しく説明し、わかりやすいコード例をいくつか示し、テスト スクリプトをより堅牢にする方法を説明します。飛び込んでみましょう!
簡単に言えば、アサーションはテスト スクリプト内のチェックポイントです。実際の結果と期待される結果を比較します。そして、比較が失敗した場合、アサーションは例外をスローし、テストを失敗としてマークします。
たとえば、ログイン ページをテストしている場合、有効な資格情報でログインするとユーザーがダッシュボードにリダイレクトされると主張できます。
Python には、Selenium で適切に動作するアサーション メソッドを提供する組み込みの Unittest モジュールがあります。アサーション メソッドの一部は次のとおりです:
assertEqual(a, b)
a が b と等しいかどうかを確認します。
assertTrue(条件)
指定された条件が True かどうかを確認します。
assertFalse(条件)
指定された条件が False かどうかを確認します。
assertIn(a, b)
a が b に存在することを検証します。
Google のホームページをテストし、タイトルに「Google」が含まれていることを主張したいと仮定して、例を見てみましょう。次の内容の with app.py ファイルを作成します: –
# app.py file from selenium import webdriver import unittest class GoogleHomepageTest(unittest.TestCase): def setUp(self): # Set up the WebDriver self.driver = webdriver.Chrome() self.driver.get("https://www.google.com") def test_title(self): driver = self.driver page_title = driver.title # Assert that "Google" is in the title self.assertIn("Google", page_title, "Page title does not contain 'Google'") def tearDown(self): self.driver.quit() if __name__ == "__main__": unittest.main()
上記ではテストを定義しました。このテストは、ブラウザを初期化して Google ホームページに移動することで環境をセットアップすることから始まります。次に、テスト ケースが実行され、ページ タイトルが取得され、そこに「Google」という単語が含まれていることを確認します。最後に、分解フェーズではブラウザを閉じてテスト環境をクリーンアップします。
アサーションをシンプルに保つ: 過度に複雑なアサーションを避けます。明確にして、1 つのことに集中する必要があります。
有用なメッセージを提供する: 失敗時のデバッグを改善するために、アサーションに意味のあるメッセージを追加します。
アサーションは控えめに使用します: アサーションは重要ですが、多すぎるとスクリプトが乱雑になる可能性があります。本当に価値を付加できる場所で使用してください。
アサーションとログを組み合わせる: ログを使用してテストの実行を追跡し、アサーションを補完します。
Selenium Python のアサーションは、テスト結果を検証するための頼りになるツールです。これらはテストの信頼性を高めるだけでなく、障害を迅速に特定するのにも役立ちます。アサーションを明確なテスト設計と組み合わせることで、自動化スクリプトが効果的であり、保守が容易であることを保証できます。
このブログの次の部分では、Flask アプリケーションで chromdriver を使用する方法を検討します。
アサーションは、実際の結果と期待される結果を比較する Selenium テスト スクリプト内のチェックポイントです。比較が失敗した場合、アサーションは例外をスローし、テストに失敗のマークを付けます。これらは、アプリケーションが期待どおりに動作することを保証し、テスト中に問題を特定するのに役立つため、非常に重要です。
Python のunittest モジュールで一般的に使用されるアサーション メソッドには次のものがあります。
assertEqual(a, b): a が b と等しいかどうかを確認します。
assertTrue(condition): 指定された条件が True であることを確認します。
assertFalse(condition): 指定された条件が False であることを確認します。
assertIn(a, b): a が b に存在することを検証します。
assertIn メソッドを使用して、Web ページのタイトルに特定の単語が存在するかどうかを確認できます。以下に例を示します:
# app.py file from selenium import webdriver import unittest class GoogleHomepageTest(unittest.TestCase): def setUp(self): # Set up the WebDriver self.driver = webdriver.Chrome() self.driver.get("https://www.google.com") def test_title(self): driver = self.driver page_title = driver.title # Assert that "Google" is in the title self.assertIn("Google", page_title, "Page title does not contain 'Google'") def tearDown(self): self.driver.quit() if __name__ == "__main__": unittest.main()
これにより、「Google」という単語がページ タイトルに含まれていることを確認し、含まれていない場合は例外をスローします。
セットアップ: WebDriver を初期化し、ターゲット Web ページに移動します。
テスト ケースの実行: アクション (データのクリックや入力など) を実行し、アサーションを使用して結果を検証します。
分解: ブラウザを閉じて、テスト環境をクリーンアップします。
アサーションをシンプルに保つ: デバッグを容易にするために、単一の条件に焦点を当てます。
役立つメッセージを提供します: トラブルシューティングを容易にするために、意味のある失敗メッセージを追加します。
アサーションは控えめに使用します: テストに価値を加えるアサーションのみを含めます。
アサーションとログを組み合わせる: アサーションと一緒にログを使用して、テストの実行を追跡します。
ブログの次の部分では、Flask アプリケーションで ChromeDriver を使用する方法を検討し、より高度なテスト シナリオのために Selenium を Web アプリケーション フレームワークと統合する方法についての洞察を提供します。
以上がPython Selenium でアサーションをマスターする: テストのための包括的なガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。