Questo documento descrive i modelli e il codice campione disponibili per aiutarti a creare monitor sintetici. Le funzioni di esempio sono disponibili nel repository GitHub di Google Cloud/synthetics-sdk-nodjs
.
Se scrivi test e non fai affidamento su un modello, assicurati che il test vada a buon fine, a meno che non venga generato un valore Error
. Ti consigliamo di utilizzare la libreria Assert
per assicurarti che, quando si verificano errori, vengano attribuiti alla riga di codice corretta.
Modelli generici
I modelli generici sono configurati per raccogliere dati di traccia e log per le richieste HTTP in uscita. La soluzione sfrutta il modulo auto-instrumentation-node di OpenTelemetry e il winston logger. A causa della dipendenza dai prodotti open source, dovresti aspettarti modifiche alla struttura dei dati di traccia e log. Pertanto, i dati di traccia e log raccolti devono essere utilizzati solo per scopi di debug.
Puoi implementare il tuo approccio per raccogliere dati di traccia e log per le richieste HTTP in uscita. Per un esempio di approccio personalizzato,
vedi il corso SyntheticAutoInstrumentation
.
Esempio generico Node.js
L'esempio generic-synthetic-nodejs
mostra come eseguire query su un URL. Questo esempio contiene la funzione predefinita
visualizzata dalla console Google Cloud.
Per visualizzare l'esempio completo di generic-synthetic-nodejs
, fai clic su more_vert Altro, quindi seleziona Visualizza su GitHub:
Esempio di TypeScript
L'esempio generic-synthetic-typescript
illustra come eseguire query su un URL.
Per visualizzare l'esempio completo di generic-synthetic-typescript
, fai clic su more_vert Altro, quindi seleziona Visualizza su GitHub:
Modello burattinaio
Se utilizzi Puppeteer, ti consigliamo di iniziare con
l'esempio di generic-puppeteer-nodejs
.
Configurazione richiesta per Puppeteer
Per utilizzare Puppeteer, assicurati di completare i seguenti passaggi:
Includi
.puppeteerrc.cjs
nella directory di origine della tua Cloud Function:Aggiungi lo script seguente al file
package.json
della Cloud Function:"scripts": { "gcp-build": "node node_modules/puppeteer/install.mjs" },
Campione di burattini
L'esempio generic-puppeteer-nodejs
illustra come
utilizzare Puppeteer con la Cloud Function.
Per visualizzare l'esempio completo di generic-puppeteer-nodejs
, fai clic su more_vert Altro, quindi seleziona Visualizza su GitHub:
Modello Selenium WebDriver
Se utilizzi Selenium WebDriver, valuta la possibilità di iniziare con
l'esempio di generic-selenium-nodejs
. L'esempio, disponibile su GitHub, include un file index.js
e package.json
.
Per visualizzare l'esempio completo di generic-selenium-nodejs
, fai clic su more_vert Altro, quindi seleziona Visualizza su GitHub:
Modello Mocha
Se scrivi test che si basano sul modello Mocha, valuta se una sequenza di test deve continuare, o interrompersi, in caso di 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, una suite di test Mocha di esempio per gli endpoint API e come configurare il monitoraggio sintetico, consulta il blog Tutorial sul monitoraggio sintetico di Google Cloud.
L'esempio di mocha-url-ok
illustra come una Cloud Function può richiamare una suite di test Mocha e fornisce una suite di test di esempio.
Per visualizzare l'esempio completo di mocha-url-ok
, fai clic su more_vert Altro, quindi seleziona Visualizza su GitHub:
Modello link inaccessibile
L'esempio di broken-links-ok
illustra come configurare uno strumento di verifica dei link inaccessibili.
Per questo modello, specifichi solo i valori dell'oggetto options
. Questo oggetto specifica l'URI da testare e i parametri del test. Per maggiori dettagli, vedi il seguente codice:
Se utilizzi Puppeteer, assicurati di completare i passaggi per la configurazione obbligatoria di Puppeteer.
Per visualizzare l'esempio completo di broken-links-ok
, fai clic su more_vert Altro, quindi seleziona Visualizza su GitHub:
Passaggi successivi
- Crea un monitoraggio sintetico
- Creare uno strumento di controllo dei link inaccessibili
- Gestire i monitor sintetici
- Esplora i risultati del monitoraggio sintetico