我正在测试这个具有
的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或步骤定义进行设置?
答案 0 :(得分:1)
您可以使用以下命令找到具有特定属性的第一个可见文本字段:
text_field(:date){ text_field_elements(:id => 'transfer_date').find(&:visible?) }
这表示找到具有特定ID的所有文本字段,然后从该列表中找到第一个可见的文本字段。