【发布时间】:2014-09-02 02:50:50
【问题描述】:
我的覆盖层和一些元素很少,我应该检查这些元素的可见性。这可以通过页面对象来实现吗?我的意图是我的页面中有一个方法,它应该返回可见性真或假。 这是我的页面文件
class HomePage
include PageObject
span(:text1, :text=>'text1') #this has 10+matches on my page
def getAvailabilityOf text
return send("#{text}.visible?")
end
end
这就是我从步骤定义中调用的方式。
Then(/^I should verify the visibility of "(.*?)" on images$/) do |text|
puts on(HomePage).getAvailabilityOf text
end
下面是 HTML。
<div class="box col2 review-box featured masonry-brick" style="height: 360px; background-image: url("https://stagingfiles.gamestakers.com/images/204/medium.jpg?1408991647"); background-repeat: no-repeat; position: absolute; top: 0px; left: 0px;">
<a href="/interviews/jeremy-spillmann">
<div class="gradient-fade">
<div class="featured-box">Featured</div>
<div class="title">
<span>text1</span>
<h2>Jeremy Spillmann</h2>
</div>
</div>
</a>
</div>
以下是我遇到的错误。
Then I should verify the visibility of "text1" on images undefined method `text1.visible?' for #<HomePage:0x35798b8> (NoMethodE rror) ./features/support/pages/HomePage_page.rb:67:in `getAvailabilityOf' ./features/step_definitions/homepage.rb:45:in `/^I should verify the visib ility of "(.*?)" on images$/' features\RINavigation.feature:6:in `Then I should verify the visibility of "interview" on images'
我希望在控制台上打印 true 或 false。
简而言之,我期待页面对象的实现方式
@browser.span(:text => "text1").visible?
建议我一些解决方法
问候,
阿维纳什
【问题讨论】:
-
@JustinKo 已按推荐编辑。
标签: ruby cucumber watir watir-webdriver page-object-gem