1

私は以前の会社で webdriver と geb を使用していたので、Watir の世界は初めてです。Watir が webdriver の get_elements メソッドに類似したメソッドを提供しているかどうかを知りたいです。例については、以下を参照してください。

大きなページ内に次の html が存在するとします。

<div class="someClass">someText</div>
<div class="someClass">someMoreText</div>
<div class="someClass">evenMoreText</div>

指定されたクラスのすべての要素を見つけてそれらを反復処理することにより、各 div に対していくつかのアサーションを作成したいと考えています。webdriver を使用すると、次のように実行できます。

elements = driver.get_elements(:css, ".someClass")
elements.each do |element|
    //some assert on element
end

Watir は同等の構造を提供しますか? Watir のドキュメントには有用なものが見つかりません。

4

2 に答える 2

2

locator を使用する代わりに、代わりに locator:cssを使用することをお勧めします。:class通常は locator の方が高速で、テストが読みやすくなります。

elements = driver.divs(:class => 'someClass')

:idまた、:name、 、その他も忘れないでください:text

于 2012-11-07T21:19:35.257 に答える
2

できるよ:

elements = driver.elements(:css => '.someClass')

または、それらがすべて div であることがわかっている場合は、次のようにする必要があります。

elements = driver.divs(:css => '.someClass')

これらのメソッドは両方とも、条件に一致する要素のコレクションを返します。最初のケースでは任意のタグ タイプに一致しますが、2 番目のケースでは結果が div に限定されます。

次に、上記のいずれかを使用して、同じ方法で反復できます。

elements.each do |element|
    //some assert on element
end
于 2012-11-05T14:44:40.737 に答える