@FreeDobby
Свободный Добби

Как просмотреть элементы в select?

На форме есть обычный select. Я тестирую эту форму через codeception (функциональные тесты).
Там есть такой метод $I->seeInFormFields. Никак не пойму как ему указать список вариантов селекта. Т.е. я заранее знаю какие там должны быть варианты и хочу убедиться что они там все присутствуют. Например если я пишу так:

$I->seeInFormFields('form', ['Article[section_id]' => $sections]);


То мне выдает:

1) ArticleFormCest: Test add new article
 Test  tests\functional\ArticleFormCest.php:testAddNewArticle
 Step  See in form fields "form",{"Article[section_id]":["section1"]}
 Fail  Failed asserting that `section1` is in select's value: array (
  0 => '',
)
Failed asserting that an array contains 'section1'.


Но я точно знаю что в списке этого селекта эта секция есть. Просто по умолчанию там ничего не выбрано.

upd. Дебагом я понял почему так происходит. У меня на форме два селекта, связанных друг с другом. Т.е. сначала второй селект пустой и недоступный для выбора пока не выберешь одну из опций в первом. После чего подгружаются опции во второй. Я предварительно выбрал опцию в первом методом $I->selectOption, но почему-то толи она так не выбралась, толи не подгрузилось во втором, но во втором пусто... Я html глянул через $I->grabPageSource() перед вызовом $I->seeInFormFields. Не знаю как быть... В браузере все работает корректно. Возможно тестер выбирает опцию как-то не так как пользователь. Без лишних кликов на которые ориентируется javascript чтобы подгрузить во второй select опции.
  • Вопрос задан
  • 91 просмотр
Пригласить эксперта
Ваш ответ на вопрос

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

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