Capybaraでページのhtmlコンテンツを確認するにはどうすればよいですか?
page.should have_text('this is <b>bold</b> "text"')
出力:
失敗/エラー:page.should have_text( 'this is <b> bold </ b> "text"') これが<b> bold </ b>\"....これは太字の\" text\"....." の "text \"
Capybaraのhas_text?
(したがって、have_text
)メソッドは、呼び出された要素のhtmlソースではなく、テキストをチェックするため、コードは機能しません。
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の評価はより制限的であるため、私はそれを好みます。