From 05a6818439c58a174d2e043b4cc75a8746f433ca Mon Sep 17 00:00:00 2001 From: Anthony LC Date: Tue, 11 Mar 2025 12:12:03 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=A7=91=E2=80=8D=F0=9F=92=BB(e2e)=20displa?= =?UTF-8?q?y=20more=20information=20when=20auth=20fails?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit When the auth fails, it was quite obscure to understand what was going on. We now take a screenshot of the page and display the console logs. --- src/frontend/apps/e2e/.gitignore | 1 + .../e2e/__tests__/app-impress/auth.setup.ts | 39 ++++++++++++------- 2 files changed, 27 insertions(+), 13 deletions(-) diff --git a/src/frontend/apps/e2e/.gitignore b/src/frontend/apps/e2e/.gitignore index 475cf2e2..d248afc8 100644 --- a/src/frontend/apps/e2e/.gitignore +++ b/src/frontend/apps/e2e/.gitignore @@ -4,3 +4,4 @@ report/ blob-report/ playwright/.auth/ playwright/.cache/ +screenshots/ diff --git a/src/frontend/apps/e2e/__tests__/app-impress/auth.setup.ts b/src/frontend/apps/e2e/__tests__/app-impress/auth.setup.ts index 57168af9..a6e18985 100644 --- a/src/frontend/apps/e2e/__tests__/app-impress/auth.setup.ts +++ b/src/frontend/apps/e2e/__tests__/app-impress/auth.setup.ts @@ -12,23 +12,36 @@ const saveStorageState = async ( const context = await browser.newContext(useConfig); const page = await context.newPage(); - await page.goto('/', { waitUntil: 'networkidle' }); - await page.content(); - await expect(page.getByText('Docs').first()).toBeVisible(); + try { + await page.goto('/', { waitUntil: 'networkidle' }); + await page.content(); + await expect(page.getByText('Docs').first()).toBeVisible(); - await keyCloakSignIn(page, browserName); + await keyCloakSignIn(page, browserName); - await expect( - page.locator('header').first().getByRole('button', { - name: 'Logout', - }), - ).toBeVisible(); + await expect( + page.locator('header').first().getByRole('button', { + name: 'Logout', + }), + ).toBeVisible(); - await page.context().storageState({ - path: storageState as string, - }); + await page.context().storageState({ + path: storageState as string, + }); + } catch (error) { + console.log(error); - await browser.close(); + await page.screenshot({ + path: `./screenshots/${browserName}-${Date.now()}.png`, + }); + // Get console logs + const consoleLogs = await page.evaluate(() => + console.log(window.console.log), + ); + console.log(consoleLogs); + } finally { + await browser.close(); + } }; async function globalSetup(config: FullConfig) {