Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este artículo se tratan los problemas que pueden surgir al ejecutar pruebas de Playwright a escala con microsoft Playwright Testing Preview.
Importante
Microsoft Playwright Testing se encuentra actualmente en versión preliminar. Para conocer los términos legales que se aplican a las características de Azure que se encuentran en la versión beta, en versión preliminar o que todavía no se han publicado para que estén disponibles con carácter general, consulte los Términos de uso complementarios para las versiones preliminares de Microsoft Azure.
Se produce un 401 Unauthorized
error en las pruebas
El token de acceso puede no ser válido o expirado. Asegúrese de que usa el token de acceso correcto o genere un nuevo token de acceso.
Las pruebas se ejecutan lentamente
Microsoft Playwright Testing hospeda los exploradores remotos en regiones específicas de Azure. Si la máquina cliente o la aplicación web de destino están fuera de estas regiones, es posible que experimente un aumento de la latencia de red. Obtenga información sobre cómo puede optimizar la latencia regional para el área de trabajo.
Parece que las pruebas se bloquean
Las pruebas pueden bloquearse debido a un fragmento de código que está pausando involuntariamente la ejecución de la prueba. Por ejemplo, es posible que haya agregado instrucciones de pausa durante la depuración de la prueba.
Busque cualquier instancia de pause()
instrucciones en el código y comentelas.
Se producen errores en las pruebas debido a un tiempo de espera
Las pruebas podrían agotar el tiempo de espera debido a los siguientes motivos:
El equipo cliente está en una región diferente a la de los exploradores.
Conectar a los exploradores hospedados por el servicio introduce la latencia de red. Es posible que tenga que aumentar los valores de tiempo de espera en la configuración de Playwright. Comience por aumentar la configuración de tiempo de espera de prueba en
playwright.service.config.ts
.Los archivos de seguimiento provocan problemas de rendimiento (actualmente un problema conocido).
El envío de los archivos de seguimiento de Playwright desde el servicio al equipo cliente puede crear congestión, lo que puede provocar un error en las pruebas debido a un tiempo de espera. Puede deshabilitar el seguimiento en el archivo de configuración de Playwright.
No se pueden probar las aplicaciones web hospedadas detrás del firewall
Asegúrese de establecer la exposeNetwork
opción en el playwright.service.config.ts
archivo para que la red esté disponible en el equipo cliente en el explorador en la nube. Los valores de ejemplo de esta opción son: <loopback>
para la red localhost, *
para exponer todas las redes o la dirección IP/DNS del punto de conexión de la aplicación.
Obtenga más información sobre cómo probar aplicaciones implementadas localmente.
La hora que se muestra en el explorador es diferente de la hora local
Las aplicaciones web a menudo muestran la hora en función de la ubicación del usuario. Al ejecutar pruebas con Microsoft Playwright Testing, el equipo cliente y los exploradores de servicios pueden estar en regiones diferentes.
Puede mitigar el problema especificando la zona horaria en el archivo de configuración de Playwright.
Error en la prueba con Path is not available when connecting remotely
Es posible que encuentre el Path is not available when connecting remotely
error al ejecutar las pruebas de Playwright en exploradores remotos con Microsoft Playwright Testing. Por ejemplo, al probar la funcionalidad para descargar un archivo en el código de prueba.
La causa de este problema es que la path()
función de la instancia de archivo de descarga no está disponible cuando se ejecuta en exploradores remotos.
Para resolver este problema, debe usar la saveAs()
función para guardar una copia local del archivo en el equipo cliente. Obtenga más información sobre las descargas en la documentación de Playwright.
El siguiente fragmento de código proporciona un ejemplo de cómo usar saveAs()
en lugar de path()
para leer el contenido de un archivo descargado:
const downloadPromise = page.waitForEvent('download');
await page.getByText('Download file').click();
const download = await downloadPromise;
// FAILS: download.path() fails when connecting to a remote browser
// const result = fs.readFileSync(await download.path(), 'utf-8');
// FIX: use saveAs() to download the file, when connecting to a remote browser
await download.saveAs('/path/to/save/at/' + download.suggestedFilename());