Требует ли TestCafe вызов useRole в каждом тесте / beforeEach

Неизменяемые объекты - это те объекты, состояние которых не может быть изменено после их создания, например, класс String является неизменяемым классом.

Особенности неизменяемых классов:

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

Ключи для записи неизменяемого класса:

  • убедитесь, что класс нельзя переопределить
  • сделать все переменные-члены private & amp; final
  • не дают своих методов настройки
  • ссылка на объект не должна просачиваться во время фазы строительства
4
задан Alex Skorkin 1 March 2019 в 10:17
поделиться

1 ответ

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

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

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

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

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

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

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

0
ответ дан hdorgeval 1 March 2019 в 10:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: