2

我正在为系统编写测试自动机代码,开发团队向我展示了以下 html:

<div id="someId">
  <div class="classA">
    <button class="classB">
  </div>
  <div class="classA">
    <button class="classB">
  </div>
</div>

现在的问题是:是否可以只单击 SECOND 按钮?如果是这样 - 如何?

4

2 回答 2

3

如果我理解正确,您将单击样式为按钮的链接。您可以使用此步骤定义

Then(/^I click the (\d+) instance of link "(.*?)"$/) do |instance, link|
   page.all('a', :text => "#{link}")[instance.to_i - 1].click    
end
于 2013-10-10T14:18:20.590 回答
1

我不会依赖返回的元素的顺序all。我记得过去遇到过它的问题,例如这个问题。相反,我会使用选择器,如下所示:

find("#someId div.classA:nth-child(1) button.classB").click

(IIRC它们是零索引的)

于 2013-10-10T14:28:04.443 回答