私はこのようなリンクを持っています:
<a href= "mailto:<%= @email%>?subject = Answer to Complaint&body = <%= @salutation%>、"> Answer </ a>
キュウリ/カピバラを使用してテストするにはどうすればよいですか?私はただ以上の何かを意味します
そして、私は「答え」を見る必要があります
私はこのようなリンクを持っています:
<a href= "mailto:<%= @email%>?subject = Answer to Complaint&body = <%= @salutation%>、"> Answer </ a>
キュウリ/カピバラを使用してテストするにはどうすればよいですか?私はただ以上の何かを意味します
そして、私は「答え」を見る必要があります
リンク の@email
と@salutation
の値が正しいことを心配しているようです。mailto:
あなたはこのようなことをすることができます
page.should have_xpath("//a[contains(@href,email)]"))
私はキュウリのステップで終わった:
Then /^I should have a mailto link with:$/ do |table|
mailto_link = '//a[@href="mailto:' + table.rows_hash['recipient'] + '?subject=' + table.rows_hash['subject'] + '&body=' + table.rows_hash['body'] + ' "]'
page.should have_xpath(mailto_link)
end
URLエンコードと包含を伴うPiotrBrudnyへの追加は、パラメーターの順序は重要ではありません(私はそこから本文を削除しましたが、必要に応じておそらくそれを理解することができます。
Then(/^I should have a mailto link with:$/) do |table|
mailto_link = ("//a[contains(@href, \"mailto:#{table.rows_hash['recipient']}\")"\
" and contains(@href, \""+ {
subject: table.rows_hash['subject']
}.to_query + '")]').gsub('+', '%20')
page.should(have_xpath(mailto_link))
end
受け入れられた回答に似ていますが、例が少し更新されています。あなたはそれをこのように置くことができます:
expect(page).to have_xpath("//a[contains(@href,'mailto:some_name@google.com')]")