2015-10-17 110 views
0

假设我的应用程序中有一个“登录”按钮,可以由管理员启用/禁用该按钮。当登录功能被禁用时,测试此按钮的最佳方式是而不是? (该页面应呈现罚款,但该按钮不应该在那里。)期待水豚找不到东西?

我似乎无法找到一种方式expectfind失败。我接近这个错误吗?

+0

期望'not_to'而不是'to'? –

回答

1

好吧,如果你的按钮有一个classid,那么你可以检查,如果页面不包括classid

expect(page).not_to have_selector "#botton_id" or ".button_class" 

,或者如果你的按钮的名称是唯一的,你可以检查不显示在页面上:

expect(page).not_to have_content('Button Name') 
0

如果你想通过做

已检查了按钮的存在
expect(page).to have_button('log in') 

那么你可以做任何的

expect(page).not_to have_button('log in') 
expect(page).to have_no_button('log in') 

,以确保“登录”按钮不存在 - 类似可以have_link,have_field,have_selector等来实现。如果你不使用RSpec的,然后再沿着

page.assert_no_selector(:button, 'log in') 

assert page.has_no_button?('log in') 

线的东西会做你想要什么