使用GEB / Groovy如何验证具有重复ID,类等标记的文本?

时间:2019-02-22 00:56:12

标签: groovy geb

我有一个需要确认的模态显示或文本存在。但是,此模式具有重复的id,类标记(在其他代码中使用)。例如,要验证文本“选择不正确,请重试。请选择美国徽标”。 id和class不是唯一的标记吗?

<div id="errorMessagePanel" class="errorContainer yui-module yui-overlay yui-panel" style="visibility: inherit; width: 350px;">
    <div class="hd" id="flyoutHd" style="cursor: auto;">Shopping Status</div>
    <div class="bd alignLeft" id="flyoutBd">Incorrect selection, please try again. Please select the US logo.</div>
<a class="container-close" href="#">Close</a></div>

enter image description here

1 个答案:

答案 0 :(得分:1)

您可以使用以下内容通过其文本获取元素:

static content {

    incorrectSelection { find("div", text: "Incorrect selection, please try again. Please select the US logo.") }

}

然后断言它已显示:

assert incorrectSelection.displayed

另外,如果您发现由于选择器相同而导致返回多个元素,则可以依靠它在返回数组中的位置来检查特定元素:

static content {

  flyOuts { $("#flyoutBd") }

}

然后:

assert.flyOuts[0].displayed