Questo documento descrive i modelli e il codice campione disponibili per aiutarti a creare monitor sintetici. Le funzioni di esempio sono disponibili nel
Google Cloud/synthetics-sdk-nodjs
repository GitHub.
Se scrivi test e non ti basi su un modello, assicurati che il test superi, a meno che non venga generato un Error
. Ti consigliamo di utilizzare la libreria Assert
per assicurarti che, in caso di errori, questi vengano attribuiti alla riga di codice corretta.
Modelli generici
I modelli generici sono configurati per raccogliere i dati delle tracce e dei log per le richieste HTTP in uscita. La soluzione sfrutta il modulo auto-instrumentation-node di OpenTelemetry e il logger Winston. A causa della dipendenza dai prodotti open source, è normale che la struttura dei dati delle tracce e dei log subisca modifiche. Pertanto, i dati delle tracce e dei log raccolti devono essere utilizzati solo a scopo di debug.
Puoi implementare il tuo approccio per raccogliere i dati delle tracce e dei log per le richieste HTTP in uscita. Per un esempio di approccio personalizzato, consulta la classe SyntheticAutoInstrumentation
.
Esempio generico Node.js
L'esempio generic-synthetic-nodejs
illustra come eseguire query su un URL. Questo esempio contiene lo stesso codice della funzione predefinita visualizzata dalla console Google Cloud. Per visualizzare l'esempio completo, fai clic su more_vert Altro e poi seleziona Visualizza su GitHub.
Esempio di TypeScript
L'esempio generic-synthetic-typescript
illustra come eseguire query su un URL. Per visualizzare l'esempio completo, fai clic su more_vert Altro e poi seleziona Visualizza su GitHub.
Modello Puppeteer
Se utilizzi Puppeteer, ti consigliamo di iniziare con l'esempio
generic-puppeteer-nodejs
.
Configurazione richiesta di Puppeteer
Per utilizzare Puppeteer, assicurati di completare i seguenti passaggi:
Includi
.puppeteerrc.cjs
nella directory di origine della funzione Cloud Run:Aggiungi il seguente script al file
package.json
della funzione Cloud Run:"scripts": { "gcp-build": "node node_modules/puppeteer/install.mjs" },
Esempio di Puppeteer
L'esempio generic-puppeteer-nodejs
illustra come utilizzare Puppeteer con la funzione Cloud Run. Per visualizzare l'esempio completo, fai clic su more_vert Altro e poi seleziona Visualizza su GitHub.
Modello Selenium WebDriver
Se utilizzi Selenium WebDriver, ti consigliamo di iniziare con l'esempio
generic-selenium-nodejs
. L'esempio,
disponibile su GitHub, include un file index.js
e package.json
.
Per visualizzare l'esempio completo, fai clic su more_vert Altro e poi seleziona Visualizza su GitHub.
Modello di Moka
Se scrivi test basati sul modello Mocha,
considera se una sequenza di test debba continuare o interrompersi quando si verifica un
errore. Per interrompere una sequenza di test dopo un errore, devi impostare il flag
bail
.
Per un esempio end-to-end che include il deployment di un'API, un set di test Mocha di esempio per gli endpoint dell'API e come configurare il monitoraggio sintetico, consulta il blog Tutorial sul monitoraggio sintetico di Google Cloud.
L'esempio mocha-url-ok
illustra come una funzione Cloud Run può richiamare una suite di test Mocha e fornisce una suite di test di esempio.
Per visualizzare l'esempio completo, fai clic su more_vert Altro e poi seleziona Visualizza su GitHub.
Modello di link inaccessibile
L'esempio broken-links-ok
illustra come configurare un controllore dei link interrotti.
Per questo modello, specifica solo i valori dell'oggetto options
. Questo
oggetto specifica l'URI da testare e i parametri del test.
Se utilizzi Puppeteer, assicurati di completare i passaggi di configurazione di Puppeteer necessari.
Per visualizzare l'esempio completo, fai clic su more_vert Altro e poi seleziona Visualizza su GitHub.
Passaggi successivi
- Creare un monitoraggio sintetico
- Creare un controllo dei link interrotti
- Gestire i monitor sintetici
- Esplorare i risultati del monitoraggio sintetico