1

私たちの Web アプリケーションには、多くの統合テストがあります。ページの UI 構造の変更にどう対処するか? IDと特定のタグ名を持つxpathに基づくすべてのテスト(本当に悪いこと)。

ID のグループはコントラクトですが、Web 開発者はテストに失敗することなくページを簡単に変更するにはどうすればよいでしょうか?

4

2 に答える 2

2

お気づきのように、XPath 式は非常に壊れやすく、ページ構造に小さな変更を加えただけでも破損する可能性があります。特定の要素を見つける方法として、テストでそれらを使用することはお勧めしません。

XPath 式ではなく、一意の ID のみを使用して要素を検索するようにテストを書き直すことはできますか? ページを変更する際に ID を保持するのは非常に簡単です。

または、何らかの理由で要素の ID を頻繁に変更する必要がある場合は、次のように、一意で変更されない「テスト ID」を含む別の属性を HTML タグに追加することもできます。

<a href="mylink.html" id="idThatWillBeChanged" test-id="myLink">My link</a>

次に、そのテスト ID を使用して要素を見つけることができます。残念ながら、そのような属性を追加すると、ページが有効な HTML として検証されなくなり、一部の IDE はそれをエラーとしてマークします。

于 2012-03-20T08:56:03.857 に答える
0

私が理解している限り、問題の根本は、DOM の変更をすべてのテスト ケースに反映する必要があるということです。このDRY違反は、PageObject パターンを使用して別の抽象化レイヤーを追加することで解消される場合があります。この場合、要素が変更されたときに、1 つのクラスでのみ XPath を更新します。

以下も参照してください。

于 2012-03-20T09:27:53.330 に答える