

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à.

# Funzioni di libreria disponibili per gli script canary Node.js che utilizzano Playwright
<a name="CloudWatch_Synthetics_Canaries_Nodejs_Playwright"></a>

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

**Topics**
+ [avvio](#Synthetics_Library_Nodejs_Playwright_functions)
+ [newPage](#Synthetics_Library_Nodejs_Playwright_function_newPage)
+ [close](#Synthetics_Library_Nodejs_Playwright_function_close)
+ [getDefaultLaunchOpzioni](#Synthetics_Library_Nodejs_Playwright_function_getDefaultLaunchOptions)
+ [executeStep](#Synthetics_Library_Nodejs_Playwright_function_executeStep)

## avvio
<a name="Synthetics_Library_Nodejs_Playwright_functions"></a>

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 [https://playwright.dev/docs/api/class-browsertype#browser-type-launch](https://playwright.dev/docs/api/class-browsertype#browser-type-launch) nella documentazione di Playwright.

 **Utilizzo** 

```
const browser = await synthetics.launch();
```

 **Arguments (Argomenti)** 

`options` [options](https://playwright.dev/docs/api/class-browsertype#browser-type-launch) (facoltativo) è un insieme configurabile di opzioni da impostare sul browser.

 **Valori restituiti** 

Promise `<Browser>` dove [Browser](https://playwright.dev/docs/api/class-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. È possibile sovrascrivere i parametri di avvio utilizzati da CloudWatch Synthetics e passare 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](https://playwright.dev/docs/api/class-browsertype#browser-type-launch) 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 `--disable-web-security` flag agli argomenti nei parametri di avvio 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
<a name="Synthetics_Library_Nodejs_Playwright_function_newPage"></a>

La funzione `newPage()` crea e restituisce una nuova pagina Playwright. Synthetics configura automaticamente una connessione DevTools Chrome 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](https://playwright.dev/docs/api/class-browser) o l'istanza [ BrowserContext](https://playwright.dev/docs/api/class-browsercontext)Playwright. 

 **Valori restituiti** 

Promise <Page> dove Page è un'istanza [Page](https://playwright.dev/docs/api/class-page) di Playwright. 

## close
<a name="Synthetics_Library_Nodejs_Playwright_function_close"></a>

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.

## getDefaultLaunchOpzioni
<a name="Synthetics_Library_Nodejs_Playwright_function_getDefaultLaunchOptions"></a>

La `getDefaultLaunchOptions()` funzione 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](https://playwright.dev/docs/api/class-browsertype#browser-type-launch) di Playwright utilizzate dalla funzione `launch` di Synthetics per avviare il browser.

## executeStep
<a name="Synthetics_Library_Nodejs_Playwright_function_executeStep"></a>

La funzione `executeStep` viene utilizzata per eseguire un passaggio in uno script Synthetics. In CloudWatch Synthetics, una fase di Synthetics è 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 vengono acquisite per impostazione predefinita, ma possono essere disattivate utilizzando le configurazioni Synthetics.
+ Per ogni esecuzione di Canary viene creato un rapporto, che include un riepilogo, dei dettagli relativi all'esecuzione delle fasi, come la durata di una fase `pass` o `fail` lo stato URLs, la pagina di origine e di destinazione, le schermate associate, ecc. **Quando scegli un'esecuzione nella console CloudWatch Synthetics, puoi visualizzare i dettagli di esecuzione di ogni passaggio nella scheda Step.**
+ `SuccessPercent`e le `Duration` CloudWatch metriche vengono emesse per ogni passaggio, 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 schermate e. URLs Per impostazione predefinita, Synthetics utilizza la pagina Playwright creata quando viene chiamata `synthetics.newPage()` la funzione per acquisire dettagli della pagina come schermate e. URLs

 **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](CloudWatch_Synthetics_Canaries_Samples.md) in questa guida.