fillField не стабильно заполняются Codeception + WebDriver

codeception
php
selenium
Теги: #<Tag:0x00007f7b69298da8> #<Tag:0x00007f7b69298b28> #<Tag:0x00007f7b69298998>

(Shine) #1

В связке использую Codeception + WebDriver

Странная ситуация:

  1. Загружается страница, все данные формы отображаются корректно
  2. Заполняю поля методом fillField
    Запускаю тест, поля то заполняются нормально, то заполняются частично, то одно из полей может вообще не заполниться.

Данные в тест закидываю с помощью @dataProvider
$page->fillField([‘name’ => self::$usernameField], $login);
$page->fillField([‘name’ => self::$passwordField], $pass);

Пример как при запуске теста заполняется одно из полей:

  1. login = (12345, , 123, 1)

Вообщем, не могу понять в чем дело… По началу думал, что форма может не до конца загружается, наставил wait(5), но не помогло.

Подскажите, в чем проблема!?


#2

Ради интереса попробуй сликнуть на поле, подождать 2 сек и продолжить заполнять


(Shine) #3

Поставил, гоняю тесты, но пока ничего… проходят… только что этот клик может показать…


#4

ну так проходят или та же проблема?


(Shine) #5

Проходят, может и в самом деле проблема с задержкой была… Похоже впихнул ее в нужное место и все заработало…

Только все-равно странно… как это так, поля заполнялось только частью данными…


(fpsthirty) #6

Вполне вероятно, что фоном исполняется скрипт, в котором задействовано фокусирование, из-за чего, после потери фокуса у вашего текстбокса, перестаёт вноситься текст


#7

У меня такая же проблема была, это фишка селениума, и никаким боком не получаось это обойти кроме как делать typeAndTab (метод который шлёт текст и жмёт таб для перехода на следующий инпут)