Funzioni di libreria disponibili per gli script canary Node.js che utilizzano Playwright - Amazon CloudWatch

Funzioni di libreria disponibili per gli script canary Node.js che utilizzano Playwright

Questa sezione descrive le funzioni di libreria disponibili per gli script Canary che utilizzano il runtime Node.js Playwright.

avvio

Questa funzione avvia un browser Chromium utilizzando una funzione di avvio Playwright e restituisce l'oggetto browser. Decomprime i file binari del browser e avvia il browser Chromium utilizzando le opzioni predefinite adatte per un browser headless. Per ulteriori informazioni sulla funzione launch, consulta launch nella documentazione di Playwright.

Utilizzo

const browser = await synthetics.launch();

Arguments (Argomenti)

options options (facoltativo) è un insieme configurabile di opzioni da impostare sul browser.

Valori restituiti

Promise <Browser> dove Browser è un'istanza del browser Playwright.

Se questa funzione viene chiamata nuovamente, un browser aperto in precedenza viene chiuso prima di avviare un nuovo browser. Puoi sovrascrivere i parametri di avvio utilizzati da CloudWatch Synthetics e trasferire parametri aggiuntivi all'avvio del browser. Ad esempio, il seguente frammento di codice avvia un browser con argomenti predefiniti e un percorso eseguibile predefinito, ma con un'area di visualizzazione di 800 x 600 pixel. Per ulteriori informazioni, consulta le opzioni di avvio di Playwright nella documentazione di Playwright.

const browser = await synthetics.launch({ defaultViewport: { "deviceScaleFactor": 1, "width": 800, "height": 600 }});

Puoi anche aggiungere o sostituire i flag Chromium trasmessi per impostazione predefinita al browser. Ad esempio, puoi disabilitare la sicurezza web aggiungendo un flag --disable-web-security per gli argomenti nei parametri di lancio di CloudWatch Synthetics:

// This function adds the --disable-web-security flag to the launch parameters const defaultOptions = await synthetics.getDefaultLaunchOptions(); const launchArgs = [...defaultOptions.args, '--disable-web-security']; const browser = await synthetics.launch({ args: launchArgs });

newPage

La funzione newPage() crea e restituisce una nuova pagina Playwright. Synthetics configura automaticamente una connessione Chrome DevTools Protocol (CDP) per abilitare le acquisizioni di rete per la generazione di archivi HTTP (HAR).

Utilizzo

Usa newPage() in una delle seguenti modalità:

1. Creazione di una nuova pagina in un nuovo contesto del browser:

const page = await synthetics.newPage(browser);

2. Creazione di una nuova pagina in un contesto del browser specificato:

// Create a new browser context const browserContext = await browser.newContext(); // Create a new page in the specified browser context const page = await synthetics.newPage(browserContext)

Arguments (Argomenti)

Accetta l'istanza Playwright Browser o l'istanza Playwright BrowserContext.

Valori restituiti

Promise <Page> dove Page è un'istanza Page di Playwright.

close

Chiude il browser attualmente aperto.

Utilizzo

await synthetics.close();

Si consiglia di chiudere il browser in un blocco finally dello script.

Arguments (Argomenti)

Nessuno

Valori restituiti

Restituisce una Promise<void> utilizzata dalla funzione di avvio di Synthetics per avviare il browser.

getDefaultLaunchOptions

La funzione getDefaultLaunchOptions() restituisce le opzioni di avvio del browser utilizzate da CloudWatch Synthetics.

Utilizzo

const defaultOptions = await synthetics.getDefaultLaunchOptions();

Arguments (Argomenti)

Nessuno

Valori restituiti

Restituisce le opzioni di avvio di Playwright utilizzate dalla funzione launch di Synthetics per avviare il browser.

executeStep

La funzione executeStep viene utilizzata per eseguire un passaggio in uno script Synthetics. In CloudWatch Synthetics, un passaggio di Synthetics rappresenta un modo per suddividere lo script canary in una serie di azioni chiaramente definite, che consentono di monitorare separatamente diverse parti del percorso applicativo. Per ogni passaggio, CloudWatch Synthetics esegue le seguenti operazioni:

  • Cattura automaticamente uno screenshot prima dell'inizio del passaggio e dopo il completamento di un passaggio. Puoi anche catturare schermate all'interno di un passaggio. Le schermate sono acquisite per impostazione predefinita, ma possono essere disattivate utilizzando le configurazioni di Synthetics (Todo: Link).

  • Per ogni esecuzione canary viene creato un report che include un riepilogo dei dettagli relativi all'esecuzione di un passaggio, ad esempio la durata, lo stato pass o fail, gli URL delle pagine di origine e di destinazione, gli screenshot associati, ecc. Quando scegli un'esecuzione nella console CloudWatch Synthetics, puoi visualizzare i dettagli di esecuzione di ogni passaggio nella scheda Passaggio.

  • Le metriche CloudWatch SuccessPercent e Duration vengono emesse per ogni fase, consentendo agli utenti di monitorare la disponibilità e la latenza di ogni passaggio.

Utilizzo

await synthetics.executeStep("mystepname", async function () { await page.goto(url, { waitUntil: 'load', timeout: 30000 }); }
Nota

I passaggi dovrebbero essere eseguiti in sequenza. Assicurati di usare await on-premises.

Arguments (Argomenti)

  • Stringa stepName (obbligatorio) (booleano): nome del passaggio di Synthetics.

  • Funzione asincrona functionToExecute (obbligatoria): la funzione che desideri che venga eseguita da Synthetics. Questa funzione dovrebbe contenere la logica per il passaggio.

  • Oggetto stepConfig (facoltativo): la configurazione del passaggio sovrascrive la configurazione globale di Synthetics per questo passaggio.

    • Booleano continueOnStepFailure (facoltativo): indica se continuare l'esecuzione dello script canary dopo che questo passaggio ha esito negativo.

    • Booleano screenshotOnStepStart (facoltativo): indica se fare uno screenshot all'inizio di questo passaggio.

    • Booleano screenshotOnStepSuccess (facoltativo): indica se fare uno screenshot dopo che questo passaggio ha esito positivo.

    • Booleano screenshotOnStepFailure (facoltativo): indica se fare uno screenshot dopo che questo passaggio ha esito negativo.

  • page: oggetto pagina di Playwright (facoltativo)

    Un oggetto pagina di Playwright. Synthetics utilizza questo oggetto pagina per acquisire screenshot e URL. Per impostazione predefinita, Synthetics utilizza la pagina Playwright creata quando viene chiamata la funzione synthetics.newPage() per acquisire dettagli della pagina come screenshot e URL.

Valori restituiti

Restituisce una Promise che si risolve con il valore restituito dalla funzione functionToExecute. Per uno script di esempio, consulta Codice di esempio per gli script canary in questa guida.