TestCafe - браузер всегда запускается с чистого листа между тестами.Как переопределить это, чтобы браузер запоминал кеш, пользовательские настройки и хранилище - PullRequest
3 голосов
/ 10 июля 2019

Браузер между тестами всегда открыт с чистого листа.Логин запоминается в моем приложении, так как аутентификация сохраняется, но, поскольку браузер всегда открыт с чистого листа, я должен выполнить вход в систему перед подключением всех приборов.Можно ли как-нибудь открыть браузер, чтобы запоминать пользовательские настройки, кеш, локальное хранилище и хранилище сеансов?

Ответы [ 2 ]

4 голосов
/ 12 июля 2019

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

2 голосов
/ 19 июля 2019

Вот как я решил использовать Role API.

Файл объекта страницы Login.js

const loginBtn = Selector('[type="submit"]');
const password = Selector('input[placeholder="Password"]');
const userName = Selector('input[placeholder="Email"]');
export const login = Role(`http://example.com/login`, async t => {
  await t
    .typeText(userName, `abc`)
    .typeText(password, `password`)
    .click(loginBtn);
});

Затем я вызвал этот const Login в моем файле фикстур, как показано ниже: fixture.js

import { login } from '../page-objects/login';
fixture('Example Fixture').beforeEach(async t => {
  await t.useRole(login).navigateTo('url of the page that you want to open');
});
...