@B3L

Сложность тесткейса selenium webdriver и multiple popup. как доработать тест чтобы можно было войти в окно popup?

Доброго времени суток,
пишу автотест для веб приложения и в определенном моменте появилась трудность с локализацией елемента и кликом на него.
В Меню приложения автотест должен кликнуть на категорию. появится таблица(dropdown) с подкатегориями. навести мышку на подкатегорию и справа появится еще одна таблица (трудность для меня начинается на этом этапе теста) и нужно выбрать и нажать на опредленном месте в таблице.

Код написаный мною позволяет дойти то момента появления последней таблицы. но что либо выбрать в ней немогу.
driver.switchTo().frame(driver.findElement(By.id("MainFrame")));
        WebElement MENU = driver.findElement(By.id("Menu"));
        List<WebElement> menuItems = MENU.findElements(By.tagName("td"));
        menuItems.get(4).click();

        Thread.sleep(2000);

        WebElement popupMenu = driver.findElement(By.id("PopupMenu"));
        List<WebElement> popupList = popupMenu.findElements(By.tagName("tr"));
        popupList.get(0).click();


и код окна.
<table id="PopupMenu" cellspacing="0" style="padding-left: 0px; padding-right: 0px; top: 38px; left: 358px; visibility: hidden;">
<tbody>
<tr class="TMenuItem" enabled="true" caption="invoice" type="TMenuItem">
<td class="TMenuIcon" width="9px"> </td>
<td class="TMenuItemCaption">invoice</td>
<td class="TMenuArrow"> </td>
</tr>
<tr class="TMenuItem" enabled="true" caption="invoice2" type="TMenuItem">
<td class="TMenuIcon" width="9px"> </td>
<td class="TMenuItemCaption">invoice2</td>
<td class="TMenuArrow"> </td>
</tr>
</tbody>
</table>


Заранее спасибо.

UPD:
Решение проблемы было найдено по средствам манипуляций с кастомными локаторами xpath.
  • Вопрос задан
  • 410 просмотров
Пригласить эксперта
Ответы на вопрос 1
@mipan
Не можете почему?

Вообще избавляйтесь от ожиданий вида Thread.sleep(2000) и используйте WebDriverWait.
Предположу, что ошибка именно в отсутствии ожидания видимости второго меню.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы