使用SitePrism的页面对象元素来执行页面断言

时间:2014-07-09 21:47:50

标签: rspec automation cucumber capybara site-prism

我想知道是否可以直接使用页面对象元素执行page.should断言,而不是将xpath或CSS选择器字符串作为参数。

即:

Page class:

class FooClass < SitePrism::Page
  element :action_select, '.autocomplete.medium'
end

步骤定义:

page.should have_css('.autocomplete.medium')

#Sort of thing desired:

page.should have_css(action_select.get_css)

.get_css不存在,但它用于说明所需的内容。

1 个答案:

答案 0 :(得分:2)

element方法创建一个has_<element name>?方法,可以检查元素是否存在。

例如,对于您的网页:

page.has_action_select?
#=> returns true if it exists, false if it doesn't

这允许你的断言是:

page.should have_action_select

有关详情,请参阅site prism page