find()和expect()选择器之间有什么区别



我正在研究capybaracucumber的自动化测试,由于我使用两种方法在页面上搜索文本,我的测试结果变得有点混乱。

我的问题是,哪一个具有最好的测试应用程序,为什么要使用这个特定的选择器?

所以我的页面结构像这个

HTML

<p>some cool text</p>

Seletores

#find selector
page.find('p', text: 'some cool text')
#expect selector
expect(page).to have_text('some cool text')

findhave_text是示例中Capybara提供的方法。find是一个返回匹配元素以供您进一步交互(用于作用域等(的方法,而have_text(和其他一些(是一个与RSpecsexpect方法一起使用的RSpec匹配器,用于指定您希望在页面上看到或不看到的内容。如果您需要元素来执行进一步的操作,请使用find,如果您所做的只是检查页面上是否存在某些内容,则使用expect

fyi-对你的发现的同等期望是

expect(page).to have_css('p', text: 'some cool text')

相关内容

  • 没有找到相关文章

最新更新