カピバラでページのhtmlコンテンツを確認するにはどうすればよいですか?
page.should have_text('this is <b>bold</b> "text"')
出力:
失敗/エラー: page.should have_text('this is <b>bold</b> "text"') this is <b>bold</b> \"text\" in "....this is bold \"text\"....." があると予想されます
あなたのコードは、それが呼び出される要素のhtmlソースではなく、Capybaraのhas_text?
(したがってhave_text
)メソッドがテキストをチェックするため、機能しません。
Javascript 評価をサポートするドライバー (Selenium、Poltergeist、Capybara-Webkit など) を使用する場合、Javascript を使用して要素の内部 HTML を取得できます。
html = page.evaluate_script("document.getElementById('answer-15988092').innerHTML")
html.should include('this is <b>bold</b> "text"')
ページの HTML 全体に要素が含まれていることを確認したい場合は、html
ページ ソースを返すメソッドを使用できます。
page.html.should include('this is <b>bold</b> "text"')
通常、より制限的な JavaScript 評価を好みます。