最近問題が発生しました。私たちのチームは、Selenium を使用してテスト スクリプトを自動化しました。ユーザーインターフェースの変更依頼が来ましたので、cssを修正しました。
問題は、自動化されたテスト スクリプトが機能しないことです。これは css の変更によるものであることがわかっています。
私の質問は:
これらのシナリオを効果的に処理するための最良のアプローチは何ですか?
最近問題が発生しました。私たちのチームは、Selenium を使用してテスト スクリプトを自動化しました。ユーザーインターフェースの変更依頼が来ましたので、cssを修正しました。
問題は、自動化されたテスト スクリプトが機能しないことです。これは css の変更によるものであることがわかっています。
私の質問は:
これらのシナリオを効果的に処理するための最良のアプローチは何ですか?
これはテストの最大の不便です...何かが変更された場合、テストスクリプトを書き直す必要があります。
要素のローカリゼーションの最良の方法を選択できます。ただし、xPath(およびCSSまたはその他のタイプのロケーター)が変更されるリスクは常にあります。実際、すべての可能性についてスクリプトを書くことはできません。アプリに変更があった場合は、スクリプトを手動で変更する必要があります。
これは避けられない事実です。
この不便さを軽減する方法があります。非常に一般的な解決策の 1 つは、Page Object パターンを使用することです。
アイデアは、間に 1 つのレイヤーを挿入することによって、テスト対象のアプリケーションからテスト ロジックを分離することです。そうすれば、アプリケーションが変更された場合、テスト ロジックを変更する必要はなく、影響を受けるページ オブジェクトを更新するだけで済みます。
この更新プロセスを簡素化するために、ページ オブジェクト クラスを生成できるツールを使用する (または独自に作成する) こともお勧めします。