2

一貫性を保つために、すべてに Cheezy の page-object gem を使用しようとしています。ただし、このような要素にドリルダウンする方法を見つけることができませんでした。ここでの状況は、すべて同じタグを持つリンクが複数あるため、識別可能なものからドリルダウンする必要があるということです。

@browser.p(:text => /#{app_name}/i).link(:text => 'Add').click

私が探しているコードは、段落内にあるリンクをクリックする次のようなものですが、機能しません。

p(:pgraph, id: => 'some-pgraph')
link(:lnk, text: => 'add')    

self.pgraph.lnk

ページオブジェクトでこれを行う方法はありますか?

ありがとう、アダム

4

1 に答える 1

5

ブロックを使用して、より複雑な検索方法でアクセサーを定義できます。

段落への参照も保持したい場合:

p(:pgraph, id: 'some-pgraph')
link(:lnk){ pgraph_element.link_element(text: 'add') }

または、他の目的で段落が必要ない場合は、次のようにします。

link(:lnk){ paragraph_element(id: 'some-pgraph').link_element(text: 'add') }    

基本的に、ネストされた要素を持つブロックを使用して、Watir で行うのと同様のアクセサーを定義できます。

実行時に ID を動的に指定する場合は、アクセサーを使用する代わりに、リンクをクリックするメソッドをいつでも定義できます。

def click_link_in(paragraph_id)
  paragraph_element(id: paragraph).link_element(text: 'add').click
end
于 2013-12-06T16:25:01.863 に答える