gpt4 book ai didi

ruby - 如何使用页面对象验证可见性?

转载 作者:数据小太阳 更新时间:2023-10-29 08:37:46 25 4
gpt4 key购买 nike

我只有很少的叠加层和一些元素,我应该在其中检查这些元素的可见性。这可能通过页面对象实现吗?我的意图是我的页面中有一个方法,它应该返回可见性 true 或 false。这是我的页面文件

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?


建议我解决一些问题

问候,
阿维纳什

最佳答案

问题在于:

return send("#{text}.visible?")

页面对象正在寻找一个名为“text1.visible?”的方法,但该方法不存在。 send 用于进行单个方法调用。它不会评估字符串 - 即它不会确定您实际上想要调用一个方法,然后使用返回值调用第二个方法。

您可以执行以下操作:

def getAvailabilityOf text
return send("#{text}_element").visible?
end

请注意,send("text1") 只会返回 span 元素的文本。 send("#{text}_element") 返回页面对象元素,该元素将具有 visible? 方法。

根据您将如何使用该方法,也许您实际上需要以下内容,它允许查找文本而无需创建访问器。

def getAvailabilityOf text
return span_element(:text => text).visible?
end

关于ruby - 如何使用页面对象验证可见性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25615150/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com