-1

我有三个按钮,其中包含文本“选择”。

我可以编写代码来与这些选择按钮进行交互吗?他们没有任何 ID 或名称。

我在这里放置了两个按钮:

<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(:text,'Select')[1].click

4

1 回答 1

0

我请求与上述评论有所不同。在 UI 测试中,我们经常会遇到富应用程序的此类场景。[角/道场等]

他们也可能故意放置模糊的属性,以便用户可以根据需要动态重新排列和/或减少框架/面板。在这方面,我与开发人员进行了激烈的争论——即使现在他们解释了多少,对我来说也没有多大意义。

其次 - 在不考虑实时应用的情况下,用户不能对问题本身投反对票,这是不对的。他正确地标记了它,即 Watir ,这个问题对我来说似乎很公平,我在最初的日子里一直难以理解。只是我觉得他无法以正确的方向分析他的申请/细节似乎更少。

考虑一下 - 您可能想要打开某种文档并并排比较,并且您在两个框架中有相同的元素 - 所以让我们说打开一个框架并将其分成两部分,然后说比较/查找/选择等可能是一些某人可以设计的常见对象。

所以我猜 - 如果在任何情况下开发人员故意决定使用相同的属性 - 父母或任何祖先应该明确不同。因此,您需要缩小范围并继续努力。这是正确的方法,因为除非专门更新意图/功能,否则您的测试不会中断。

如果不是,那么这是一个糟糕的应用程序设计,您可能会让开发人员知道一些文本差异。

于 2016-02-05T03:39:51.947 回答