SeeInField находит элемент, а fillField — нет — CodeCeption

Я совершенно новичок в CodeCeption. У меня есть приведенный ниже html внутри тела,

<div><input type="text" name="content_id" id="contentId" maxlength="10" value="123"></div>

В приемочном тесте CodeCeption у меня есть код ниже

`<?php 
$I = new AcceptanceTester($scenario);
$I->wantTo('fillfield test');
$I->amOnPage('/');
$I->seeInField('#contentId', 123);
$I->fillField('#contentId', 222397);
?>`

Тест seeInField проходит успешно, но fillField выдает ошибку

К сожалению, мне не удалось заполнить поле "#contentId", 222397
InvalidArgumentException: Текущий список узлов пуст

Это останавливает меня от дальнейших действий. Помогите мне в этом.


person Kamalakannan J    schedule 22.06.2014    source источник


Ответы (1)


Наконец-то получил ответ на свой вопрос. Я использовал модуль PhpBrowser для тестирования, он не позволит пользователю заполнять поля, которых нет внутри формы. И другие вещи, которые они упомянули в Документах,

Общие недостатки PhpBrowser:

  1. Вы можете нажимать только на ссылки с действительными URL-адресами или кнопками отправки формы.
  2. Вы не можете заполнять поля, которые не находятся внутри формы
  3. Вы не можете работать с взаимодействиями JavaScript: модальные окна, средства выбора даты и т. д.,
person Kamalakannan J    schedule 22.06.2014
comment
Каким было ваше решение использовать Codeception для взаимодействия с JS? - person Ali Gajani; 29.03.2015
comment
Спасибо. Я пытался заполнить поля ввода без формы. - person Beto Aveiga; 02.10.2017