Fonctions de bibliothèque disponibles pour les scripts Canary Node.js utilisant Playwright - Amazon CloudWatch

Fonctions de bibliothèque disponibles pour les scripts Canary Node.js utilisant Playwright

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

lancer

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 launch dans la documentation de Playwright.

Utilisation

const browser = await synthetics.launch();

Arguments

options options (facultatif) est un ensemble d’options configurables pour le navigateur.

Renvoie

Promesse <Browser>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 ajouter 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 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 le paramètre --disable-web-security dans les arguments des paramètres de lancement 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 fonction newPage() crée et renvoie une nouvelle page Playwright. Synthetics configure automatiquement une connexion Chrome DevTools Protocol (CDP) pour activer la capture réseau et la génération de fichiers HAR (HTTP Archive).

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

Cette fonction accepte soit une instance Browser de Playwright, soit une instance BrowserContext de Playwright.

Renvoie

Promesse <Page> où Page est une instance Page de Playwright.

close

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.

getDefaultLaunchOptions

La fonction getDefaultLaunchOptions() 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 de Playwright utilisées par la fonction launch Synthetics pour lancer le navigateur.

executeStep

La fonction executeStep est utilisée pour exécuter une étape dans un script Synthetics. Dans CloudWatch Synthetics, une étape Synthetics représente une façon de découper le script Canary en une série d’actions clairement définies, afin de surveiller séparément les différentes parties 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 prises par défaut, mais vous pouvez les désactiver à l’aide des configurations Synthetics (Lien à venir).

  • Crée un rapport contenant un résumé des détails d’exécution de l’étape, par exemple, la durée, l’état de pass ou fail, etc., pour chaque exécution du script Canary. Lorsque vous sélectionnez une exécution dans la console CloudWatch Synthetics, vous pouvez afficher les détails d’exécution de chaque étape dans l’onglet Étape.

  • Les métriques CloudWatch SuccessPercent et Duration sont émises pour chaque étape, ce qui permet de surveiller la disponibilité et la latence de chacune d’elles.

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 Page pour prendre des captures d’écran et des URL. Par défaut, Synthetics utilise la page Playwright créée lors de l’appel à la fonction synthetics.newPage() pour capturer les détails de la page (captures d’écran et URL).

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 dans ce guide.