

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Fonctions de bibliothèque disponibles pour les scripts Canary Node.js utilisant Playwright
<a name="CloudWatch_Synthetics_Canaries_Nodejs_Playwright"></a>

Elle décrit également les fonctions de bibliothèque disponibles pour les scripts Canary utilisant l’exécution Playwright pour Node.js.

**Topics**
+ [lancer](#Synthetics_Library_Nodejs_Playwright_functions)
+ [newPage](#Synthetics_Library_Nodejs_Playwright_function_newPage)
+ [close](#Synthetics_Library_Nodejs_Playwright_function_close)
+ [getDefaultLaunchDes options](#Synthetics_Library_Nodejs_Playwright_function_getDefaultLaunchOptions)
+ [executeStep](#Synthetics_Library_Nodejs_Playwright_function_executeStep)

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

Cette fonction lance un navigateur Chromium à l’aide de la fonction de lancement de Playwright et renvoye l’objet navigateur correspondant. Elle décompresse les fichiers binaires du navigateur et lance Chromium avec des options par défaut adaptées à un navigateur sans périphériques. Pour plus d’informations sur la fonction `launch`, consultez [https://playwright.dev/docs/api/class-browsertype#browser-type-launch](https://playwright.dev/docs/api/class-browsertype#browser-type-launch) dans la documentation de Playwright.

 **Utilisation** 

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

 **Arguments** 

`options` [options](https://playwright.dev/docs/api/class-browsertype#browser-type-launch) (facultatif) est un ensemble d’options configurables pour le navigateur.

 **Renvoie** 

Promesse `<Browser>` où [Browser](https://playwright.dev/docs/api/class-browser) est une instance du navigateur Playwright.

Si cette fonction est appelée à nouveau, le navigateur déjà ouvert est fermé avant le lancement d’un nouveau navigateur. Vous pouvez remplacer les paramètres de lancement utilisés par CloudWatch Synthetics et transmettre des paramètres supplémentaires lors du lancement du navigateur. Par exemple, le code suivant lance un navigateur avec les arguments et le chemin d’exécutable par défaut, mais définit une fenêtre d’affichage de 800 x 600 pixels. Pour plus d’informations, consultez [Options de lancement de Playwright](https://playwright.dev/docs/api/class-browsertype#browser-type-launch) dans la documentation de Playwright.

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

 Vous pouvez également ajouter ou modifier les indicateurs Chromium transmis par défaut au navigateur. Par exemple, vous pouvez désactiver la sécurité Web en ajoutant un `--disable-web-security` indicateur aux arguments dans les paramètres de lancement de 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 fonction `newPage()` crée et renvoie une nouvelle page Playwright. Synthetics configure automatiquement une connexion au protocole DevTools Chrome (CDP) pour permettre les captures réseau pour la génération d'archives HTTP (HAR).

 **Utilisation** 

Utiliser `newPage()` de l’une des deux façons suivantes :

 **1. Création d’une nouvelle page dans un nouveau contexte de navigateur :** 

```
const page = await synthetics.newPage(browser);
```

 **2. Création d’une nouvelle page dans un contexte de navigateur spécifié :** 

```
// 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** 

Accepte l'instance Playwright [Browser](https://playwright.dev/docs/api/class-browser) ou Playwright [ BrowserContext](https://playwright.dev/docs/api/class-browsercontext). 

 **Renvoie** 

Promesse <Page> où Page est une instance [Page](https://playwright.dev/docs/api/class-page) de Playwright.

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

Ferme le navigateur actuellement ouvert.

 **Utilisation** 

```
await synthetics.close();
```

Il est recommandé de fermer le navigateur dans un bloc `finally` de votre script.

 **Arguments** 

Aucun 

 **Renvoie** 

Renvoie la promesse <void> utilisée par la fonction de lancement de Synthetics pour lancer le navigateur.

## getDefaultLaunchDes options
<a name="Synthetics_Library_Nodejs_Playwright_function_getDefaultLaunchOptions"></a>

La `getDefaultLaunchOptions()` fonction renvoie les options de lancement du navigateur utilisées par CloudWatch Synthetics.

 **Utilisation** 

```
const defaultOptions = await synthetics.getDefaultLaunchOptions();
```

 **Arguments** 

Aucun 

 **Renvoie** 

Renvoie les [options de lancement](https://playwright.dev/docs/api/class-browsertype#browser-type-launch) de Playwright utilisées par la fonction `launch` Synthetics pour lancer le navigateur.

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

La fonction `executeStep` est utilisée pour exécuter une étape dans un script Synthetics. Dans CloudWatch Synthetics, une étape Synthetics permet de décomposer votre script Canary en une série d'actions clairement définies, ce qui vous permet de suivre séparément les différentes étapes du parcours de votre application. Pour chaque étape, CloudWatch Synthetics effectue les opérations suivantes :
+ Prend automatiquement une capture d’écran avant le début de l’étape et après son achèvement. Vous pouvez également prendre des captures d’écran au cours d’une étape. Les captures d'écran sont capturées par défaut, mais peuvent être désactivées à l'aide des configurations Synthetics.
+ Un rapport contenant un résumé des détails relatifs à l'exécution des étapes, tels que la durée d'une étape `pass` ou `fail` son statut, les pages source et de destination URLs, les captures d'écran associées, etc., est créé pour chaque exécution de Canary. **Lorsque vous choisissez une exécution dans la console CloudWatch Synthetics, vous pouvez consulter les détails d'exécution de chaque étape dans l'onglet Étape.**
+ `SuccessPercent`et `Duration` CloudWatch des métriques sont émises pour chaque étape, permettant aux utilisateurs de surveiller la disponibilité et la latence de chaque étape.

 **Utilisation** 

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

**Note**  
Les étapes doivent être exécutées de manière séquentielle. Veillez à utiliser `await` sur les promesses.

 **Arguments** 
+ Chaîne `stepName` (obligatoire) (booléen) : nom de l’étape Synthetics. 
+ Fonction asynchrone `functionToExecute` (obligatoire) : la fonction que vous souhaitez que Synthetics exécute. Cette fonction doit contenir la logique de l’étape.
+ Objet `stepConfig` (facultatif) : configuration de l’étape, qui remplace la configuration Synthetics globale pour cette étape.
  + Booléen `continueOnStepFailure` (facultatif) : indique s’il faut continuer à exécuter le script Canary après l’échec de cette étape. 
  + Booléen `screenshotOnStepStart` (facultatif) : indique s’il faut prendre une capture d’écran au début de cette étape. 
  + Booléen `screenshotOnStepSuccess` (facultatif) : indique s’il faut prendre une capture d’écran si cette étape réussit. 
  + Booléen `screenshotOnStepFailure` (facultatif) : indique s’il faut prendre une capture d’écran si cette étape échoue. 
+ `page` : objet Page de Playwright (facultatif)

  Un objet Page de Playwright. Synthetics utilise cet objet de page pour capturer des captures d'écran et. URLs Par défaut, Synthetics utilise la page Playwright créée lorsque la fonction est appelée pour capturer les détails de `synthetics.newPage()` la page, tels que les captures d'écran et. URLs

 **Renvoie** 

Renvoie une promesse qui se résout avec la valeur renvoyée par la fonction ` functionToExecute`. Pour un exemple de script, consultez [Exemple de code pour les scripts Canary](CloudWatch_Synthetics_Canaries_Samples.md) dans ce guide.