Я работаю над набором тестов с WebDriverIO, в котором на тестируемом сайте есть несколько дублирующих элементов, но они выборочно появляются при взаимодействии с пользователем ...
Например, может быть пять открывающихся кнопокпять всплывающих подсказок - но каждая всплывающая подсказка является копией других (те же имена классов, свойства данных, все эти забавные вещи).
Есть ли способ для меня захватить / вернуть просто видимые всплывающие подсказки?
Я могу захватить истину / ложь, используя ...
let visElements = browser.isVisible('div.tooltip');
(который возвращает массив типа [false, true, false, false, false]
). Есть ли способ вернуть правдивый элемент длядополнительное тестирование?
Обновление:
Мое не очень элегантное решение, пока ...
let visElements = browser.elements('div.tooltip');
let visBool = browser.isVisible('div.tooltip');
let index = (visBool === true)? 0 : visBool.indexOf(true);
let element = visElements.value[index];
... это действительно только работаетпотому что код, с которым я работаю, должен показывать только одну подсказку за раз.При любом другом сценарии это может легко сойти с ума.