diff --git a/.github/workflows/playwright.yml b/.github/workflows/playwright.yml index c308bce6..77ee381e 100644 --- a/.github/workflows/playwright.yml +++ b/.github/workflows/playwright.yml @@ -35,15 +35,6 @@ jobs: - name: Check Docker logs run: docker-compose logs - - name: Print home page - run: curl http://localhost:8080 - - - name: Check Docker logs - run: docker-compose logs - - - name: Print product page - run: curl https://ruxailab-dev.web.app - - name: Install npm dependencies run: npm ci diff --git a/e2e/ruxailabtest.spec.js b/e2e/ruxailabtest.spec.js index a9862e6a..ff24b37b 100644 --- a/e2e/ruxailabtest.spec.js +++ b/e2e/ruxailabtest.spec.js @@ -42,16 +42,16 @@ const createTest = async (page, type) => { } test('has link page', async ({ page }) => { - await page.goto('/') + await page.goto('http://localhost:8080/signin') // Esperar un elemento específico - await page.waitForSelector('#app', { timeout: 20000 }); + await page.waitForSelector('#app', { timeout: 20000 }) // Tomar una captura de pantalla para verificar el estado de la página - await page.screenshot({ path: 'screenshot.png' }); + await page.screenshot({ path: 'screenshot.png' }) // Ahora verificar el título de la página - await expect(page).toHaveTitle(/RUXAILAB/, { timeout: 20000 }); + await expect(page).toHaveTitle(/RUXAILAB/, { timeout: 20000 }) }) // test('sign and create heurisic test', async ({ page }) => { diff --git a/playwright.config.js b/playwright.config.js index 1c50810c..10e1606d 100644 --- a/playwright.config.js +++ b/playwright.config.js @@ -1,7 +1,7 @@ // @ts-check -const { defineConfig, devices } = require('@playwright/test') +const { defineConfig, devices } = require('@playwright/test'); -const devBaseUrl = 'http://localhost:8080' +const devBaseUrl = 'http://localhost:8080'; module.exports = defineConfig({ testDir: './e2e', @@ -22,13 +22,21 @@ module.exports = defineConfig({ /* Output directory for screenshots of failed tests */ outputDir: './playwright/output', + use: { + baseURL: devBaseUrl, ...devices['Desktop Chrome'], /* Collect trace when retrying the failed test */ trace: 'on-first-retry', /* Create a screenshot if a test fails */ screenshot: { mode: 'only-on-failure', fullPage: true }, + + /* Set global timeout for actions (e.g., click, fill) */ + actionTimeout: 10000, + + /* Set global timeout for navigation */ + navigationTimeout: 30000, }, /* Configure projects for major browsers */ @@ -36,10 +44,23 @@ module.exports = defineConfig({ { name: 'chromium', use: { - baseURL: devBaseUrl, ...devices['Desktop Chrome'], }, retries: 1, }, + { + name: 'firefox', + use: { + ...devices['Desktop Firefox'], + }, + retries: 1, + }, + { + name: 'webkit', + use: { + ...devices['Desktop Safari'], + }, + retries: 1, + }, ], -}) +});