t.me/atinfo_chat Telegram группа по автоматизации тестирования

Почему в некоторые инпуты значение то записыается, то нет?

Теги: #<Tag:0x00007f9b02bad2a0> #<Tag:0x00007f9b02baceb8> #<Tag:0x00007f9b02bacaf8>

имею инпуты

@FindBy(xpath = "//table[contains(., 'Заголовок') and @class='af_inputText']//input")
    public WebElement header;

@FindBy(xpath = "//table[contains(., 'Номер заявки') and @class='af_inputText']//input")
    public WebElement numberReq;

Почему-то при прогоне теста, выполняя метод sendKeys этих инпутов, наблюдается, что они то заполняются, то не заполняются…
В чем может быть причина? В том, что метод sendKeys выполняется для еще не до конца загруженного элемента?
И если это так и надо подождать когда элемент загрузиться, то какой использовать ExpectedConditions, я юзаю ExpectedConditions.visibilityOf(element), но это не помогает.

Поставьте не явные ожидания

Попробуйте elementToBeClickable.

Я бы попытался определить более точно причину:

  • это повторяется во всех браузерах ?
  • если нет, повторяется ли во всех версиях проблемного браузера ?
    Или это системная проблема какого-то енвайронмента ?
  • Если проблема построяется устойчиво на одной системе, то проверить на разных.версия вебдрайвера
  • сужать круг поиска пока не найдется проблемный компонент.

У меня в практике был кейс, когда прекрасно работающий (локально и в гриде) солюшн выбирал “не те” опции с дробдауна на виртуальной машине win7 под виртуал боксом.
В дропдауне біло 2500 опций, и отрисовка не успевала и т.п. решилось
repeat
выбор
until (выбранная опция == желаемая)

2 Симпатий

Оказывается, что нужно сфокусироваться на форме, которая содержит в себе эти инпуты. Без фокуса - эта форма до конца не прорисовывается\не загружается.
Сделал клик по форме, прежде чем заполнять инпуты - и все ОК.