使用Capybara(最新版本,2.4。X),如何点击以下Bootstrap(最新3.2)拆分按钮中的'最后100个已关闭帐户' 链接?忽略ng-click
,因为它是AngularJS指令。
<div class="btn-group">
<button ng-click="recent(50)" class="btn btn-default">
<i class="fa fa-refresh"></i> Refresh
</button>
<button class="btn btn-default dropdown-toggle" data-toggle="dropdown">
<span class="caret"></span>
<span class="sr-only">Toggle Dropdown</span>
</button>
<ul class="dropdown-menu" role="menu">
<li><a ng-click="recent(200)" >Last 200 Opened Accounts</a></li>
<li><a ng-click="recent(300)" >Last 300 Opened Accounts</a></li>
<li class="divider"></li>
<li><a ng-click="closed(100)" >Last 100 Closed Accounts</a></li>
</ul>
</div>
答案 0 :(得分:0)
经过大量的拔毛后,我终于想出了如何让Capybara在分割按钮中选择最后一个列表选项。首先,我将id="refresh_list"
添加到切换按钮。我还为目标列表id="last_100_closed_accounts"
添加了一个ID。以下顺序完成了诀窍(注意id的a
前缀),这实际上是两个步骤:
click_button "refresh_list"
find("a#last_100_closed_accounts").click
<div class="btn-group">
<button ng-click="recent(50)" class="btn btn-default">
<i class="fa fa-refresh"></i> Refresh
</button>
<button class="btn btn-default dropdown-toggle" data-toggle="dropdown" id="refresh_list">
<span class="caret"></span>
<span class="sr-only">Toggle Dropdown</span>
</button>
<ul class="dropdown-menu" role="menu">
<li><a ng-click="recent(200)" >Last 200 Opened Accounts</a></li>
<li><a ng-click="recent(300)" >Last 300 Opened Accounts</a></li>
<li class="divider"></li>
<li><a id="last_100_closed_accounts" ng-click="closed(100)" >Last 100 Closed Accounts</a></li>
</ul>
</div>
干杯!希望这个答案可以让其他人免于失去头发: - )
答案 1 :(得分:-1)
我为链接分配了一个类,然后能够:
all('.change_account_links').last.click
你不能使用capybara的查找,因为它会给你一个模棱两可的匹配错误。