特定のhrefを持つリンクがページに存在することを確認します。私は現在、 "/ some-link-here"を見なければなりませんが、それは失敗するようです。リンクをクリックする必要なしに存在することを確認するにはどうすればよいですか+「/ some-link-here」ページにあるはずですか?キュウリ/カピバラでリンクが存在するかどうかを確認
3
A
答えて
5
あなたはカスタム・ステップを追加する必要がありますあなたはThen "User Login" should link to "the user_login page"
のようなステップを使用することができます
Then /^"([^\"]*)" should link to "([^\"]*)"(?: within "([^\"]*)")$/ do |link_text,
page_name, container|
with_scope(container) do
URI.parse(page.find_link(link_text)['href']).path.should == path_to(page_name)
end
end
、USER_LOGINはあなたのルート
0
の名前である私はjatinの答えを使用しますが、別のスコーピング段階があります。
When /^(.*) within ([^:]+)$/ do |step, parent|
with_scope(parent) { When step }
end
Then /^"([^\"]*)" should link to "([^\"]*)"$/ do |link_text, page_name|
URI.parse(page.find_link(link_text)['href']).path.should == path_to(page_name)
end
その後、私は私のテストでこれを持っている:
step '"my foods" should link to "food_histories" within ".tabs"'
01私のパスで
そして、この:
# note: lots not shown
def path_to(page_name)
case page_name
when /^food_histories$/
food_histories_path
end
end
0
これは、私は自分自身をやっていることは非常にシンプルですが、それはあなたがそれはあなたのテストは非常に脆くとして正直に言うことは理想的ではない、あなたのURLをハードコーディングされている意味はありません。特にサードパーティURLを使用している場合は!
あなたが管理しているこのURLを使用している場合は、このテストを維持してください。
Then /^the link is "(.*?)"$/ do |arg1|
page.should have_xpath("//a[@href='" + arg1 + "'][@target='_blank']")
end
関連する問題
- 1. 行が存在するかどうかを確認するクエリ
- 2. 文書が存在するかどうかを確認する
- 3. レコードが存在するかどうかを確認するCakephp
- 4. 要素が存在するかどうかを確認する
- 5. 子が存在するかどうかを確認する
- 6. CRMレコードが存在するかどうかを確認する
- 7. クラスが存在するかどうかを確認する/ jQuery
- 8. アカウントが存在するかどうかを確認する
- 9. データシートが存在するかどうかを確認するR
- 10. モデルが存在するかどうかを確認するCakephp
- 11. オブジェクトが存在するかどうかを確認するR
- 12. VB.net - リモートファイルが存在するかどうかを確認する
- 13. データベーステーブルが存在するかどうかを確認する - パフォーマンス?
- 14. [i]が存在するかどうかを確認する
- 15. コマンドが存在するかどうかを確認する
- 16. iFrameページが存在するかどうかを確認する
- 17. Dapperでレコードが存在するかどうか確認ORM
- 18. ファイルが存在するかどうかを確認します
- 19. 値が存在するかどうかを確認します
- 20. イメージが存在するかどうか確認する
- 21. 名前が存在するかどうか確認する
- 22. バインディングプロパティが存在するかどうかを確認
- 23. React - 小道具が存在するかどうかを確認
- 24. オブジェクトがDbsetに存在するかどうかを確認
- 25. 列に値が存在するかどうかを確認
- 26. Dropbox App Folderが存在するかどうかを確認
- 27. ユーザ名が存在するかどうかを確認
- 28. HTML5ローカルデータベースデータベーステーブルが存在するかどうかを確認
- 29. リモートファイルが存在するかどうかを確認
- 30. レジストリパスがリモートマシンに存在するかどうかの確認