Cucumber 如何在黄瓜测试中找到该元素
在cucumber测试中,我需要在我的页面上选择一个href,一个没有id属性的href。我感兴趣的DOM部分如下所示:Cucumber 如何在黄瓜测试中找到该元素,cucumber,watir,Cucumber,Watir,在cucumber测试中,我需要在我的页面上选择一个href,一个没有id属性的href。我感兴趣的DOM部分如下所示: <div id="MyTabs"> <h1 id="PageName"> My Items </h1> <ul class="Tabs"> <li class="pageTab on"> <a href="/the/History
<div id="MyTabs">
<h1 id="PageName">
My Items
</h1>
<ul class="Tabs">
<li class="pageTab on">
<a href="/the/History.aspx">History</a>
</li>
<li class="pageTab ">
<a href="/the/Favorites">Favorites</a>
</li>
<li class="pageTab ">
<a href="/the/Details">Details</a>
</li>
<li class="pageTab ">
<a href="/the/Preferences">Preferences</a>
</li>
</ul>
</div>
我的物品
-
-
-
-
我需要获取与“首选项”相关的link元素,但不确定如何通过
链接获取它(:how_do__I_获取\u this_this东西
。这实际上取决于链接的独特性。但是,根据提供的html,以下内容可能会起作用
根据文本获取链接:
browser.link(:text => 'Preferences').exists?
根据href属性获取链接:
browser.link(:href => /the\/Preferences/).exists?
如果有多个带有文本首选项的链接,您可以将搜索范围限定到特定的div,该div应该是唯一的,因为它有一个id:
browser.div(:id => 'MyTabs').link(:text => 'Preferences').exists?
谢谢,这非常有用。有没有一种方法可以基于CSS类进行查询/深入研究?例如,如果父div有一个“divclass”类,而href有pageClass…在这个例子中我不需要它,但我可以想到可能的场景。是的,你可以使用任何定位器(例如class)定位div例如,
browser.div(:class=>'divclass').link(:class=>'pageClass')
。对于html示例,您可以使用browser.div(:id=>'MyTabs').ul(class=>'Tabs').li(:class=>'pageTab',:text=>'Preferences')
。但是,为了减少脆弱性,您应该尽量少使用定位器。