Ce document décrit les modèles et les exemples de code disponibles pour vous aider à créer des surveillances synthétiques. Les exemples de fonctions sont disponibles dans le dépôt GitHub Google Cloud/synthetics-sdk-nodjs
.
Si vous écrivez des tests et que vous ne vous appuyez pas sur un modèle, assurez-vous qu'il réussit à moins qu'une Error
ne soit générée. Nous vous recommandons d'utiliser la bibliothèque Assert
pour vous assurer que lorsque des échecs se produisent, ils 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 les données de trace et de journal des requêtes HTTP sortantes. La solution exploite le module auto-instrumentation-node d'OpenTelemetry et l'enregistreur winston. En raison de la dépendance aux produits Open Source, vous devez vous attendre à des modifications dans la structure des données de trace et de journal. Par conséquent, les données de trace et de journal collectées ne doivent être utilisées qu'à des fins de débogage.
Vous pouvez mettre en œuvre votre propre approche pour collecter les données de trace et de journal 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 la même fonction que la fonction par défaut affichée par la console Google Cloud.
Pour afficher l'exemple generic-synthetic-nodejs
complet, cliquez sur more_vert Plus, puis sélectionnez Afficher sur GitHub:
Exemple TypeScript
L'exemple generic-synthetic-typescript
montre comment interroger une URL.
Pour afficher l'exemple generic-synthetic-typescript
complet, cliquez sur more_vert Plus, puis sélectionnez Afficher sur GitHub:
Modèle Puppeteer
Si vous utilisez Puppeteer, envisagez de commencer avec l'exemple generic-puppeteer-nodejs
.
Configuration de Puppeteer requise
Pour utiliser Puppeteer, procédez comme suit:
Incluez
.puppeteerrc.cjs
dans le répertoire source de votre fonction Cloud:Ajoutez le script suivant au fichier
package.json
de votre fonction Cloud:"scripts": { "gcp-build": "node node_modules/puppeteer/install.mjs" },
Exemple Puppeteer
L'exemple generic-puppeteer-nodejs
montre comment utiliser Puppeteer avec votre fonction Cloud.
Pour afficher l'exemple generic-puppeteer-nodejs
complet, cliquez sur more_vert Plus, puis sélectionnez Afficher sur GitHub:
Modèle Selenium WebDriver
Si vous utilisez Selenium WebDriver, envisagez de commencer par l'exemple generic-selenium-nodejs
. L'exemple, disponible sur GitHub, inclut les fichiers index.js
et package.json
.
Pour afficher l'exemple generic-selenium-nodejs
complet, cliquez sur more_vert Plus, puis sélectionnez Afficher sur GitHub:
Modèle mocha
Si vous écrivez des tests qui reposent 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'option bail
.
Pour obtenir un exemple de bout en bout incluant le déploiement d'une API, un exemple de suite de tests Mocha pour les points de terminaison d'API et la configuration de la surveillance synthétique, consultez le tutoriel Google Cloud Synthetic Monitoring.
L'exemple mocha-url-ok
montre comment une fonction Cloud peut appeler une suite de tests Mocha et fournit un exemple de suite de tests.
Pour afficher l'exemple mocha-url-ok
complet, cliquez sur more_vert Plus, puis sélectionnez Afficher sur GitHub:
Modèle de lien non fonctionnel
L'exemple broken-links-ok
montre comment configurer un vérificateur de liens non fonctionnels.
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. Pour en savoir plus, consultez le code suivant:
Si vous utilisez Puppeteer, assurez-vous de suivre la procédure de configuration Puppeteer requise.
Pour afficher l'exemple broken-links-ok
complet, cliquez sur more_vert Plus, puis sélectionnez Afficher sur GitHub:
Étapes suivantes
- Créer une surveillance synthétique
- Créer un vérificateur de liens non fonctionnels
- Gérer les surveillances synthétiques
- Explorer les résultats de la surveillance synthétique