Enfrenté un comportamiento poco claro en la expectativa de Playwright 1.18 toBeVisible(). Aquí está la fila de prueba:
await expect(this.page.locator('.top-row .close i')).toBeVisible({timeout: 2000 })Y si el elemento no es visible, se cuelga para siempre.
Si salto al código toBeTruthy.js -> toBeTruthy , veo que el tiempo de espera se calcula en 0 a pesar de las opciones recibidas:
Y por alguna razón, existe el tiempo de espera actual del _toMatchText utilizado. ¿Es esto un error o estoy haciendo algo mal?
Paquete.json:
"devDependencies": { "@playwright/test": "^1.18", "allure-commandline": "^2.17.2", "allure-playwright": "^2.0.0-beta.14", "rimraf": "3.0.2" }Configuración del dramaturgo:
import { PlaywrightTestConfig, devices } from '@playwright/test'; const config: PlaywrightTestConfig = { testDir: './spec', timeout: 10 * 1000, expect: { timeout: 3 * 1000 }, forbidOnly: !!process.env.CI, retries: process.env.CI ? 2 : 0, workers: process.env.CI ? 5 : 1, reporter: [ ['line'], ['json', { outputFile: './test-results/results.json' }], ['./util/test-start-stop-reporter.ts'], ['allure-playwright'] ], use: { baseURL: 'http://localhost:8080', screenshot: 'only-on-failure', channel: 'chrome', //https://playwright.dev/docs/browsers#chromium headless: false, viewport: { width: 1820, height: 950 }, ignoreHTTPSErrors: true, video: 'retain-on-failure', actionTimeout: 5 * 1000, navigationTimeout: 30 * 1000, launchOptions: { args: ['--window-position=1980,10'], devtools: process.env.PWDEBUG ? true : false, }, }, projects: [ { name: 'Google Chrome', use: { channel: 'chrome', }, }, ], outputDir: 'test-results/', }; export default config;