Итак, я пытался выяснить, как нажимать кнопку x раз, в зависимости от того, сколько найдено Все элементы. Это означает, что если есть 3 элемента, которые найдены с тем же именем класса, то мы l oop 3 раза, которые должны нажать кнопку 3 раза.
Я сделал что-то вроде этого:
(Новое обновление, проверьте редактирование поста внизу)
Обычно element.all(by.className('btn btn-remove btn-outlined')).getText()
равен 3, но его можно изменить на 6 и случайные числа, поэтому я решил сначала прочитать, сколько btn btn-remove btn-outlined
в HTML и щелкните столько раз найденных элементов. Поэтому, если найдено 3, нажмите кнопку 3 раза.
Однако проблема сейчас заключается в том, что он находит, сколько элементов существует. Он также зацикливается столько раз, что задано как text.length, но внутри l oop кажется, что по некоторым причинам функции it пропускаются, и я не могу понять, почему
Right теперь он находит длину элементов, равную 3, и кажется, что l oop столько раз, но он пропускает функции it (эта часть):
it('Click remove button - ' + i + '/' + text.length, function (done) {
browser.driver
.then(() => browser.executeScript("arguments[0].click();", element.all(by.className('btn btn-remove btn-outlined').first().getWebElement())));
.then(() => done());
});
it('Wait for fading button to be gone', function (done) {
setTimeout(function () {
done();
}, 1000);
});
и я уверен, что Возможно, я сделал что-то не так, о чем я не знаю.
Как я могу найти, сколько заданных элементов в DOM и сколько раз * l oop нажать кнопку удаления?
РЕДАКТИРОВАТЬ КОД:
it('Click remove button', function (done) {
element.all(by.className('btn btn-remove btn-outlined')).getText().then(function (text) {
console.log(text.length) //returns 3
for (var i = 0; i < 4; i++) {
console.log(i); //Does print 0 1 2
it('Click remove button - ' + i + '/' + text.length, function (done) {
console.log("Remove button"); //Doesnt print
browser.driver
.then(() => browser.executeScript("arguments[0].click();", element.all(by.className('btn btn-remove btn-outlined').first().getWebElement())));
.then(() => done());
});
it('Wait for fading button to be gone', function (done) {
console.log("TIme out"); //Doesnt print
setTimeout(function () {
done();
}, 1000);
});
}
})
done();
});