Как считать значения gettext, пока не будет достигнуто определенное количество этих значений - PullRequest
2 голосов
/ 26 июня 2019

Есть несколько элементов с одинаковым div. При нажатии на кнопку эти элементы получают числовые значения. Если текст в этих элементах достигает определенного шаблона, я готов, и я должен закончить тест.

Например, есть 5 элементов с div "someelement", эти элементы имеют номера в них. Если в этих элементах всего три числа по 5, он должен выйти из системы "вы выиграли" или что-то в этом роде. если в этих элементах четыре числа по 2, он должен выйти из системы «вы 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);

1 Ответ

0 голосов
/ 26 июня 2019

Он нажмет на кнопку, а затем найдет элементы и посчитает их.Цикл будет работать до тех пор, пока число первых элементов не будет равно 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)
...