как проверить корректность значения в поле?

codeception
php
Теги: #<Tag:0x00007f7b61c88500> #<Tag:0x00007f7b61c88370>

(A) #1

CODECEPTION
помимо iseeInField() есть еще возможность проверить корректность внесенного ранее значения в поле? подскажите как проверить?


(Yaroslav Pernerovskyy) #2

а это вообще откуда ?


(A) #3

codeception


(Andrey) #4

А чем не устраивает метод seeInField()?


(A) #5

Я запускал в режиме debug - пишет что значения не совпадают! И в поле, и в методе я указал идентичные данные… на русском языке (например, если в поле значение - “Тест 1234”, то и в методе я указываю, что хочу видеть “Тест 1234” - все равно пишет что значения не совпадают…)! может быть есть еще какой-нибудь метод? Спасибо!*)


(елена бырканова) #6

Выведите в консоль оба значения , и сравните. Часто после ввода в поле добавляются/удаляются пробельные символы. Может проблема в этом.


(Bearded Bear) #7
  1. Подключаешь модуль Asserts (почитать про него можно тут http://codeception.com/docs/modules/Asserts)
  2. Грабишь значение из поля
    $text = $I->grabValueFrom('locator_of_your_input');
  3. Ассертом проверяешь совпадает ли $text какому-то значению
    $I->assertEquals($text, 'your value');

(Bearded Bear) #8

Но если я не ошибаюсь, то команда seeInField работает точно по такому же принципу. Так что скорее всего результат будет идентичен


(A) #9

Спасибо! Буду пробовать!


(Ирина Патиевец) #10

Я так нахожу
$value=$I->grabValueFrom(‘input[value=авто]’);

Не подскажите, на сколько это правильно?


(Bearded Bear) #12

Не совсем. В данном случае, если в поле значение не “авто” - то вернётся эксепшн на отсутствие такого элемента.

Замените локатор - ищите инпут не по value, а например по id, class или другому атрибуту.


(Ирина Патиевец) #13

Спасибо, я выше ввожу “авто” и хочу его же и получить.
Выше предложенный вами способ не сработал.


(A) #14

$value=$I->grabTextFrom(‘input[value=авто]’);
так пробовали?
если не получается по xpath попробуйте по CSS


(Ирина Патиевец) #16

Спасибо. Вообще печалька. Никак не получается

  $I->fillField(['name' => 'text'], 'дом');
       $I->wait(2);
        //Проверка кнопки "Найти"
       $I->click('.form-group');
       $I->wait(3);

      $I->grabTextFrom('input[value=дом]');
или

      $text = $I->grabTextFrom('actions-filter__searchtext > input:nth-child(1)[@value=дом]');
или
      $text=$I->grabValueFrom('input[value=дом]');
      $I->assertEquals($text, 'дом');

code

[/quote]

И главное на другой странице у меня эта строчка работает
$text=$I->grabValueFrom(‘input[value=авто]’);

И там и там одно и тоже поле.


(Ирина Патиевец) #17

Нашла такую проверку. Подходит

$I->seeInField([‘name’ => ‘text’], ‘дом’);
если в поле другое значение, то выводит ошибку