diff --git a/playwright-tests/pages/BasePage.ts b/playwright-tests/pages/BasePage.ts index a1e068af..d8452aec 100644 --- a/playwright-tests/pages/BasePage.ts +++ b/playwright-tests/pages/BasePage.ts @@ -96,24 +96,23 @@ export class BasePage { } async logReferralNumber() { - let mainSessionStorage = JSON.parse(await this.page.evaluate('sessionStorage.getItem(\'main\')')); - let referralNumber = mainSessionStorage.order.referralNumber as number; - let referralSequenceNumber = mainSessionStorage.order.referralSequenceNumber as number; - if (referralNumber == null) { - for (let i = 1; i <= 20; i++) { - if (referralNumber !== null) break; - await this.page.waitForTimeout(500); - mainSessionStorage = JSON.parse(await this.page.evaluate('localStorage.getItem(\'main\')')); - referralNumber = mainSessionStorage.order.referralNumber as number; - referralSequenceNumber = mainSessionStorage.order.referralSequenceNumber as number; - } + let referralNumber: number | null = null; + let referralSequenceNumber: number | null = null; + for (let i = 0; i < 3; i++) { + const main = JSON.parse(await this.page.evaluate(() => sessionStorage.getItem('main')) ?? 'null'); + referralNumber = main?.order?.referralNumber ?? null; + referralSequenceNumber = main?.order?.referralSequenceNumber ?? null; + if (referralNumber !== null) break; + await this.page.waitForTimeout(500); + } + if (referralNumber === null) { + console.warn('Referral Number could not be retrieved after retries.'); + return; } - await test.step(`Referral Number:${referralNumber} Referral Sequence Number:${referralSequenceNumber}`, async () => { console.log(`Referral Number:${referralNumber}`); console.log(`Referral Sequence Number:${referralSequenceNumber}`); }); - } async validateURL(issPageValue: string) {