2016-04-21 56 views
1

我正在做一些使用Rspec和Watir的自动化测试。
我目前想要做的是验证是否存在标题为hidden的按钮元素的属性。因此,在伪代码,我想这样做:
Rspec;验证一个元素的状态,当属性没有值

Find button element; press click 
Verify button element now has another attribute titled "hidden" 
perform further actions 

是否有可能找到这种性质的属性,还是他们总是需要这样说hidden=hidden

回答

4

您可以使用内置的hidden?方法:

<input type="submit" value="button"> 
browser.button.hidden? 
#=> false 

<input type="submit" value="button" hidden> 
browser.button.hidden? 
#=> true 

然后,您可以创建一个使用expectation来验证一个RSpec例如:

describe "Button" do 
    it "should be hidden" do 
    expect(browser.button.hidden?).to be true 
    end 
end 

而且expect(browser.button.hidden?).to be true是笨重。正如Justin Ko敏锐地指出的那样,rspec以谓词匹配器的形式提供了一些语法糖,以使它更简洁:expect(browser.button).to be_hidden

+0

对于RSpec,[谓词匹配器](https://www.relishapp.com/rspec/rspec-expectations/v/3-4/docs/built-in-matchers/predicate-matchers)可能更好 - 'expect(browser.button).to be_hidden' –

+0

@Justin Ko:Good call。试图保持简单。我已更新您的建议。 – orde

+0

谢谢,这个作品 - 我需要做一些重构来利用语法糖,但总体来说#hidden?作品! – kmancusi

相关问题