我有三个按钮,文本为'select'。
我可以编写代码与这些选择按钮进行交互吗?他们没有任何ids或名字。
我在这里放置了两个按钮:
<button class="btn btn-default ng-scope" type="button" data-ng-click="onBtnSelectClicked(coverage)" translate="l_choose">Select</button>
<button class="btn btn-default ng-scope" type="button" data-ng-click="onBtnSelectClicked(coverage)" translate="l_choose">Select</button>
如果你告诉我一些其他的方式来交互这个按钮也没关系。
修改
我找到了这个问题的答案,这是答案
b.buttons(:文本, '选择')[1]。点击
答案 0 :(得分:0)
我不同意上述评论。在UI测试中,我们非常经常地为丰富的应用程序提供这样的scnearios。 [Angular / Dojo等]
他们也可能有意地模糊属性,以便用户可以根据需要动态地重新安排和/或增加减少框架/面板。在这方面,我与开发人员有很多争论 - 现在我对他们解释的内容没有多大意义。
第二 - 没有实时考虑实际应用的用户不能对问题本身进行投票,这是不对的。他已经正确地标记了它,即Watir,这个问题对我来说似乎很公平,这是我在最初的日子里难以理解的。只是因为我觉得他无法在正确的方向上分析他的应用/细节似乎更少。
考虑到这一点 - 您可能想要打开某种文档并并排比较,并且在两个框架中有相同的元素 - 所以我们说opnen一个框架并将其拆分为两个并说比较/查找/选择等等可能是某人可以设计的一些常见对象。
所以我猜 - 如果在任何情况下开发者故意决定使用相同的属性 - 父母或任何祖先应该明确地区别。因此,你需要缩小范围,然后去做。这是正确的方法,因为除非特意更新意图/功能,否则您的测试不会中断。
如果没有,那么这是一个糟糕的应用程序设计,你可能会让dev知道一些文本区别。