In diesem Dokument werden die Vorlagen und der Beispielcode beschrieben, die Ihnen beim Erstellen synthetischer Monitore zur Verfügung stehen. Die Beispielfunktionen sind im
Google Cloud/synthetics-sdk-nodjs GitHub-Repository verfügbar.
Wenn Sie Tests schreiben und keine Vorlage verwenden, muss Ihr Test
erfolgreich sein, es sei denn, ein Error wird ausgelöst. Wir empfehlen
, die Assert-Bibliothek zu verwenden, damit
Fehler der richtigen Codezeile zugeordnet werden.
Generische Vorlagen
Die generischen Vorlagen sind so konfiguriert, dass Trace- und Logdaten für ausgehende HTTP-Anfragen erfasst werden. Die Lösung nutzt das OpenTelemetry Modul für die automatische Instrumentierung von Node.js und den Winston-Logger. Aufgrund der Abhängigkeit von Open-Source-Produkten können sich Änderungen an der Struktur von Trace- und Logdaten ergeben. Daher sollten die erfassten Trace- und Logdaten nur zu Debugging-Zwecken verwendet werden.
Sie können Ihren eigenen Ansatz implementieren, um Trace- und Logdaten für ausgehende HTTP-Anfragen zu erfassen. Ein Beispiel für einen benutzerdefinierten Ansatz,
finden Sie in der Klasse SyntheticAutoInstrumentation.
Generisches Node.js-Beispiel
Das generic-synthetic-nodejs Beispiel zeigt
wie eine URL abgefragt wird. Dieses Beispiel enthält dasselbe wie die Standardfunktion
die in der Google Cloud Console angezeigt wird. Wenn Sie das vollständige Beispiel sehen möchten, wählen Sie in der Symbolleiste des Beispiels das GitHub-Logo aus.
TypeScript-Beispiel
Das generic-synthetic-typescript Beispiel
zeigt, wie eine URL abgefragt wird. Wenn Sie das vollständige Beispiel sehen möchten, wählen Sie in der Symbolleiste des Beispiels das GitHub-Logo aus.
Puppeteer-Vorlage
Wenn Sie Puppeteer verwenden, sollten Sie mit dem
generic-puppeteer-nodejs Beispiel beginnen.
Erforderliche Puppeteer-Einrichtung
Wenn Sie Puppeteer verwenden möchten, führen Sie die folgenden Schritte aus:
Fügen Sie
.puppeteerrc.cjsin das Quellverzeichnis Ihrer Cloud Run-Funktion ein:Fügen Sie der Datei
package.jsonIhrer Cloud Run-Funktion das folgende Skript hinzu:"scripts": { "gcp-build": "node node_modules/puppeteer/install.mjs" },
Puppeteer-Beispiel
Das generic-puppeteer-nodejs Beispiel zeigt, wie
Sie Puppeteer mit Ihrer Cloud Run-Funktion verwenden. Wenn Sie das vollständige Beispiel sehen möchten, wählen Sie in der Symbolleiste des Beispiels das GitHub-Logo aus.
Selenium WebDriver-Vorlage
Wenn Sie Selenium WebDriver verwenden, sollten Sie mit dem
generic-selenium-nodejs Beispiel beginnen. Das Beispiel, das auf GitHub verfügbar ist, enthält die Dateien index.js und package.json.
Wenn Sie das vollständige Beispiel sehen möchten, wählen Sie in der Symbolleiste des Beispiels das GitHub-Logo aus.
Mocha-Vorlage
Wenn Sie Tests schreiben, die auf der Mocha-Vorlage basieren,
sollten Sie überlegen, ob eine Testsequenz fortgesetzt oder beendet werden soll, wenn ein
Fehler auftritt. Wenn Sie eine Testsequenz nach einem Fehler beenden möchten, müssen Sie das
bail Flag festlegen.
Ein End-to-End-Beispiel, das die Bereitstellung einer API, eine Beispiel-Mocha-Test suite für die API-Endpunkte und die Konfiguration des synthetischen Monitors umfasst, finden Sie im Blog Google Cloud Synthetic Monitoring Tutorial.
Das mocha-url-ok Beispiel zeigt, wie
eine Cloud Run-Funktion eine
Mocha Testsuite aufrufen kann, und enthält eine Beispiel-Testsuite.
Wenn Sie das vollständige Beispiel sehen möchten, wählen Sie in der Symbolleiste des Beispiels das GitHub-Logo aus.
Vorlage für die Prüfung auf fehlerhafte Links
Das broken-links-ok
Beispiel zeigt, wie Sie eine Prüfung auf fehlerhafte Links konfigurieren.
Für diese Vorlage geben Sie nur die Werte des Objekts options an. Dieses Objekt gibt den zu testenden URI und die Parameter des Tests an.
Wenn Sie Puppeteer verwenden, führen Sie die Schritte unter Erforderliche Puppeteer-Einrichtung aus.
Wenn Sie das vollständige Beispiel sehen möchten, wählen Sie in der Symbolleiste des Beispiels das GitHub-Logo aus.
Nächste Schritte
- Synthetischen Monitor erstellen
- Prüfung auf fehlerhafte Links erstellen
- Synthetische Monitore verwalten
- Ergebnisse des synthetischen Monitors ansehen