En este documento, se describen las plantillas y el código de muestra que están disponibles para ayudarte a crear monitores sintéticos. Las funciones de muestra están disponibles en el repositorio de GitHub de Google Cloud/synthetics-sdk-nodjs
.
Si escribes pruebas y no dependes de una plantilla, asegúrate de que la prueba
pase, a menos que se arroje una Error
. Te recomendamos que uses la biblioteca Assert
para asegurarte de que, cuando se produzcan 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 seguimiento de las solicitudes HTTP salientes. La solución aprovecha el módulo auto-instrumentation-node de OpenTelemetry y el registrador winston. Debido a la dependencia de los productos de código abierto, debes esperar cambios en la estructura de los datos de seguimiento y registro. Por lo tanto, los datos de registro y seguimiento recopilados deben usarse solo con fines de depuración.
Puedes implementar tu propio enfoque para recopilar datos de seguimiento y registro de las solicitudes HTTP salientes. Para ver un ejemplo de un enfoque personalizado, consulta la clase SyntheticAutoInstrumentation
.
Ejemplo genérico de Node.js
En el ejemplo de generic-synthetic-nodejs
, se muestra cómo consultar una URL. Este ejemplo contiene lo mismo que la función predeterminada que muestra la consola de Google Cloud. Para ver la muestra completa, haz clic en more_vert Más y, luego, selecciona Ver en GitHub.
Ejemplo de TypeScript
En el ejemplo de generic-synthetic-typescript
, se muestra cómo consultar una URL. Para ver la muestra completa, haz clic en more_vert Más y, luego, selecciona Ver en GitHub.
Plantilla de Puppeteer
Si usas Puppeteer, considera comenzar con la muestra de generic-puppeteer-nodejs
.
Configuración obligatoria de Puppeteer
Para usar Puppeteer, asegúrate de completar los siguientes pasos:
Incluye
.puppeteerrc.cjs
en el directorio del código fuente de tu función de Cloud Run:Agrega la siguiente secuencia de comandos al archivo
package.json
de tu función de Cloud Run:"scripts": { "gcp-build": "node node_modules/puppeteer/install.mjs" },
Ejemplo de Puppeteer
En la muestra de generic-puppeteer-nodejs
, se muestra cómo usar Puppeteer con tu función de Cloud Run. Para ver la muestra completa, haz clic en more_vert Más y, luego, selecciona Ver en GitHub.
Plantilla de Selenium WebDriver
Si usas Selenium WebDriver, considera comenzar con la muestra de generic-selenium-nodejs
. La muestra, que está disponible en GitHub, incluye un archivo index.js
y package.json
.
Para ver la muestra completa, haz clic en more_vert Más y, luego, selecciona Ver en GitHub.
Plantilla de Moka
Si escribes pruebas que dependen de 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, un paquete de pruebas de Mocha de muestra para los extremos de la API y cómo configurar el monitor sintético, consulta el Instructivo de supervisión sintética de Google Cloud en el blog.
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, haz clic en more_vert Más y, luego, selecciona Ver en GitHub.
Plantilla de vínculo roto
En el ejemplo de broken-links-ok
, se muestra cómo configurar un verificador de vínculos rotos.
Para esta plantilla, solo debes especificar 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, haz clic en more_vert Más y, luego, selecciona Ver en GitHub.
¿Qué sigue?
- Cómo crear un monitor sintético
- Cómo crear un verificador de vínculos rotos
- Administrar monitores sintéticos
- Explora los resultados de los monitores sintéticos