2016-04-10 10 views
0

私はページオブジェクトとセレンを初めて使っていますが、これまではすべてがうまくいきました。このページの最後の要素はソーシャルメディアのリンクです。リンクが別ウィンドウで開きます - Cheezyページオブジェクトruby gem with selenium

リンクが正しいことを確認するには、通常、それらをクリックし、seleniumのdriver.current_urlを使用して、ウィンドウのURLがそのリンクに期待されるものであることを確認します。テストは

を失敗する新しいウィンドウが(これはちょうど彼らの静的Facebookページではなく、ログインなどにある)のいずれかの方法があります:

、現在のウィンドウで開くリンクを1強制しますまたは

link_elementから2つのターゲットURLを抽出しますか?

これはテストが気圧のように見えるものです:

def test_facebook_button 
assert @testpage.facebook_icon?, 'Facebook button not found' 
@testpage.facebook_icon_link 
sleep 5 
assert @browser.current_url == '<facebookurlforsite>', 'Facebook link does not open expected URL' 
end 

私はちょうど手動リンクのプロパティをつかむために、例外のいくつかの並べ替えとして、実際のセレンメソッドを使用したい推測しているではない場合には、Iむしろページモデルにいくつかの要素が含まれているのではなく、テスト自体の中にいくつかありますが、おそらく必要なのがわかります

答えて

1

リンクが適切なURLにナビゲートしていることを確認している場合は、リンクのhref属性最も早くなる。 PageObject::Elements::Linkの要素にはhref methodがあります。

あなたが呼ぶような、facebook_icon_linkはアクセサメソッドで定義されたあなたのリンクであると仮定すると:

assert facebook_icon_link_element.href == '<facebookurlforsite>' 
:つまり

facebook_icon_link_element.href 

を、アサーションのように書くことができます

関連する問題