3

私はこのようなリンクを持っています:

<a href= "mailto:<%= @email%>?subject = Answer to Complaint&body = <%= @salutation%>、"> Answer </ a>

キュウリ/カピバラを使用してテストするにはどうすればよいですか?私はただ以上の何かを意味します

そして、私は「答え」を見る必要があります

4

4 に答える 4

2

リンク の@email@salutationの値が正しいことを心配しているようです。mailto:

あなたはこのようなことをすることができます

page.should have_xpath("//a[contains(@href,email)]"))
于 2012-05-24T17:20:37.853 に答える
0

私はキュウリのステップで終わった:

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
于 2012-05-25T11:05:25.490 に答える
0

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
于 2016-09-30T10:53:56.190 に答える
0

受け入れられた回答に似ていますが、例が少し更新されています。あなたはそれをこのように置くことができます:

expect(page).to have_xpath("//a[contains(@href,'mailto:some_name@google.com')]")
于 2017-09-04T08:54:59.233 に答える