Тестирование сеанса входа в систему с Behat

Я тестирую XML и JSON REST API с Behat. Для аутентификации я использую часовой. Теперь, если я вхожу в систему через Behat и проверяю состояние сеанса входа в систему, API возвращает отрицательный ответ (например, пользователь не вошел в систему). Когда я делаю то же самое вручную в браузере, используя запросы AJAX, все работает нормально. Таким образом, конечный результат в порядке, но сценарий не удается. Любые предложения о том, как преодолеть эту проблему?

ОБНОВИТЬ:

Я подробнее расскажу о настройке приложения, которое основано на Тонкий, прут, красноречивый а также часовой.

API имеет несколько маршрутов для создания, отображения (да или нет) и удаления сеанса пользователя. Таким образом, вход в систему пользователя осуществляется путем размещения адреса электронной почты и пароля для /session.json или же /session.xml, За кулисами контроллер будет в основном вызывать Sentinel::authenticate(...),

Все это прекрасно работает в браузере. Если я выполню запрос GET /session.json, Я увижу, что пользователь залогинен правильно. Если я выполню те же действия с Behat, я получу правильное возвращаемое значение в запросе POST, поэтому Sentinel говорит, что пользователь вошел в систему. Но запрос GET сообщит мне, что пользователь не вошел в систему.

Чтобы дать вам представление, сценарий Behat выглядит примерно так:

Scenario Outline: Logging in a user
Given I have a user with "<email>" and "<password>"And I use the "<format>" format
When I log in the user with "<email>" and "<password>"Then the "success" message should be "session.active"
Examples:
| email | password | format |
| a@b.c | 32165487 | xml    |
| c@b.a | 89056734 | json   |

В контексте я использую Запросы библиотека для выполнения запросов. Так что Бехат действует как постоянный клиент.

0

Решение

Не могли бы вы дать больше информации о настройке беата? behat.yml и версия, расширения?

0

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

Других решений пока нет …

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