Las plantillas preconfiguradas y el código de muestra te permiten compilar monitores sintéticos en Node.js y TypeScript con frameworks como Puppeteer, Selenium WebDriver y Mocha. Puedes usar estas muestras, disponibles en el repositorio de GitHub synthetics-sdk-nodejs, para consultar URLs, ejecutar recorridos del usuario basados en el navegador, probar extremos de API o verificar si hay vínculos rotos.
Lineamientos para usar muestras y escribir pruebas personalizadas
Antes de implementar una muestra o escribir una prueba personalizada, revisa los siguientes requisitos:
- Actualiza la URL de destino: Antes de implementar cualquier código de muestra, actualiza el campo
urlpara que apunte a tu extremo de destino. No establezcas este campo enhttps://www.google.com. - Lanza un
Errorsi falla la prueba: Si escribes pruebas personalizadas en lugar de usar una plantilla, asegúrate de que la prueba se apruebe, a menos que se lance unError. Te recomendamos que uses la bibliotecaAssertpara que las fallas se atribuyan a la línea de código correcta.
Plantillas genéricas
Las plantillas genéricas están configuradas para recopilar datos de registro y de seguimiento de las solicitudes HTTP salientes. La solución aprovecha el módulo auto-instrumentation-node de OpenTelemetry y el registrador de Winston. Debido a la dependencia de los productos de código abierto, es posible que se produzcan cambios en la estructura de los datos de registro y de seguimiento. Por lo tanto, los datos de registro y de seguimiento recopilados solo deben usarse con fines de depuración.
Puedes implementar tu propio enfoque para recopilar datos de registros y de seguimiento de solicitudes HTTP salientes. Para ver un ejemplo de un enfoque personalizado, consulta la clase SyntheticAutoInstrumentation.
Muestra genérica de Node.js
En el ejemplo de generic-synthetic-nodejs, se ilustra cómo consultar una URL. Esta muestra contiene el mismo código que la función predeterminada que muestra la consola de Google Cloud . Para ver la muestra completa, selecciona el logotipo de GitHub en la barra de herramientas de la muestra.
Muestra de TypeScript
En el ejemplo de generic-synthetic-typescript, se ilustra cómo consultar una URL. Para ver la muestra completa, selecciona el logotipo de GitHub en la barra de herramientas de la muestra.
Plantilla de Puppeteer
Si usas Puppeteer, considera comenzar con el ejemplo de generic-puppeteer-nodejs.
Configuración obligatoria de Puppeteer
Para usar Puppeteer, asegúrate de completar los siguientes pasos:
Incluye
.puppeteerrc.cjsen el directorio del código fuente de tu función de Cloud Run:Agrega la siguiente secuencia de comandos al archivo
package.jsonde tu función de Cloud Run:"scripts": { "gcp-build": "node node_modules/puppeteer/install.mjs" },
Ejemplo de Puppeteer
En el ejemplo de generic-puppeteer-nodejs, se ilustra cómo usar Puppeteer con tu función de Cloud Run. Para ver la muestra completa, selecciona el logotipo de GitHub en la barra de herramientas de la muestra.
Plantilla de Selenium WebDriver
Si usas Selenium WebDriver, considera comenzar con la muestra generic-selenium-nodejs. La muestra, que está disponible en GitHub, incluye archivos index.js y package.json.
Para ver la muestra completa, selecciona el logotipo de GitHub en la barra de herramientas de la muestra.
Plantilla de Mocha
Si escribes pruebas que se basan en la plantilla Mocha, considera si una secuencia de pruebas debe continuar o detenerse cuando se produce una falla. Para detener una secuencia de pruebas después de una falla, debes establecer la marca bail.
Para ver un ejemplo de extremo a extremo que incluye la implementación de una API, la escritura de un paquete de pruebas de Mocha de muestra para los endpoints de la API y la configuración del monitor sintético, consulta el blog Google Cloud Tutorial de Supervisión sintética.
La muestra mocha-url-ok ilustra cómo una función de Cloud Run puede invocar un paquete de pruebas de Mocha y proporciona un paquete de pruebas de muestra.
Para ver la muestra completa, selecciona el logotipo de GitHub en la barra de herramientas de la muestra.
Plantilla de vínculo roto
En el ejemplo de broken-links-ok, se ilustra cómo configurar un verificador de vínculos rotos.
En esta plantilla, solo especificas los valores del objeto options. Este objeto especifica el URI que se probará y los parámetros de la prueba.
Si usas Puppeteer, asegúrate de completar los pasos de la configuración obligatoria de Puppeteer.
Para ver la muestra completa, selecciona el logotipo de GitHub en la barra de herramientas de la muestra.
¿Qué sigue?
- Crea un monitor sintético
- Cómo crear un verificador de vínculos rotos
- Administra monitores sintéticos
- Explora los resultados de los monitores sintéticos