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
Utilisation
const browser = await synthetics.launch();
Arguments
options options
Renvoie
Promesse <Browser> où Browser
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
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
Renvoie
Promesse <Page> où Page est une instance Page
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 lancementlaunch 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
passoufail, 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
SuccessPercentetDurationsont é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.