getToken = async () => {
            const tryGetToken = () => {
                try {
                    const email = assert.sentEmail({
                        subject: /[0-9]{6} is your Ghost sign in verification code/
                    });
                    return email.subject.match(/[0-9]{6}/)[0];
                } catch (error) {
                    return null;
                }
            };

            const timeout = ms => new Promise((resolve) => {
                setTimeout(resolve, ms);
            });
            let timeoutMs = 10;
            let timeoutRetries = 5;

            while (timeoutRetries > 0) {
                const token = tryGetToken();
                if (token) {
                    return token;
                }
                await timeout(timeoutMs);
                timeoutMs *= 2;
                timeoutRetries -= 1;
            }

            return null;
        }
@type {import('@playwright/test').TestType<
     import('@playwright/test').PlaywrightTestArgs &
     import('@playwright/test').PlaywrightTestOptions &
     import('@playwright/test').PlaywrightWorkerArgs &
     import('@playwright/test').PlaywrightWorkerOptions
 >}
@property {import('@playwright/test').Page} sharedPage