通常、Vaadinアプリケーションは、アプリケーションの各ユーザーインターフェイスコンポーネントに対して順次IDを設定します。残念ながら、これらのIDは、テスト自動化の目的ではあまり有効ではありません。動的に生成され、実行時(セッションごとまたは新しいコンポーネントの追加時など)に変更される可能性があります。VaadinアプリケーションのUIコンポーネントの一意のIDを生成する方法は?
テスト自動化では、コンポーネントごとに固有IDと静的IDが必要です(アプリケーションごとに少なくとも1つ)。
A)VaadinのsetId()
メソッド[1]を使用して、テスト自動化に適したコンポーネントIDを生成できますか?
B)VaadinのaddStyleName()
またはsetStyleName()
は、後でIDとして「乱用する」カスタムCSSスタイルを生成すると便利ですか? [3]で説明したように
いくつかのデザインのアイデア:ID割当
- 別IDの作成は、コンポーネントにIDを割り当てるID
- を作成する命名方式を使用
[1] https://vaadin.com/api/7.7.3/com/vaadin/ui/Component.html#setId-java.lang.String-
[2] https://vaadin.com/api/7.7.3/com/vaadin/ui/Component.html#setStyleName-java.lang.String-
ありがとうございます。私はxpathを認識しており、既に広範囲に使用しています。私の質問は主に静的IDを生成する意味でVaadinのサイトで行うことができ、xpathやcssセレクタ(Selenium)の使い方を簡単にし、保守性を向上させることを目的としています。すでに述べたようにインテリジェントなxpathを使用してもUIが変更されてもメンテナンスは問題になる可能性があります。明確なネーミングまたはID戦略には2つの大きな利点があります:1.セレクタの定義がはるかに簡単で高速です。より堅牢であるため、メンテナンスの労力が少なくて済みます。 –
テスト自動化の開発とメンテナンスをより効率的に行い、反対側でより信頼性の高いテストを開発者に提供することが、その目的の1つです。 –