Funciones de la biblioteca disponibles para los scripts de canarios de Node.js con Playwright - Amazon CloudWatch

Funciones de la biblioteca disponibles para los scripts de canarios de Node.js con Playwright

En esta sección se describen las funciones de biblioteca disponibles para los scripts de canarios que utilizan el tiempo de ejecución de Playwright para Node.js.

lanzamiento

Esta función inicia un navegador Chromium mediante una función de lanzamiento de Playwright y devuelve el objeto del navegador. Descomprime los archivos binarios del navegador y lanza el navegador Chromium mediante las opciones predeterminadas adecuadas para un navegador sin periféricos. Para obtener más información sobre la función launch, consulte launch en la documentación de Playwright.

Uso

const browser = await synthetics.launch();

Arguments

options opciones (opcional) es un conjunto configurable de opciones para el navegador.

Devuelve

La promesa <Browser> en la que Browser es una instancia de navegador de Playwright.

Si se vuelve a llamar a esta función, se cierra un navegador abierto anteriormente antes de iniciar un navegador nuevo. Se pueden anular los parámetros de lanzamiento que utiliza CloudWatch Synthetics y pasar parámetros adicionales al lanzar el navegador. Por ejemplo, el siguiente fragmento de código lanza un navegador con argumentos predeterminados y una ruta ejecutable predeterminada, pero con una ventana gráfica de 800 x 600 píxeles. Para obtener más información, consulte las opciones de lanzamiento de Playwright en la documentación de Playwright.

const browser = await synthetics.launch({ defaultViewport: { "deviceScaleFactor": 1, "width": 800, "height": 600 }});

También puede agregar o anular los marcadores de Chromium que se envían de forma predeterminada al navegador. Por ejemplo, puede deshabilitar la seguridad web si agrega un indicador --disable-web-security a los argumentos en los parámetros de lanzamiento de CloudWatch Synthetics:

// This function adds the --disable-web-security flag to the launch parameters const defaultOptions = await synthetics.getDefaultLaunchOptions(); const launchArgs = [...defaultOptions.args, '--disable-web-security']; const browser = await synthetics.launch({ args: launchArgs });

newPage

La función newPage() crea y devuelve una nueva página de Playwright. Synthetics configura automáticamente una conexión de Chrome DevTools Protocol (CDP) para permitir las capturas de red para la generación de archivos (HAR) HTTP.

Uso

Utilice newPage() en cualquiera de las siguientes maneras:

1. Crear una página nueva en un nuevo contexto de navegador:

const page = await synthetics.newPage(browser);

2. Crear una página nueva en un contexto de navegador especificado:

// Create a new browser context const browserContext = await browser.newContext(); // Create a new page in the specified browser context const page = await synthetics.newPage(browserContext)

Arguments

Acepta la instancia de Browser o BrowserContext de Playwright.

Devuelve

La promesa <Page> en la que Page es una instancia de Page de Playwright.

close

Cierra el navegador actualmente abierto.

Uso

await synthetics.close();

Se recomienda cerrar el navegador en un bloque finally del script.

Arguments

Ninguno

Devuelve

Devuelve la promesa <void> que se utiliza en la función de lanzamiento de Synthetics para lanzar el navegador.

getDefaultLaunchOptions

La función getDefaultLaunchOptions() muestra los resultados de las opciones de lanzamiento del navegador que CloudWatch Synthetics utiliza.

Uso

const defaultOptions = await synthetics.getDefaultLaunchOptions();

Arguments

Ninguno

Devuelve

Devuelve las opciones de lanzamiento de Playwright que se utilizan en la función launch de Synthetics para lanzar el navegador.

executeStep

La función executeStep se usa para ejecutar un paso en un script de Synthetics. En CloudWatch Synthetics, un paso de Synthetics es una forma de dividir el script de canario en una serie de acciones claramente definidas, lo que le permite supervisar distintas partes del recorrido de la aplicación por separado. Para cada paso, CloudWatch Synthetics hace lo siguiente:

  • Hace automáticamente una captura de pantalla antes de iniciar y completar el paso. También puede hacer capturas de pantalla dentro de un paso. Las capturas de pantalla se hacen de forma predeterminada, pero se pueden desactivar mediante las configuraciones de Synthetics (Todo: Link).

  • Para cada ejecución de canarios, se crea un informe que incluye un resumen de los detalles de la ejecución de los pasos, como la duración de un paso, el estado pass o fail, las URL de las páginas de origen y destino, las capturas de pantalla asociadas, etc. Al elegir una ejecución en la consola de CloudWatch Synthetics, puede ver los detalles de ejecución de cada paso en la pestaña Paso.

  • Las métricas de CloudWatch SuccessPercent y Duration se emiten para cada paso, lo que permite a los usuarios supervisar la disponibilidad y la latencia de cada paso.

Uso

await synthetics.executeStep("mystepname", async function () { await page.goto(url, { waitUntil: 'load', timeout: 30000 }); }
nota

Los pasos deben ejecutarse de forma secuencial. Asegúrese de usar await en las promesas.

Arguments

  • Cadena stepName (obligatoria) (booleano): nombre del paso de Synthetics.

  • Función asíncrona functionToExecute (obligatoria): la función que quiere que ejecute Synthetics. Esta función debe contener la lógica del paso.

  • Objeto stepConfig (opcional): la configuración del paso anula la configuración global de Synthetics para este paso.

    • Booleano continueOnStepFailure (opcional): indica si se debe continuar ejecutando el script de canarios después de que se produzca un error en este paso.

    • Booleano screenshotOnStepStart (opcional): si se toma una captura de pantalla al inicio de este paso.

    • Booleano screenshotOnStepSuccess (opcional): si se toma una captura de pantalla si este paso es correcto.

    • Booleano screenshotOnStepFailure (opcional): si se toma una captura de pantalla si se produce un error en este paso.

  • page: objeto de página de Playwright (opcional)

    Objeto de página de Playwright. Synthetics usa este objeto de página para hacer capturas de pantalla y URL. De forma predeterminada, Synthetics usa la página de Playwright que se crea cuando se llama a la función synthetics.newPage() para capturar detalles de la página, como capturas de pantalla y URL.

Devuelve

Devuelve una promesa que se resuelve con el valor que devuelve la función functionToExecute. Para ver un script de ejemplo, consulte Código de muestra para scripts de valores controlados en esta guía.