如何检查Selenide ElementsCollection的所有元素是否都具有特定文本?

时间:2019-07-16 18:38:07

标签: selenide

我有一组元素(框): enter image description here

$$("div.boxLabel")

当我输入单词“ test”时,应该仅在文本“ test”中显示元素(框)。

$("input.searchText").setValue("test");

enter image description here

但是如何检查$$("div.boxLabel")的所有元素是否都带有文本“ test”?
如果不是所有元素都具有文本“ test”,则Selenide应该等待一段时间,直到所有元素都具有它。 对于一个元素,可以使用以下内容:

$$("div.boxLabel").get(0).shouldHave(text(title));

但是我不能将以下内容用于收藏:

for (SelenideElement box : $$("div.boxLabel")) {
    box.shouldHave(text("test"));
}

因为在执行$$("div.boxLabel")期间,Selenide将获得所有5个元素,并且将在5个元素中的每一个中等待文本“ test”。
应用过滤器后,我没有任何加载程序或文本“应用了过滤器”。

1 个答案:

答案 0 :(得分:0)

您应该能够在$$中使用texts()函数

$$("div.boxLabel").shouldHave(texts(
                        "test"
                ));