In diesem Dokument werden die Vorlagen und der Beispielcode beschrieben, die Ihnen beim Erstellen synthetischer Monitore helfen. Die Beispielfunktionen sind im GitHub-Repository Google Cloud/synthetics-sdk-nodjs
verfügbar.
Wenn Sie Tests schreiben und keine Vorlage verwenden, muss Ihr Test bestanden werden, es sei denn, es wird eine Error
geworfen. Wir empfehlen die Verwendung der Assert
-Bibliothek, damit Fehler der richtigen Codezeile zugeordnet werden können.
Allgemeine Vorlagen
Die generischen Vorlagen sind so konfiguriert, dass Trace- und Protokolldaten für ausgehende HTTP-Anfragen erfasst werden. Die Lösung nutzt das OpenTelemetry-Modul auto-instrumentation-node und den Winston-Logger. Aufgrund der Abhängigkeit von Open-Source-Produkten sollten Sie mit Änderungen an der Struktur von Trace- und Protokolldaten rechnen. Daher sollten die erfassten Trace- und Protokolldaten nur zu Debug-Zwecken verwendet werden.
Sie können Ihren eigenen Ansatz zur Erfassung von Trace- und Protokolldaten für ausgehende HTTP-Anfragen implementieren. Ein Beispiel für einen benutzerdefinierten Ansatz finden Sie in der Klasse SyntheticAutoInstrumentation
.
Generisches Node.js-Beispiel
Im generic-synthetic-nodejs
-Beispiel wird gezeigt, wie eine URL abgefragt wird. Dieses Beispiel enthält dasselbe wie die Standardfunktion, die in der Google Cloud Console angezeigt wird. Wenn Sie sich das vollständige Beispiel ansehen möchten, klicken Sie auf more_vert Mehr und wählen Sie dann Auf GitHub ansehen aus.
TypeScript-Beispiel
Im Beispiel für generic-synthetic-typescript
wird gezeigt, wie eine URL abgefragt wird. Wenn Sie sich das vollständige Beispiel ansehen möchten, klicken Sie auf more_vert Mehr und wählen Sie dann Auf GitHub ansehen aus.
Puppeteer-Vorlage
Wenn Sie Puppeteer verwenden, sollten Sie mit dem Beispiel generic-puppeteer-nodejs
beginnen.
Erforderliche Puppeteer-Einrichtung
Führen Sie die folgenden Schritte aus, um Puppeteer zu verwenden:
Fügen Sie
.puppeteerrc.cjs
in das Quellverzeichnis Ihrer Cloud Run-Funktion ein:Fügen Sie der Datei
package.json
Ihrer Cloud Run-Funktion das folgende Script hinzu:"scripts": { "gcp-build": "node node_modules/puppeteer/install.mjs" },
Puppeteer-Beispiel
Im Beispiel generic-puppeteer-nodejs
wird gezeigt, wie Sie Puppeteer mit Ihrer Cloud Run-Funktion verwenden. Wenn Sie sich das vollständige Beispiel ansehen möchten, klicken Sie auf more_vert Mehr und wählen Sie dann Auf GitHub ansehen aus.
Selenium WebDriver-Vorlage
Wenn Sie Selenium WebDriver verwenden, sollten Sie mit dem Beispiel generic-selenium-nodejs
beginnen. Das Beispiel, das auf GitHub verfügbar ist, enthält eine index.js
- und eine package.json
-Datei.
Wenn Sie sich das vollständige Beispiel ansehen möchten, klicken Sie auf more_vert Mehr und wählen Sie dann Auf GitHub ansehen aus.
Moka-Vorlage
Wenn Sie Tests schreiben, die auf der Mocha-Vorlage basieren, sollten Sie überlegen, ob eine Testreihe fortgesetzt oder beendet werden soll, wenn ein Fehler auftritt. Wenn Sie eine Testabfolge nach einem Fehler beenden möchten, müssen Sie das Flag bail
setzen.
Ein End-to-End-Beispiel, das das Bereitstellen einer API, eine Beispiel-Mocha-Testsuite für die API-Endpunkte und die Konfiguration des synthetischen Monitors umfasst, finden Sie im Blogpost Google Cloud Synthetic Monitoring Tutorial.
Das Beispiel mocha-url-ok
veranschaulicht, wie eine Cloud Run-Funktion eine Mocha-Test-Suite aufrufen kann. Außerdem enthält es eine Beispiel-Test-Suite.
Wenn Sie sich das vollständige Beispiel ansehen möchten, klicken Sie auf more_vert Mehr und wählen Sie dann Auf GitHub ansehen aus.
Vorlage für fehlerhafte Links
Im Beispiel broken-links-ok
wird gezeigt, wie eine Prüfung auf fehlerhafte Links konfiguriert wird.
Für diese Vorlage geben Sie nur die Werte des options
-Objekts an. Dieses Objekt gibt den zu testenden URI und die Testparameter an.
Wenn Sie Puppeteer verwenden, müssen Sie die erforderlichen Puppeteer-Einrichtungsschritte ausführen.
Wenn Sie sich das vollständige Beispiel ansehen möchten, klicken Sie auf more_vert Mehr und wählen Sie dann Auf GitHub ansehen aus.
Nächste Schritte
- Synthetischen Monitor erstellen
- Link-Checker erstellen
- Synthetische Monitore verwalten
- Ergebnisse synthetischer Monitore analysieren