Seleniumを使用していくつかのテストを作成しようとしているGWTアプリケーションがあります。XPathを使用して可視要素のみを選択するにはどうすればよいですか?
私はXPathを使用して、テストのためにページ上の要素を識別しています。 id
を使用すると、id
の値がGWTによって自動生成され、変更される可能性があります。
//button[.='OK']
、私は問題を抱え始めた複数のテストを実行し始めたとき:物事は、私は次のように私は彼らのラベルでボタンを見つけることができる実現したときにうまく行き始めました。私は、この問題は、Javascriptによって生成されたGWTアプリのすべての異なる「ページ」が隠された<div>
要素のHTMLに残っていることに気付きました。これは、現在のビューで表示されているボタンの代わりに、自分のセレンテストで隠されたボタンがクリックされることを意味していました。
FirebugでHTMLを調べると、style
属性にdisplay: none
を追加すると、GWTは<div>
要素を隠しているようです。これは、次のように私はすべての隠されたOKボタンを見つけることができます意味:
//div[contains(@style,'display: none')]//button[.='OK']
これはstyle
でdisplay: none
を持つことによって隠されている祖先<div>
を持っているのボタンすなわち、すべての隠されたOKボタンを、見つけるでしょう。
私の質問は、XPathを使用して表示可能な[OK]ボタンのみを検索するにはどうすればよいですか? style
に、祖先がないボタンがdisplay: none
の<div>
の要素を見つけるにはどうすればよいですか?
があります。どうもありがとう。 –
DOMツリーに隠されていない別のdivがある場合、最後の1つは機能しません:
– Fortega@Fortegaとその周辺のテキストで言われています –