水豚:检查 children 的 div 有 class
Capybara: Check children of a div having class
我正在尝试检查 div
是否有 child 和特定的 class 在水豚中,使用以下代码:
expect(find("#admin-row-1 .glyphicon-ban-circle")).to_not be_empty
调试后,我得到以下输出
(byebug) find("#admin-row-1 .glyphicon-ban-circle")
#<Capybara::Node::Element tag="a" path="/html/body/main/div[2]/div/div/div/table/tbody/tr[3]/td[3]/a[2]">
但仍然出现以下预期错误
Failure/Error: expect(find("#admin-row-1 .glyphicon-ban-circle")).to_not be_empty
expected #<Capybara::Node::Element tag="a" path="/html/body/main/div[2]/div/div/div/table/tbody/tr[3]/td[3]/a[2]"> to respond to `empty?`
find
return 元素或引发异常,它不会 return 任何响应 empty?
,您可以使用 all
相反,return 是一个类似对象的数组,但更好的解决方案是使用 Capybara
提供的 have_css 匹配器
expect(page).to have_css('#admin-row-1 .glyphicon-ban-circle')
我正在尝试检查 div
是否有 child 和特定的 class 在水豚中,使用以下代码:
expect(find("#admin-row-1 .glyphicon-ban-circle")).to_not be_empty
调试后,我得到以下输出
(byebug) find("#admin-row-1 .glyphicon-ban-circle")
#<Capybara::Node::Element tag="a" path="/html/body/main/div[2]/div/div/div/table/tbody/tr[3]/td[3]/a[2]">
但仍然出现以下预期错误
Failure/Error: expect(find("#admin-row-1 .glyphicon-ban-circle")).to_not be_empty
expected #<Capybara::Node::Element tag="a" path="/html/body/main/div[2]/div/div/div/table/tbody/tr[3]/td[3]/a[2]"> to respond to `empty?`
find
return 元素或引发异常,它不会 return 任何响应 empty?
,您可以使用 all
相反,return 是一个类似对象的数组,但更好的解决方案是使用 Capybara
expect(page).to have_css('#admin-row-1 .glyphicon-ban-circle')