I'm manually setting auth cookies for my login purpose and I would like to share the Auth token across my tests. The very first time I have to perform a login in a test and then I have to save the auth token in a variable and share it across the test files.
Here is the code snippet to explain what and how I'm trying to do:
loginTest.js :
let authToken = null;
fixture`Login test`
.page(inputData.url)
.beforeEach(async (t) => {
const nextMonth = new Date();
nextMonth.setMonth(nextMonth.getMonth() + 1);
await t.navigateTo(inputData.url).then(await setCookie('AUTH_COOKIE_ID', authToken, nextMonth));
});
test
.before(async () => {
await loginPage.login(inputData.firstUserEmailId, inputData.firstUserPassword);
authToken = await getCookie('AUTH_COOKIE_ID');
})('Verify login test', async (t) => {
await loginPage.goToPeople(personName);
await t
.expect(loginPage.personName.exists)
.ok();
});
Now, after the test I have the actual authToken
(not null) and if I have to share the authToken
variable across all my tests in all my files then how to I do? with this code design I can share authToken
in the same file (test suite).
PS: In case, people are wondering on why I'm doing setting cookie instead of using useRole
. Just to let you know that the useRole
didn't work in my setup as the application sets the cookie manually in my local env so I have to manually set the cookie as a login workaround.
Aucun commentaire:
Enregistrer un commentaire