Кукловод и огурец Выбрав один класс (из 48 с тем же классом) и нажав на него - PullRequest
0 голосов
/ 28 апреля 2020

У меня такая проблема со вчерашнего дня, и я не могу понять, как ее решить. Проблема в том, что у меня 48 кнопок с одинаковым классом (тоже дети). Пробовал использовать xpath, другие классы внутри, но ничего не работает.

Работает создание массива со всеми кнопками, а затем нажатие на него с помощью «кнопки [номер]», но я не знаю точно, какой номер у каждой кнопки. Последнее, что я сделал, это создал l oop, чтобы проверить страницу, нажав на каждую кнопку (может быть перенаправлена ​​на правильную), но не сработал. Может я что то не так написал.

When('I press the Users tab', async function () {
const tabToPress = await scope.page.$$('.ng-star-inserted');
var numberToPress;
for (var index = 0; index < tabToPress.length; index++) {
    await tabToPress[index].click();
    const desiredPage = `https://3.0.testing.azavista.com/users/users`;
    const currentPage = await scope.page.url();
    if (currentPage === desiredPage) {
        numberToPress = index
    }
};
await tabToPress[numberToPress].click();
await scope.page.waitFor(1000);

1 Ответ

0 голосов
/ 29 апреля 2020

Я бы рекомендовал изменить код, чтобы к кнопкам был прикреплен идентификатор. Затем вы можете выбрать, какую кнопку нажимать, без необходимости go через некоторые сложные махинации с xpath.

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

...