Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Utilizzo dei blueprint dei canary
Questa sezione fornisce dettagli su ciascuno dei blueprint dei canary e sulle attività per cui il blueprint è più adatto. I piani sono forniti per i seguenti tipi di Canary:
-
Monitoraggio dell'heartbeat
-
Canary API
-
Controllo collegamento interrotto
-
Monitoraggio visivo
-
Registratore di Canary
-
Flusso di lavoro dell'interfaccia utente grafica
Quando si utilizza un blueprint per creare un canary, mentre si compilano i campi nella console CloudWatch, l'area Editor script della pagina visualizza il canary che si sta creando come script Node.js. Puoi anche modificare il canary in quest'area per personalizzarlo ulteriormente.
Monitoraggio dell'heartbeat
Gli script Hearbeat caricano l'URL specificato e memorizzano uno screenshot della pagina e un file di archivio HTTP (file HAR). Inoltre memorizzano i log degli accessi. URLs
È possibile utilizzare i file HAR per visualizzare dati dettagliati sulle prestazioni delle pagine Web. Puoi analizzare l'elenco delle richieste Web e rilevare problemi di prestazioni, ad esempio il tempo di caricamento di un elemento.
Se il tuo canary utilizza la versione di runtime syn-nodejs-puppeteer-3.1
o una versione successiva, puoi utilizzare il blueprint di monitoraggio del battito cardiaco per monitorarne più URLs e visualizzare lo stato, la durata, le schermate associate e il motivo dell'errore di ciascun URL nel riepilogo dei passaggi del rapporto Canary Run.
Canary API
I canary API possono testare le funzioni di lettura e scrittura di base di una REST API. REST sta per trasferimento di stato rappresentativo ed è un insieme di regole che gli sviluppatori seguono durante la creazione di un'API. Una di queste regole afferma che un collegamento a un URL specifico deve restituire una parte di dati.
Canaries può funzionare con qualsiasi tipo di funzionalità APIs e testarne tutti i tipi. Ogni canary può effettuare più chiamate API.
Nei canari che utilizzano una versione runtime syn-nodejs-2.2
o successiva, il modello API Canary supporta canary in più fasi che monitorano i passaggi HTTP. APIs Puoi testarne più APIs di uno in un unico canarino. Ogni passaggio è una richiesta separata che può accedere a un URL diverso, utilizzare intestazioni diverse e utilizzare regole diverse per l'acquisizione di intestazioni e corpi di risposta. Non catturando intestazioni e corpo della risposta, è possibile impedire la registrazione di dati sensibili.
Ogni richiesta in un canary dell'API comprende le seguenti informazioni:
-
L'endpoint, ovvero l'URL richiesto.
-
Il metodo, che è il tipo di richiesta che viene inviata al server. REST APIs supporta le operazioni GET (lettura), POST (scrittura), PUT (aggiornamento), PATCH (aggiornamento) e DELETE (eliminazione).
-
Le intestazioni, che forniscono informazioni sia al client che al server. Vengono utilizzate per l'autenticazione e per fornire informazioni sul contenuto del corpo. Per un elenco di intestazioni valide, consulta Intestazioni HTTP
. -
I dati (o corpo), che contengono informazioni da inviare al server. Questo viene utilizzato solo per le richieste POST, PUT, PATCH o DELETE.
Nota
I blueprint API Canary non sono supportati dai runtime di Playwright.
Il blueprint del canary API supporta i metodi GET e POST. Quando utilizzi questo blueprint, devi specificare le intestazioni. Ad esempio, puoi specificare Authorization
come chiave e specificare i dati di autorizzazione necessari come valore per tale chiave.
Se si sta testando una richiesta POST, si specifica anche il contenuto da pubblicare nel campo Dati .
Integrazione con API Gateway
Il blueprint API è integrato con Amazon API Gateway. Ciò ti consente di selezionare un'API Gateway API e lo stage dallo stesso AWS account e dalla stessa regione di Canary, oppure di caricare un modello Swagger da API Gateway per il monitoraggio delle API tra account e regioni diverse. Puoi quindi scegliere il resto dei dettagli nella console per creare il canary, invece di inserirli da zero. Per ulteriori informazioni su API Gateway, consulta Che cos'è Amazon API Gateway?
Utilizzo di un'API privata
È possibile creare un canary che utilizzi un'API privata in Amazon API Gateway. Per ulteriori informazioni, consulta la pagina Creazione di un'API privata in Amazon API Gateway?
Controllo collegamento interrotto
Il controllo dei collegamenti interrotti raccoglie tutti i collegamenti all'interno dell'URL che si sta testando tramite document.getElementsByTagName('a')
. Verifica solo fino al numero di collegamenti specificato e l'URL stesso viene conteggiato come primo collegamento. Ad esempio, se si desidera controllare tutti i collegamenti in una pagina contenente cinque collegamenti, è necessario specificare che il canary segua sei collegamenti.
I canary di controllo del collegamento interrotto creati utilizzando la versione runtime syn-nodejs-2.0-beta
o versioni successive supportano le caratteristiche aggiuntive elencate di seguito:
-
Fornisce un report che include i collegamenti controllati, il codice di stato, il motivo dell'errore (se presente) e le schermate della pagina di origine e di destinazione.
-
Quando si visualizzano i risultati del canary, è possibile filtrarli per visualizzare solo i collegamenti interrotti e quindi correggere il collegamento in base al motivo dell'errore.
-
Questa versione cattura screenshot della pagina sorgente annotata per ogni collegamento ed evidenzia l'ancoraggio in cui è stato trovato il collegamento. I componenti nascosti non vengono annotati.
-
Puoi configurare questa versione per acquisire screenshot di entrambe le pagine di origine e di destinazione, solo pagine di origine o solo pagine di destinazione.
-
Questa versione risolve un problema nella versione precedente in cui lo script canary si interrompe dopo il primo collegamento interrotto anche quando più collegamenti vengono estratti dalla prima pagina.
Nota
I blueprint di Broken Link Checker non sono supportati dai runtime di Playwright.
Per aggiornare un canarino esistente utilizzando syn-1.0
il nuovo runtime, è necessario eliminare e ricreare il canarino. L'aggiornamento di un canary esistente al nuovo runtime non rende disponibili queste funzionalità.
Un canary di controllo del collegamento interrotto rileva i seguenti tipi di errori di collegamento:
404 Pagina non trovata
Nome host non valido
URL errato. Ad esempio, nell'URL manca una parentesi, ha barre aggiuntive o è il protocollo sbagliato.
Codice di risposta HTTP non valido.
Il server host restituisce risposte vuote senza contenuto e senza codice di risposta.
Le richieste HTTP vanno costantemente in timeout durante l'esecuzione del canary.
L'host elimina costantemente le connessioni perché non è configurato correttamente o è troppo occupato.
Blueprint di monitoraggio visivo
Il blueprint di monitoraggio visivo include il codice per confrontare gli screenshot acquisiti durante un'esecuzione del canary con gli screenshot acquisiti durante un'esecuzione del canary di riferimento. Se la discrepanza tra i due screenshot supera una percentuale di soglia, il canary fallisce. Il monitoraggio visivo è supportato nei canari con versione syn-puppeteer-node-3.2 e versioni successive. Attualmente non è supportato nei canari che eseguono Python e Selenium o che utilizzano i runtime Playwright.
Il blueprint di monitoraggio visivo include la seguente riga di codice nello script canary del blueprint predefinito, che consente il monitoraggio visivo.
syntheticsConfiguration.withVisualCompareWithBaseRun(true);
La prima volta che il canary viene eseguito correttamente dopo che questa riga è stata aggiunta allo script, utilizza gli screenshot acquisiti durante l'esecuzione come riferimento per il confronto. Dopo la prima esecuzione di Canary, puoi utilizzare la CloudWatch console per modificare il canarino per eseguire una delle seguenti operazioni:
Imposta l'esecuzione successiva del canary come nuovo riferimento.
Disegna dei limiti sullo screenshot di riferimento corrente per designare le aree dello screenshot da ignorare durante i confronti visivi.
Rimuovi uno screenshot dall'utilizzo per il monitoraggio visivo.
Per ulteriori informazioni sull'utilizzo della CloudWatch console per modificare un canarino, consulta. Modifica o eliminazione di un canary
Puoi anche modificare la canary run utilizzata come linea di base utilizzando i lastrun
parametri nextrun
o o specificando un ID Canary Run nell'API. UpdateCanary
Quando utilizzi il blueprint di monitoraggio visivo, immetti l'URL in cui desideri acquisire lo screenshot e specifica una soglia di differenza come percentuale. Dopo l'esecuzione di riferimento, le esecuzioni future del canary che rilevano una differenza visiva maggiore di quella soglia attivano un errore del canary. Dopo l'esecuzione di riferimento, puoi anche modificare il canary per “disegnare” i limiti sullo screenshot della linea di base che desideri ignorare durante il monitoraggio visivo.
La funzionalità di monitoraggio visivo è alimentata dal toolkit software ImageMagick open source. Per ulteriori informazioni, consulta ImageMagick
Registratore di Canary
Con il progetto Canary Recorder, è possibile utilizzare CloudWatch Synthetics Recorder per registrare le azioni di clic e digitazione su un sito Web e generare automaticamente uno script Node.js che può essere utilizzato per creare un canarino che segue gli stessi passaggi. CloudWatchSynthetics Recorder è un'estensione di Google Chrome fornita da Amazon. Il registratore Canary non è supportato per i canarini che utilizzano il runtime Playwright.
Crediti: Il CloudWatch Synthetics Recorder è basato sul registratore Headless.
Per ulteriori informazioni, consulta Utilizzo del CloudWatch Synthetics Recorder per Google Chrome.
Generatore di flussi di lavoro GUI
Il blueprint di GUI Workflow Builder verifica che le azioni possono essere eseguite nella pagina Web. Ad esempio, se si dispone di una pagina Web con un modulo di accesso, il canary può compilare i campi utente e password e inviare il modulo per verificare che la pagina Web funzioni correttamente.
Quando utilizzi un blueprint per creare questo tipo di canary, si specificano le azioni che si desidera che il canary esegua nella pagina Web. Le azioni che è possibile utilizzare sono le seguenti:
Click (Fai clic): seleziona l'elemento specificato e simula un utente che fa clic o sceglie l'elemento.
Per specificare l'elemento in uno script Node.js, utilizza
[id=]
oa[class=]
.Per specificare l'elemento in uno script Python, utilizza
xpath //*[@id=]
o//*[@class=]
.Verify selector (Verifica selettore): verifica che l'elemento specificato esista nella pagina Web. Questo test è utile per verificare che un'azione precedente ha permesso agli elementi corretti di popolare la pagina.
Per specificare l'elemento per verificare uno script Node.js, utilizza
[id=]
oa[class=]
.Per specificare l'elemento per verificare uno script Python, utilizza
xpath //*[@id=]
o//*[class=]
.Verify text (Verifica testo): verifica che la stringa specificata sia contenuta all'interno dell'elemento di destinazione. Questo test è utile per verificare che un'azione precedente abbia portato alla visualizzazione del testo corretto.
Per specificare l'elemento un uno script Node.js, utilizza un formato ad esempio
div[@id=]//h1
, perché questa azione utilizza la funzionewaitForXPath
in Puppeteer.Per specificare l'elemento in uno script Python, utilizza il formato xpath ad esempio
//*[@id=]
o //*[@class=] perché questa azione utilizza la funzioneimplicitly_wait
in Selenium.Input text (Testo di input): scrive il testo specificato nell'elemento di destinazione.
Per specificare l'elemento per verificare uno script Node.js, utilizza
[id=]
oa[class=]
.Per specificare l'elemento per verificare uno script Python, utilizza
xpath //*[@id=]
o//*[@class=]
.Click with navigation (Fai clic con la navigazione): attende il caricamento dell'intera pagina dopo aver scelto l'elemento specificato. Questo è molto utile quando è necessario ricaricare la pagina.
Per specificare l'elemento in uno script Node.js, utilizza
[id=]
oa[class=]
.Per specificare l'elemento in uno script Python, utilizza
xpath //*[@id=]
o//*[@class=]
.
Ad esempio, il blueprint riportato di seguito utilizza Node.js. Fa clic sul pulsante firstButton nell'URL specificato, verifica che venga visualizzato il selettore previsto con il testo previsto, immette il nome Test_Customer
nel campo Name (Nome), fa clic sul pulsante Login (Accedi) e verifica quindi che l'accesso abbia esito positivo controllando il testo di benvenuto nella pagina successiva.
I canary del flusso di lavoro GUI che utilizzano i seguenti runtime forniscono anche un riepilogo dei passaggi eseguiti per ogni esecuzione del canary. Puoi utilizzare le schermate e il messaggio di errore associati a ogni passaggio per trovare la causa principale dell'errore.
syn-nodejs-2.0
o versione successivasyn-python-selenium-1.0
o versione successiva