如何查找具有相同ID的特定文本字段?

时间:2015-01-16 21:13:59

标签: ruby cucumber watir-webdriver

我正在测试这个具有

的angularjs应用程序
text_field(:date, :id => 'transfer_date')

问题是有两个带有此id的文本字段,原因是第一个有ng-show = externalaccount,第二个有ng-show =!externalaccount。

因此,当我测试不是externalaccount的内容时,我会收到一条错误消息,指出text_field不可见。但是,当我测试externalaccount时,测试将通过。我环顾四周找到了

Page-object gem: Identifying object with same properties based on their visibility

我试过了,但页面上还有其他text_fields。我需要找到第一个有id ='transfer_date'的可见text_field。如何使用pageobject或步骤定义进行设置?

1 个答案:

答案 0 :(得分:1)

您可以使用以下命令找到具有特定属性的第一个可见文本字段:

text_field(:date){ text_field_elements(:id => 'transfer_date').find(&:visible?) }

这表示找到具有特定ID的所有文本字段,然后从该列表中找到第一个可见的文本字段。