Testcafe - проблема с перенаправлением - PullRequest
0 голосов
/ 20 октября 2018

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

Как мне этого добиться?

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

Есть предложения?

Ответы [ 2 ]

0 голосов
/ 22 октября 2018

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

const role1 = Role(basePage, {
    // do smth
});

const role2 = Role(loginPage, {
    // login
});

test('test', async t => {
    await t.useRole(role1); // state is saved
    await t.useRole(role2); // 
    await t.useRole(role1); // state is restored
})

Если этот подход не соответствует вашим потребностям, вы можете попробовать написать некоторую пользовательскую логику для сохранения/ восстановить состояние.Пожалуйста, перейдите по этой ссылке https://github.com/DevExpress/testcafe/issues/2142, чтобы увидеть пример пользовательского решения, как сохранить / восстановить localStorage через CustomFunctions.

0 голосов
/ 22 октября 2018

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

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

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

...