0
我在写一个测试,我想要获取菜单中显示的所有选项。菜单的HTML如下:获取文本中所有页面上的所有链接。
<div class="dropdown-menu context-menu open" style="display: block; left: 421px; top: 352px;">
<li>
<a href="#" onclick="save;">Save</a>
</li>
<li>
<a href="#" onclick="duplicate;">Duplicate</a>
</li>
<li>
<a href="#" onclick="delete;">Delete</a>
</li>
</div>
我使用页面对象与水豚做我的测试。目前,我有这个...
module PageObjects
module SomePage
class OtherPage < PageObject
def menu_options
@element.right_click
options = @page.all('div.dropdown-menu li')
menu_options = options.map{ |option| MenuOption.new(option)}
return menu_options.map{|m| m.text}
end
end
class MenuOption < PageObject
def text
@element.find('a').text
end
end
end
end
这让我,在我的测试,呼叫other_page.menu
并获得["Save","Duplicate","Delete"]
。我希望做的是摆脱MenuOption类。有没有办法编写menu_options
方法,以便从所有元素中获取文本?