如何用capybara检查页面上的html内容?
page.should have_text('this is <b>bold</b> "text"')
Run Code Online (Sandbox Code Playgroud)
输出:
Failure/Error: page.should have_text('this is <b>bold</b> "text"')
expected there to be this is <b>bold</b> \"text\" in "....this is bold \"text\"....."
And*_*lov 29
您的代码不起作用,因为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"')
Run Code Online (Sandbox Code Playgroud)
如果要断言页面的整个HTML包含元素,可以使用html返回页面源的方法:
page.html.should include('this is <b>bold</b> "text"')
Run Code Online (Sandbox Code Playgroud)
通常我更喜欢javascript评估,因为它更具限制性.
| 归档时间: |
|
| 查看次数: |
13265 次 |
| 最近记录: |