I modelli preconfigurati e il codice campione ti consentono di creare monitor sintetici in
Node.js e TypeScript utilizzando framework come Puppeteer, Selenium WebDriver
e Mocha. Puoi utilizzare questi esempi, disponibili nel repository GitHub synthetics-sdk-nodejs, per eseguire query sugli URL, eseguire percorsi utente basati su browser, testare endpoint API o verificare la presenza di link non funzionanti.
Linee guida per l'utilizzo di esempi e la scrittura di test personalizzati
Prima di eseguire il deployment di un campione o scrivere un test personalizzato, rivedi i seguenti requisiti:
- Aggiorna l'URL di destinazione: prima di eseguire il deployment di qualsiasi codice campione, aggiorna il campo
urlin modo che punti all'endpoint di destinazione. Non impostare questo campo suhttps://www.google.com. - Genera un
Errorin caso di test non riuscito: se scrivi test personalizzati anziché utilizzare un modello, assicurati che il test venga superato a meno che non venga generato unError. Ti consigliamo di utilizzare la libreriaAssertin modo che eventuali 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 OpenTelemetry auto-instrumentation-node e il logger Winston. A causa della dipendenza dai prodotti open source, devi aspettarti modifiche alla struttura dei dati di traccia e log. Pertanto, i dati di traccia e di log raccolti devono essere utilizzati solo a scopo 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 Node.js generico
L'esempio generic-synthetic-nodejs mostra
come eseguire una query su un URL. Questo esempio contiene lo stesso codice della funzione predefinita
visualizzata dalla console Google Cloud . Per visualizzare l'esempio completo, seleziona il logo GitHub nella barra degli strumenti dell'esempio.
Esempio di TypeScript
L'esempio generic-synthetic-typescript
mostra come eseguire una query su un URL. Per visualizzare l'esempio completo, seleziona il logo GitHub nella barra degli strumenti dell'esempio.
Modello Puppeteer
Se utilizzi Puppeteer, ti consigliamo di iniziare con l'esempio
generic-puppeteer-nodejs.
Configurazione di Puppeteer richiesta
Per utilizzare Puppeteer, assicurati di completare i seguenti passaggi:
Includi
.puppeteerrc.cjsnella directory di origine della tua funzione Cloud Run:Aggiungi il seguente script al file
package.jsondella tua funzione Cloud Run:"scripts": { "gcp-build": "node node_modules/puppeteer/install.mjs" },
Esempio di Puppeteer
L'esempio generic-puppeteer-nodejs mostra come utilizzare Puppeteer con la funzione Cloud Run. Per visualizzare l'esempio completo, seleziona il logo GitHub nella barra degli strumenti dell'esempio.
Modello Selenium WebDriver
Se utilizzi Selenium WebDriver, ti consigliamo di iniziare con l'esempio
generic-selenium-nodejs. L'esempio, disponibile su GitHub, include i file index.js e package.json.
Per visualizzare l'esempio completo, seleziona il logo GitHub nella barra degli strumenti dell'esempio.
Modello Mocha
Se scrivi test che si basano sul modello Mocha,
valuta se una sequenza di test deve 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, la scrittura di una suite di test Mocha di esempio per gli endpoint API e la configurazione del monitor sintetico, consulta il post del blog Google Cloud Tutorial sul monitoraggio sintetico.
L'esempio mocha-url-ok mostra 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, seleziona il logo GitHub nella barra degli strumenti dell'esempio.
Modello di link non funzionante
L'esempio broken-links-ok
mostra come configurare un controllo dei link non funzionanti.
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 obbligatoria.
Per visualizzare l'esempio completo, seleziona il logo GitHub nella barra degli strumenti dell'esempio.
Passaggi successivi
- Creare un monitoraggio sintetico
- Creare un controllo dei link non funzionanti
- Gestire i monitor sintetici
- Esplorare i risultati del monitoraggio sintetico