TestCafe: роль пользователя выходит из системы в первом тесте - PullRequest
1 голос
/ 07 января 2020

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

const accountUser = Role('https://localhost:9000', async (t) => {
  await t.wait(1000);
  await loginPage.login(inputData.emailId, inputData.password);
}, { preserveUrl: true });

fixture`login-test`
  .meta('testingType', 'regression')
  .requestHooks(mock)

test('Add a person', async (t) => {
  await t.useRole(accountUser);
  await loginPage.goToPeopleList(inputData.testAccountFirst);

test('Unable to add a person', async (t) => {
  await t.useRole(accountUser);
  await loginPage.goToPeopleList(inputData.testAccountFirst);

Ошибка:

✖ Add a person

   1) The specified selector does not match any element in the DOM tree.

       > | Selector('td')
         |   .withText('automation test')

      Browser: Chrome 79.0.3945 / Mac OS X 10.14.6

         258 |  }
         259 |
         260 |  async goToPeopleList(account) {
         261 |    // people list
         262 |    await t
       > 263 |      .click(accountManager.selectTestAccount(account))

Что происходит здесь:

  • тест 1: пользователь вошел в систему и затем происходит сбой при await loginPage.goToPeopleList(inputData.testAccountFirst);, потому что пользователь вышел из системы
  • тест 2: пользователь даже не вошел в систему и ожидает уже авторизованную страницу, поэтому происходит сбой на шаге await loginPage.goToPeopleList(inputData.testAccountFirst);

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

Я не знаю, почему пользователь вышел из системы сразу после этого шага await t.useRole(accountUser);. Токен аутентификации сохраняется в cook ie после входа в систему, когда я вижу его вручную. По крайней мере, я ожидаю, что первый тест пройдёт, поскольку он уже вошел в систему пользователя.

...