Я пытаюсь реализовать роль пользователя в моих существующих тестах, так как я не хочу входить в каждый тест. Вот как выглядят мои тесты:
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 после входа в систему, когда я вижу его вручную. По крайней мере, я ожидаю, что первый тест пройдёт, поскольку он уже вошел в систему пользователя.