Требует ли TestCafe вызов useRole в каждом тесте / beforeEach - PullRequest
0 голосов
/ 28 февраля 2019

Я оцениваю TestCafe для приложения, которое требует аутентификации пользователя.Документация не очень ясна, и у меня были проблемы с получением прямого ответа о том, как мы должны использовать useRole.

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

Я определил Role, и он аутентифицируется правильно.Но я заметил следующее:

  1. Мне нужно вызвать useRole сначала в каждый тест, чтобы использовать аутентифицированный сеанс
  2. Каждый раз *Вызывается 1014 * (первый в каждом тесте). TestCafe возвращает браузер к исходному URL-адресу для входа (или к тому, что preserveUrl сохраняет после входа в систему)

Являются ли какие-либо из этих утверждений неправильными?Я не могу себе представить, как это работает в реальной среде, это безумное количество переадресаций.

Пункт 2 кажется правильным, автор devexpress github ответил: «В настоящее время TestCafe не может использовать роль без перезагрузки или запусканавигация по страницам ", поэтому, если мне нужно вызывать useRole в каждом тесте, который буквально удваивает нагрузку по навигации HTTP.

1 Ответ

0 голосов
/ 01 марта 2019

Целью useRole является аутентификация в приложении только один раз (для каждого пользователя): это означает, что вы увидите страницу входа в первый тест, а все остальные тесты начнутся непосредственно на странице приложения с участием пользователя.уже аутентифицирован.

Проблема в том, что каждый тест выполняется в песочнице.Песочница для теста, а не для прибора.Это означает, что когда тест начинает выполняться, он запускается в новой песочнице без файлов cookie и без локального хранилища.

Единственный способ повторно применить файлы cookie и локальное хранилище - позвонить по номеру useRole.Вот почему useRole должен вызываться в начале каждого теста.

useRole - это огромная экономия времени.Когда я начал работать с TestCafe (более года назад) useRole не существовало, и каждый тест начинался с подачи страницы входа.

useRole еще более полезен, когда вам нужно переключиться,внутри теста, между разными пользователями.

А затем, чтобы закончить, да, useRole перезагружает страницу приложения, потому что каждый тест начинается в песочнице без истории страниц.

Что вы ищетеfor - это функция, которой не существует: не перезагружать страницу между тестами.Если вы не хотите каждый раз перезагружать страницу, все тесты выполняйте одним test методом.

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