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 dépôt GitHub Google Cloud/synthetics-sdk-nodjs
.
Si vous écrivez des tests sans vous appuyer sur un modèle, assurez-vous
passe à moins qu'une erreur Error
ne soit générée. Nous vous recommandons d'utiliser la bibliothèque Assert
pour vous assurer que, en cas d'échec, 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 les requêtes HTTP sortantes. La solution s'appuie sur le module auto-instrumentation-node d'OpenTelemetry et le journal Winston. En raison de la dépendance aux produits Open Source, vous devez vous attendre à des changements 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 implémenter votre propre approche pour collecter des données de trace et de journalisation pour les requêtes HTTP sortantes. Pour obtenir un exemple d'approche personnalisée,
consultez la classe SyntheticAutoInstrumentation
.
Exemple de code Node.js générique
L'exemple generic-synthetic-nodejs
illustre
comment interroger une URL. Cet exemple contient la même fonction que la fonction par défaut
affichées par la console Google Cloud. Pour afficher l'exemple complet, cliquez sur more_vert More (Plus).
puis sélectionnez Afficher sur GitHub.
Exemple TypeScript
L'exemple generic-synthetic-typescript
montre comment interroger une URL. Pour afficher l'exemple complet, cliquez sur more_vert More (Plus).
puis sélectionnez Afficher sur GitHub.
Modèle Puppeteer
Si vous utilisez Puppeteer, envisagez de commencer par la
Exemple de generic-puppeteer-nodejs
.
Configuration Puppeteer requise
Pour utiliser Puppeteer, assurez-vous de suivre les étapes suivantes :
Incluez
.puppeteerrc.cjs
dans le répertoire source de votre Fonction Cloud Run:Ajoutez le script suivant au fichier
package.json
de 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, cliquez sur more_vert More (Plus).
puis sélectionnez Afficher sur GitHub.
Modèle WebDriver pour Selenium
Si vous utilisez Selenium WebDriver, envisagez de commencer par l'exemple generic-selenium-nodejs
. L'échantillon,
qui est disponible sur GitHub, inclut un fichier index.js
et un fichier package.json
.
Pour afficher l'exemple 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, réfléchissez à la question de savoir 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 le paramètre
bail
.
Pour un exemple de bout en bout incluant le déploiement d'une API, un exemple de suite de test Mocha pour les points de terminaison de l'API et la configuration du moniteur synthétique, consultez le blog Tutoriel sur la surveillance synthétique Google Cloud.
L'exemple mocha-url-ok
montre comment
une fonction Cloud Run peut appeler
Mocha et fournit un exemple de suite de tests.
Pour afficher l'exemple complet, cliquez sur more_vert More (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 brisés.
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, veillez à remplir les Étapes de configuration de Puppeteer.
Pour afficher l'exemple complet, cliquez sur more_vert Plus, puis sélectionnez Afficher sur GitHub.
Étape suivante
- Créer une surveillance synthétique
- Créer un outil de vérification des liens brisés
- Gérer la surveillance synthétique
- Explorer les résultats de la surveillance synthétique