有多个具有相同div的元素。通过单击按钮,这些元素将获得数字值。如果这些元素中的文本达到某种模式,则说明我已经完成,应该结束测试。
例如,有5个div为“ someelement”的元素,这些元素中都有数字。如果这些元素中总共有3个数字(共5个),则应该注销“您赢了”之类的内容。如果这些元素中有4个数字2,则应注销“ you win2”。并且它应该遍历所有这些选项进行验证。如何将其继续循环?
我找到了一种简单的解决方案,可以对元素中的这些值进行计数,但是如何继续测试直到达到这些预期条件之一?
var els = element.all(by.cssContainingText('.thediv', '5'));
expect(els.count()).toBe(3);
var els2 = element.all(by.cssContainingText('.thediv', '4'));
expect(els.count()).toBe(2);
答案 0 :(得分:0)
它将单击按钮,然后找到元素并计数。循环将一直运行,直到第一个元素计数不等于3 AND
,第二个元素计数将不等于2。
let els;
let els2;
let count = 0;
let count2 = 0;
do {
button.click();
els = element.all(by.cssContainingText('.thediv', '5'));
els2 = element.all(by.cssContainingText('.thediv', '4'));
count = els.count();
count 2 = els2.count();
} while (count !== 3 && count2 !== 2)