Неверно сформированная траектория поля & quot; (InvalidArgumentException)

Я использую Behat для автоматического тестирования и добавил Mink с его драйвером Goutte.
Я использую последнюю версию Behat и Mink.

Я добавил расширение Mink в файл контекста компонента, и оно работает, когда я запускаю простую функцию, такую ​​как:

Feature:...
Scenario: See A Blog Post
Given I am on the homepage
And I follow "login"Then I should be on "/login"And I should see "Login"

Однако, когда я пытаюсь сделать следующий шаг и заполнить некоторые поля:

    And I fill in "username" with "admin"

Где имя пользователя:

<input class="input-field" type="text" id="username"/>

Я получаю следующую ошибку:

Malformed field path "" (InvalidArgumentException)

Любая помощь будет высоко ценится,

Спасибо!

1

Решение

Это потому что у вас нет name="username" атрибут на вашем поле. У меня похожая проблема, но я пытаюсь протестировать экземпляр Stripe, который не может иметь атрибутов имени. Кажется id а также title не работают.

3

Другие решения

Отмеченный ответ исправил это для меня.

Я также обнаружил, что вы можете заполнять формы, используя следующий синтаксис:

When I fill in the following:
| username            | admin              |
| email               | myemail@domain.com |
| password            | 5uP3r5ecUr3P4s5w0rD|

Я также создал пользовательскую функцию FeatureContext, чтобы помочь найти другие элементы:

protected function findElementBySelector($selector)
{
$page = $this->getSession()->getPage();
$element = $page->find('css', $selector);

if (null === $element) {
throw new \Exception(
sprintf('Element with %s not found.', $selector));
}

return $element;
}

Эта функция использовалась другими для поиска элемента и выполнения над ним действия:

/**
* @Then I click the element :selector
*/
public function iClickTheElement($selector)
{
$link = $this->findElementBySelector($selector);
$link->click();
}

Я использовал это в моей .feature, как это:

And I ...
And I click the element ".my-link"Then I ...

Где .my-link = <a href="http://domain.com" class="my-link">My Link</a>

Ссылка ниже помогла создать мою пользовательскую функцию FeatureContext:
http://mink.behat.org/en/latest/guides/traversing-pages.html

0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector