Selenium Grid 2 テスト中に ID を識別できるようにするために、ID を SelectItem (より正確にはオプション リスト) に設定しようとしていますが、それを行う方法が見つかりません。必要なのは、リストを見つけてその値を選択 (クリック) することです。
試行錯誤したインテント:
- この目的のための通常のメソッドで
setID()
ありensureDebugId()
、SelectItem では使用できません - このメソッド
setName()
は、生成された HTML に痕跡を残しません。 SelectItem を含むフォームでオプション リストを見つけることができません。SelectItem は、個別の要素で構成されます。
- ラベル(タイトル)
- textInput (選択した値)
- ピッカー(オプションのドロップダウン リストを表示するボタン)
- pickList (オプションのドロップダウン リスト)
ローカライズするために、このコンポーネントを含むフォームに ID を設定すると、 pickList
className
を見つけることができません。これは、ピッカーがクリックされたときに生成され、生成されたコードがフォームの境界の外に配置されるためです。フォーム内で見つかりません。ドキュメント全体で見つけることは可能ですが、複数のリストがある場合、どのリストがどの SelectItem に属しているかを知る方法はありません。
どんなアドバイスでも大歓迎です。前もって感謝します。
更新: 誤解を避けるために何かを明確にしたいと思います: さまざまな Selenium ツールとバージョン、およびそれを Smart GWT で使用する最良の方法について、さまざまな意見があることを知っています。この質問は、これらの議論には参加していません。質問のタイトルに示されている境界に限定されています: Selenium Grid 2 tests with WebDriver.
setID()
いくつかの背景: GWT コンポーネントをコーディングするとき、テスト目的でメソッドを使用して (慎重に、重複しないように) それらの一部を識別します。これらの識別子が結果の HTML で読み取られるかどうかは気にしません。(使用ensureDebugId()
すると何らかの理由でビューが歪んでしまいます。その上、とにかく、同形の人たちはそれを忘れることをお勧めします。) しかし、はsetID()
利用FormItem
できません。つまり、最初の空でないオプションが選択されます。SelectItem
FormItem