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.
Utilisation des modèles de scripts Canary
Cette section fournit des détails sur chacun des modèles de scripts Canary et les tâches auxquelles chaque modèle est le mieux adapté. Des plans sont fournis pour les types de scripts Canary suivants :
-
Moniteur de pulsations
-
Script Canary d'API
-
Vérificateur des liens cassés
-
Surveillance visuelle
-
Enregistreur de scripts Canary
-
Workflow GUI
Lorsque vous utilisez un modèle pour créer un script canari, lorsque vous renseignez les champs de la console CloudWatch, la zone Script editor (Éditeur de script) de la page affiche le script canari que vous créez en tant que script Node.js. Vous pouvez également modifier votre script Canary dans cette zone pour le personnaliser davantage.
Surveillance des pulsations
Les scripts de pulsations chargent l'URL spécifiée et stockent une capture d'écran de la page et un fichier d'archive HTTP (fichier HAR). Ils stockent également les journaux des accès URLs.
Vous pouvez utiliser les fichiers HAR pour afficher des données de performances détaillées sur les pages web. Vous pouvez analyser la liste des demandes web et détecter des problèmes liés aux performances, notamment le temps de chargement d'un élément.
Si votre Canary utilise la version d'exécution syn-nodejs-puppeteer-3.1
ou une version ultérieure, vous pouvez utiliser le plan de surveillance du rythme cardiaque pour en surveiller plusieurs URLs et voir le statut, la durée, les captures d'écran associées et la raison de l'échec de chaque URL dans le résumé des étapes du rapport Canary Run.
Script Canary d'API
Les scripts Canary d'API peuvent tester les fonctions de base de lecture et d'écriture d'une API REST. REST, qui signifie transfert d'état représentatif, est un ensemble de règles que les développeurs suivent lors de la création d'une API. L'une de ces règles stipule qu'un lien vers une URL spécifique doit renvoyer un élément de données.
Les Canaries peuvent travailler avec n'importe qui APIs et tester tous les types de fonctionnalités. Chaque script Canary peut effectuer plusieurs appels d'API.
Dans les canaris qui utilisent une version d'exécution syn-nodejs-2.2
ou ultérieure, le plan API Canary prend en charge les canaris en plusieurs étapes qui vous APIs surveillent sous forme d'étapes HTTP. Vous pouvez en tester plusieurs APIs dans un seul canari. Chaque étape est une demande distincte qui peut accéder à des URL différentes, utiliser des en-têtes différents et des règles différentes pour déterminer si les en-têtes et les corps de réponse sont capturés. En ne capturant pas les en-têtes et le corps de la réponse, vous pouvez empêcher l'enregistrement de données sensibles.
Chaque demande dans un script Canary d'API comprend les informations suivantes :
-
Le point de terminaison, qui est l'URL que vous demandez.
-
La méthode, qui est le type de demande envoyé au serveur. REST APIs prend en charge les opérations GET (lecture), POST (écriture), PUT (mise à jour), PATCH (mise à jour) et DELETE (suppression).
-
Les en-têtes, qui fournissent des informations à la fois au client et au serveur. Ils sont utilisés pour l'authentification et fournir des informations sur le contenu du corps. Pour une liste d'en-têtes valides, consultez En-têtes HTTP
. -
Les données (ou le corps) qui contiennent des informations à envoyer au serveur. Utilisées uniquement pour les demandes POST, PUT, PATCH ou DELETE.
Note
Les plans API Canary ne sont pas pris en charge par les environnements d'exécution de Playwright.
Le modèle de script Canary d'API prend en charge les méthodes GET et POST. Lorsque vous utilisez ce modèle, vous devez spécifier des en-têtes. Par exemple, vous pouvez spécifier Authorization
en tant que Key (Clé) et spécifier les données d'autorisation nécessaires en tant que Value (Valeur) pour cette clé.
Si vous testez une demande POST, vous spécifiez également le contenu à publier dans le champ Data (Données).
Intégration à API Gateway
Le modèle d'API est intégré à Amazon API Gateway. Cela vous permet de sélectionner une API API Gateway et un stage à partir du même AWS compte et de la même région que le Canary, ou de télécharger un modèle Swagger depuis API Gateway pour la surveillance des API entre comptes et entre régions. Vous pouvez ensuite choisir le reste des détails dans la console pour créer le script Canary, au lieu de les saisir à partir de zéro. Pour plus d'informations sur API Gateway, consultez Qu'est-ce qu'Amazon API Gateway ?.
Utilisation d'une API privée
Vous pouvez créer un script canary utilisant une API privée dans Amazon API Gateway. Pour de plus amples informations, veuillez consulter Création d'une API privée dans Amazon API Gateway ?
Vérificateur des liens cassés
Le vérificateur de liens rompus collecte tous les liens à l'intérieur de l'URL que vous testez en utilisant document.getElementsByTagName('a')
. Il teste uniquement le nombre de liens que vous spécifiez et l'URL elle-même est considérée comme le premier lien. Par exemple, si vous voulez vérifier tous les liens d'une page qui en contient cinq, vous devez spécifier que le script Canary doit suivre six liens.
Les scripts Canary du vérificateur de liens rompus créés à l'aide de l'exécution syn-nodejs-2.0-beta
ou version ultérieure prennent en charge les fonctions supplémentaires suivantes :
-
Fourniture d'un rapport qui inclut les liens qui ont été vérifiés, le code d'état, la raison de l'échec (le cas échéant) et les captures d'écran des pages source et de destination.
-
Lors de l'affichage des résultats de scripts Canary, vous pouvez utiliser un filtre pour afficher uniquement les liens rompus, puis réparer ces liens en fonction de la raison de l'échec.
-
Cette version effectue pour chaque lien des captures d'écran annotées de la page source et met en surbrillance l'ancre où le lien a été trouvé. Les composants masqués ne sont pas annotés.
-
Vous pouvez configurer cette version pour effectuer des captures d'écran des pages source et de destination, des pages source uniquement ou des pages de destination uniquement.
-
Cette version résout un problème dans la version précédente qui provoquait l'arrêt du script Canary après le premier lien rompu, même lorsque d'autres liens sont récupérés à partir de la première page.
Note
Les plans du correcteur de liens brisés ne sont pas pris en charge par les environnements d'exécution de Playwright.
Pour mettre à jour un canari existant syn-1.0
en utilisant le nouveau moteur d'exécution, vous devez supprimer et recréer le canari. La mise à jour d'un script Canary existant vers la nouvelle exécution ne rend pas ces fonctions disponibles.
Un script Canary de vérification des liens rompus détecte les types d'erreurs de liens suivants :
404 Page introuvable
Nom d'hôte non valide
URL incorrecte. Par exemple, il manque un crochet dans l'URL, elle a des barres obliques supplémentaires ou elle utilise le mauvais protocole.
Code de réponse HTTP non valide.
Le serveur hôte renvoie des réponses vides sans contenu ni code de réponse.
Les requêtes HTTP expirent constamment pendant l'exécution du script Canary.
L'hôte coupe systématiquement les connexions parce qu'il est mal configuré ou trop occupé.
Modèle de surveillance visuelle
Le modèle de surveillance visuelle inclut un code permettant de comparer les captures d'écran prises lors de l'exécution d'un script Canary aux captures d'écran prises lors de l'exécution d'un script Canary de référence. Si l'écart entre les deux captures d'écran dépasse un pourcentage de seuil, le script Canary échoue. La surveillance visuelle est prise en charge dans les canaris utilisant syn-puppeteer-node-3.2 et versions ultérieures. Il n'est actuellement pas pris en charge dans les canaris exécutant Python et Selenium, ou utilisant les runtimes Playwright.
Le modèle de surveillance visuelle inclut la ligne de code suivante dans le script Canary de modèle par défaut, cette ligne activant la surveillance visuelle.
syntheticsConfiguration.withVisualCompareWithBaseRun(true);
La première fois que le script Canary s'exécute avec succès après l'ajout de cette ligne au script, il utilise les captures d'écran prises au cours de cette exécution comme référence pour les comparaisons. Après cette première exécution de Canary, vous pouvez utiliser la CloudWatch console pour modifier le Canary afin d'effectuer l'une des opérations suivantes :
Définir la prochaine exécution du script Canary comme nouvelle référence.
Dessiner des limites sur la capture d'écran de référence actuelle pour désigner les zones de la capture d'écran à ignorer lors des comparaisons visuelles.
Empêcher une capture d'écran d'être utilisée pour la surveillance visuelle.
Pour plus d'informations sur l'utilisation de la CloudWatch console pour modifier un canari, consultezModification ou suppression d'un canary.
Vous pouvez également modifier le canary run utilisé comme référence en utilisant les lastrun
paramètres nextrun
or ou en spécifiant un identifiant Canary Run dans l'UpdateCanaryAPI.
Lorsque vous utilisez le modèle de surveillance visuelle, vous saisissez l'URL à laquelle vous souhaitez effectuer la capture d'écran et vous spécifiez un seuil de différence sous forme de pourcentage. Après l'exécution de référence, les futures exécutions du script Canary qui détectent une différence visuelle supérieure à ce seuil déclenchent un échec du script Canary. Après l'exécution de référence, vous pouvez également modifier le script Canary pour « dessiner » des limites sur la capture d'écran de référence afin d'ignorer des zones pendant la surveillance visuelle.
La fonction de surveillance visuelle est alimentée par la boîte à outils logicielle ImageMagick open source. Pour plus d'informations, consultez ImageMagick
Enregistreur de scripts Canary
Avec le plan Canary Recorder, vous pouvez utiliser le CloudWatch Synthetics Recorder pour enregistrer vos actions de clic et de saisie sur un site Web et générer automatiquement un script Node.js qui peut être utilisé pour créer un Canary suivant les mêmes étapes. Le CloudWatch Synthetics Recorder est une extension Google Chrome fournie par Amazon. L'enregistreur Canary n'est pas compatible avec les canaris qui utilisent le runtime Playwright.
Crédits : The CloudWatch Synthetics Recorder est basé sur l'enregistreur Headless.
Pour de plus amples informations, veuillez consulter Utilisation de l' CloudWatch enregistreur Synthetics pour Google Chrome.
Générateur de flux de travail GUI
Le modèle de générateur de flux de travail GUI vérifie que des actions peuvent être effectuées sur votre page web. Par exemple, si vous avez une page web avec un formulaire de connexion, le script Canary peut remplir les champs utilisateur et mot de passe et envoyer le formulaire pour vérifier le bon fonctionnement de la page web.
Lorsque vous utilisez un modèle pour créer ce type de script Canary, vous spécifiez les actions que ce dernier doit effectuer sur la page web. Les actions que vous pouvez utiliser sont les suivantes :
Click (Cliquer) : sélectionne l'élément que vous spécifiez et simule un utilisateur qui clique sur l'élément ou le choisit.
Pour spécifier l'élément dans un script Node.js, utilisez
[id=]
oua[class=]
.Pour spécifier l'élément dans un script Python, utilisez
xpath //*[@id=]
ou//*[@class=]
.Verify selector (Vérifier le sélecteur) : vérifie que l'élément spécifié existe sur la page web. Ce test est utile pour vérifier qu'une action précédente a conduit les éléments corrects à remplir la page.
Pour spécifier l'élément à vérifier dans un script Node.js, utilisez
[id=]
oua[class=]
.Pour spécifier l'élément à vérifier dans un script Python, utilisez
xpath //*[@id=]
ou//*[class=]
.Verify text (Vérifier le texte) : vérifie que la chaîne spécifiée est contenue dans l'élément cible. Ce test est utile pour vérifier qu'une action précédente a provoqué l'affichage du bon texte.
Pour spécifier l'élément dans un script Node.js, utilisez un format tel que
div[@id=]//h1
, parce que cette action utilise la fonctionwaitForXPath
dans Puppeteer.Pour spécifier l'élément dans un script Python, utilisez un format xpath tel que
//*[@id=]
ou //*[@class=], parce que cette action utilise la fonctionimplicitly_wait
dans Selenium.Input text (Saisir du texte) : écrit le texte spécifié dans l'élément cible.
Pour spécifier l'élément à vérifier dans un script Node.js, utilisez
[id=]
oua[class=]
.Pour spécifier l'élément à vérifier dans un script Python, utilisez
xpath //*[@id=]
ou//*[@class=]
.Click with navigation (Cliquer avec la navigation) : attend que la page soit entièrement chargée après avoir choisi l'élément spécifié. Cela s'avère très utile lorsque vous devez recharger la page.
Pour spécifier l'élément dans un script Node.js, utilisez
[id=]
oua[class=]
.Pour spécifier l'élément dans un script Python, utilisez
xpath //*[@id=]
ou//*[@class=]
.
Par exemple, le modèle suivant utilise Node.js. Il clique sur le firstButton dans l'URL spécifiée, il vérifie que le sélecteur attendu s'affiche avec le texte attendu, il saisit le nom Test_Customer
dans le champ Name (Nom), il clique sur le bouton Login (Connexion) et il vérifie ensuite que la connexion a réussi en recherchant le texte Welcome (Bienvenue) sur la page suivante.
Les scripts Canary du flux de travail GUI qui utilisent les exécutions suivantes fournissent également un résumé des étapes exécutées pour chaque exécution de script Canary. Vous pouvez utiliser les captures d'écran et le message d'erreur associés à chaque étape pour trouver la cause racine de l'échec.
syn-nodejs-2.0
ou version ultérieuresyn-python-selenium-1.0
ou version ultérieure