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
Uso
const browser = await synthetics.launch();
Arguments
options
opciones
Devuelve
La promesa <Browser>
en la que Browser
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
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
Devuelve
La promesa <Page> en la que Page es una instancia de Page
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 lanzamientolaunch
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
ofail
, 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
yDuration
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.