TestCafe Role не возвращается на указанную страницу фикстуры - PullRequest
1 голос
/ 13 июля 2020

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

Цели:

  1. Использовать роль для входа в систему
  2. Вернуться к page.libraryScreen после использования роли.

Вот мой код:

fixture`Library /all`.page(page.libraryScreen).beforeEach(async t => {
  await t.useRole(page.adminUser);
});

test('Search Bar', async t => {
  const searchIcon = Selector('div').withAttribute('class', 'CampaignsPage-fab1');
  const microAppNameInput = Selector('input').withAttribute('placeholder', 'Search');
  const microAppTitle = Selector('div').withAttribute('class', 'SetCard-title ').innerText;
  const searchIconElement = searchIcon.with({ visibilityCheck: true })();

  await t
    .click(searchIconElement)
    .typeText(microAppNameInput, testMicroAppTitle)
    .expect(microAppTitle)
    .eql(testMicroAppTitle);
});

1 Ответ

2 голосов
/ 13 июля 2020

Кажется, мне нужно было использовать {preserveUrl: true} в роли. Например:

this.adminUser = Role(
  this.loginScreen,
  async t => {
    const emailInput = Selector('input').withAttribute('placeholder', 'Email');
    const passwordInput = Selector('input').withAttribute('placeholder', 'Password');

    await t
      .typeText(emailInput, this.email)
      .typeText(passwordInput, this.password)
      .click(this.submit);
  },
  { preserveUrl: true }
);
...