在红宝石中使用Capybara并使用Site Prism创建页面对象。 Http元素看起来像这样:
fn3()
我已为此部分创建了课程:
#carousel-right {
position: relative;
}
#carousel-right > .fa {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%)
}
然后将部分添加到页面对象:
<section class='service-widget' id='service_id>
<div class='title'> ... </div>
<div class='content> ... </div>
</section>
此元素可以折叠,只有指示它的状态(如果它是否已折叠)是它的类名,它是从
更改的class ServicesSection < SitePrism::Section
end
到
class ServicesPage < SitePrism::Page
sections :services, ServicesSection, 'section[id^="service_"]'
end
如何找出此元素是否已折叠(已关闭)?
答案 0 :(得分:2)
Inside ServiceSection我定义了方法:
def closed?
root_element[:class].include? 'is-closed'
end
如果&#39;已关闭&#39;则返回true。是课堂的一部分。
答案 1 :(得分:2)
你root_element[:class].include? 'is-closed'
的自我回答可能对你的情况很好,但是不健全,因为它也会匹配一个is-closed-tomorrow
类的元素。更强大的解决方案如下:
root_element.matches_css?('.is-closed', wait: false)