Ce document décrit les modèles et les exemples de code disponibles pour vous aider à créer des moniteurs synthétiques. Les exemples de fonctions sont disponibles dans le
Google Cloud/synthetics-sdk-nodjs dépôt GitHub.
Si vous écrivez des tests et que vous ne vous appuyez pas sur un modèle, assurez-vous que votre test
réussit, sauf si un Error est généré. Nous vous recommandons
d'utiliser la bibliothèque Assert pour vous assurer que
les échecs sont attribués à la ligne de code appropriée.
Modèles génériques
Les modèles génériques sont configurés pour collecter des données de traces et de journaux pour les requêtes HTTP sortantes. La solution exploite le module OpenTelemetry auto-instrumentation-node et le journaliseur Winston. En raison de la dépendance vis-à-vis des produits Open Source, vous devez vous attendre à des modifications dans la structure des données de traces et de journaux. Par conséquent, les données de traces et de journaux collectées ne doivent être utilisées qu'à des fins de débogage.
Vous pouvez implémenter votre propre approche pour collecter des données de traces et de journaux pour les requêtes HTTP sortantes. Pour obtenir un exemple d'approche personnalisée,
consultez la classe SyntheticAutoInstrumentation.
Exemple Node.js générique
L'exemple generic-synthetic-nodejs montre
comment interroger une URL. Cet exemple contient le même que la fonction par défaut
affichée par la Google Cloud console. Pour afficher l'exemple complet, sélectionnez le logo GitHub dans la barre d'outils de l'exemple.
Exemple TypeScript
L'exemple generic-synthetic-typescript
montre comment interroger une URL. Pour afficher l'exemple complet, sélectionnez le logo GitHub dans la barre d'outils de l'exemple.
Modèle Puppeteer
Si vous utilisez Puppeteer, envisagez de commencer par l'exemple
generic-puppeteer-nodejs.
Configuration Puppeteer requise
Pour utiliser Puppeteer, assurez-vous de suivre les étapes suivantes :
Incluez
.puppeteerrc.cjsdans le répertoire source de votre fonction Cloud Run :Ajoutez le script suivant au fichier
package.jsonde votre fonction Cloud Run :"scripts": { "gcp-build": "node node_modules/puppeteer/install.mjs" },
Exemple Puppeteer
L'exemple generic-puppeteer-nodejs montre comment
utiliser Puppeteer avec votre fonction Cloud Run. Pour afficher l'exemple complet, sélectionnez le logo GitHub dans la barre d'outils de l'exemple.
Modèle Selenium WebDriver
Si vous utilisez Selenium WebDriver, envisagez de commencer par l'exemple
generic-selenium-nodejs. L'exemple, disponible sur GitHub, inclut un fichier index.js et un fichier package.json.
Pour afficher l'exemple complet, sélectionnez le logo GitHub dans la barre d'outils de l'exemple.
Modèle Mocha
Si vous écrivez des tests qui s'appuient sur le modèle Mocha,
déterminez si une séquence de tests doit se poursuivre ou s'arrêter en cas d'
échec. Pour arrêter une séquence de tests après un échec, vous devez définir l'
bail indicateur.
Pour obtenir un exemple de bout en bout qui inclut le déploiement d'une API, un exemple de suite de tests Mocha pour les points de terminaison de l'API et la configuration du moniteur synthétique, consultez le blog Google Cloud Synthetic Monitoring Tutorial.
L'exemple mocha-url-ok montre comment
une fonction Cloud Run peut appeler une
suite de tests Mocha et fournit un exemple de suite de tests.
Pour afficher l'exemple complet, sélectionnez le logo GitHub dans la barre d'outils de l'exemple.
Modèle de lien rompu
L'exemple broken-links-ok
montre comment configurer un vérificateur de liens rompus.
Pour ce modèle, vous ne spécifiez que les valeurs de l'objet options. Cet objet spécifie l'URI à tester et les paramètres du test.
Si vous utilisez Puppeteer, assurez-vous de suivre les étapes de configuration Puppeteer requises.
Pour afficher l'exemple complet, sélectionnez le logo GitHub dans la barre d'outils de l'exemple.
Étape suivante
- Créer un moniteur synthétique
- Créer un vérificateur de liens rompus
- Gérer les moniteurs synthétiques
- Explorer les résultats des moniteurs synthétiques