Имеет ли смысл verifyText () для элемента, который только что выполнил type () на нем? - PullRequest
3 голосов
/ 31 мая 2011

Мне интересно, возможен ли следующий функциональный тест. Я работаю с PHPUnit_Extensions_SeleniumTestCase с Selenium-RC здесь, но принцип (я думаю) должен применяться везде.

Предположим, я выполняю следующую команду для определенного div:

function testInput() {
    $locator = $this->get_magic_locator(); // for the sake of abstraction
    $this->type( $locator, "Beatles" ); // Selenium API call
    $this->verifyText( $locator, "Beatles" ); // Selenium API call
}

Концептуально, я чувствую, что этот тест должен работать. Я ввожу данные в определенное поле и просто хочу убедиться, что текст теперь существует как введено .

Однако результаты моего теста (утверждение verifyText не удалось) показывают, что содержимое элемента $locator пусто, даже после ввода.

There was 1 failure:

1) test::testInput
Failed asserting that <string:> matches PCRE pattern "/Beatles/".`

Кто-нибудь еще пробовал что-нибудь подобное? Должно ли это работать? Я делаю простую ошибку?

Ответы [ 2 ]

2 голосов
/ 01 июня 2011

Вы должны использовать verifyValue(locator,texttoverify) вместо verifyText(locator,value) для проверки значений текстового поля

1 голос
/ 02 июня 2011

Чтобы ответить на ваш первоначальный вопрос («Имеет ли это смысл ...»), ну, может быть.В этот момент вы тестируете способность браузера реагировать на нажатия клавиш, что было бы неубедительно.Если у вас нет некоторого кода JavaScript, связанного с некоторыми свойствами поля, в этом случае это может быть очень важно.

Стандартный ответ программиста - «Это зависит».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...