Les tests de navigateur sont des scénarios exécutés par Datadog sur vos applications web. Ils s’exécutent à des intervalles périodiques configurables depuis plusieurs emplacements dans le monde, à partir de plusieurs navigateurs et appareils. Ces tests vérifient à la fois que vos applications sont opérationnelles et répondent aux demandes, et que toutes les conditions définies dans vos scénarios sont remplies.
Si vous êtes intéressé par le test d'applications derrière la MFA, lisez le guide dédié et envoyez vos retours à l'équipe Synthetic Monitoring pour aider à améliorer les systèmes qui comptent le plus pour vos équipes.
Configuration du test
Vous pouvez créer un test en utilisant l’une des options suivantes :
Créer un test à partir d’un modèle
Survolez l’un des modèles pré-remplis et cliquez sur Voir le modèle. Cela ouvre un panneau latéral affichant des informations de configuration pré-remplies, y compris : Détails du test, Conditions d’alerte, Étapes et éventuellement Variables.
Cliquez sur +Créer un test pour ouvrir la page de configuration, où vous pouvez examiner et modifier les options de configuration pré-remplies. Les champs présentés sont identiques à ceux disponibles lors de la création d’un test à partir de zéro.
Cliquez sur Enregistrer et quitter dans le coin supérieur droit pour soumettre votre test de navigateur.
Créez un test à partir de zéro
Cliquez sur le + modèle pour commencer un nouveau test de navigateur à partir de zéro.
Entrez une URL de départ : L’URL à partir de laquelle votre test de navigateur commence le scénario.
Ajoutez un nom : Le nom de votre test de navigateur.
Sélectionnez l’environnement et les balises supplémentaires : Définissez les env et les balises associées à votre test de navigateur. Utilisez le format <KEY>:<VALUE> pour filtrer sur un <VALUE> pour un <KEY> donné.
Sélectionnez navigateurs et appareils : Les navigateurs (comme Chrome, Firefox et Edge), et les appareils (comme Laptop Large, Tablet et Mobile Small) sur lesquels exécuter votre test.
Pour un grand ordinateur portable, les dimensions sont de 1440 pixels x 1100 pixels.
Pour une tablette, les dimensions sont de 768 pixels x 1020 pixels.
Pour un petit appareil mobile, les dimensions sont de 320 pixels x 550 pixels.
Sélectionnez emplacements gérés et privés : Sélectionnez parmi une liste d’emplacements dans le monde qui sont gérés par Datadog, ou créez des emplacements privés pour exécuter votre test de navigateur depuis des emplacements personnalisés ou à l’intérieur de réseaux privés.
Note : Vous pouvez également utiliser le Continuous Testing Tunnel pour déclencher des tests sur votre configuration de développement local ou dans votre pipeline CI/CD pour tester des environnements internes.
Définissez la fréquence de test : Les intervalles varient de toutes les cinq minutes à une fois par semaine. Pour demander une fréquence d’une minute, contactez le support.
Cliquez sur Enregistrer et modifier l’enregistrement pour soumettre votre test de navigateur.
Emplacements
Datadog’s out-of-the-box managed locations allow you to test public-facing websites and endpoints from regions where your customers are located.
AWS:
Americas
Asia Pacific
EMEA
Canada Central
Hong Kong
Bahrain
Northern California
Jakarta
Cape Town
Northern Virginia
Mumbai
Frankfurt
Ohio
Osaka
Ireland
Oregon
Seoul
London
São Paulo
Singapore
Milan
Sydney
Paris
Tokyo
Stockholm
GCP:
Americas
Asia Pacific
EMEA
Dallas
Tokyo
Frankfurt
Los Angeles
Oregon
Virginia
Azure:
Region
Location
Americas
Virginia
The Datadog for Government site (US1-FED) uses the following managed location:
Region
Location
Americas
US-West
Extraits
Lors de la configuration d’un nouveau test de navigateur Synthetic Monitoring, utilisez des extraits pour remplir automatiquement vos appareils et régions, plutôt que de sélectionner ces options manuellement. Les extraits suivants sont disponibles :
Tailles d’écran : Effectuez automatiquement vos tests de navigateur sur un écran de taille spécifiée sur différents navigateurs :
Grand
Tablette
Mobile
Vérification multi-région : Testez automatiquement votre site web contre un emplacement dans chacune des trois principales régions géographiques (AMER, APAC et EMEA).
Options avancées
Sélectionnez Désactiver CORS pour empêcher la politique de partage des ressources entre origines (CORS) de bloquer votre test. Pour empêcher la politique de sécurité du contenu (CSP) de bloquer votre test, sélectionnez Désactiver CSP.
En-têtes de demande : Définissez des en-têtes dans les champs Nom et Valeur à ajouter ou à remplacer les en-têtes par défaut du navigateur. Par exemple, vous pouvez définir l’agent utilisateur dans l’en-tête pour identifier les scripts Datadog.
Cookies : Définissez des cookies à ajouter aux cookies par défaut du navigateur. Entrez un cookie par ligne, en utilisant la syntaxe de Set-Cookie.
Authentification HTTP : Authentifiez-vous via HTTP Basic, Digest ou NTLM avec un nom d’utilisateur et un mot de passe. Vos identifiants sont utilisés à chaque étape de votre test de navigateur. Remarque : L’authentification via HTTP Basic peut être utilisée pour les sites web qui demandent des identifiants utilisateur via une invite système du navigateur.
Les options de requête sont définies à chaque exécution de test. Elles sont appliquées à toutes les étapes de votre test Browser lors de son exécution, et non lors de son enregistrement. Si vous souhaitez que ces options restent actives lors de l’enregistrement des étapes suivantes, appliquez-les manuellement sur la page à partir de laquelle l’enregistrement est effectué, puis créez les prochaines étapes de votre test.
Sélectionnez Ignorer l’erreur de certificat serveur pour indiquer au test d’ignorer les erreurs dans le certificat du serveur.
Certificat client : Effectuez des tests sur des systèmes qui nécessitent des certificats clients en cliquant sur Télécharger le fichier et en téléchargeant votre fichier de certificat et votre clé privée. Seuls les certificats PEM sont acceptés.
Domaines de certificat client : Une fois les fichiers de certificat téléchargés, le certificat client s’applique au domaine de l’URL de départ. Pour appliquer le certificat client sur un autre domaine, spécifiez le domaine dans le champ Valeur.
L’URL peut inclure des wildcards.
Entrez une URL pour un proxy par lequel vous souhaitez envoyer des requêtes dans le champ URL du proxy en tant que http://<YOUR_USER>:<YOUR_PWD>@<YOUR_IP>:<YOUR_PORT>.
Sélectionnez Ne pas capturer de captures d’écran pour ce test pour empêcher la prise de captures d’écran lors de vos étapes de test.
Cette option de confidentialité est proposée sous la forme d’option avancée au niveau des étapes de chaque test. Elle vous permet d’éviter d’inclure des données sensibles dans les résultats de vos tests. Empêcher le test de prendre des captures d’écran rend le dépannage des échecs plus difficile. Pour plus d’informations, voir Sécurité des données.
Indiquez le temps (en secondes) que le test doit attendre avant de déclarer que l’étape de test initiale a échoué.
Par défaut, le fuseau horaire est réglé sur UTC et la langue est réglée sur l’anglais (en). Pour définir une langue, utilisez le code ISO correspondant à 2 ou 3 chiffres.
Entrez un ou plusieurs modèles de requêtes à bloquer lors du chargement pendant l’exécution du test. Entrez un modèle de requête par ligne en utilisant le format de modèle de correspondance. Les caractères génériques (par exemple, *://*.example.com/*) sont pris en charge.
Les requêtes bloquées sont ignorées pendant l’exécution du test mais n’affectent pas le rendu de la page lors de l’enregistrement des étapes. Consultez les requêtes bloquées dans l’onglet Ressources des exécutions de test. Les requêtes bloquées ont un statut de blocked.
Create local variables
To create a local variable, click + All steps > Variables. You can select one of the following available builtins to add to your variable string:
{{ numeric(n) }}
Generates a numeric string with n digits.
{{ alphabetic(n) }}
Generates an alphabetic string with n letters.
{{ alphanumeric(n) }}
Generates an alphanumeric string with n characters.
{{ date(n unit, format) }}
Generates a date in one of Datadog’s accepted formats with a value corresponding to the UTC date the test is initiated at + or - n units.
{{ timestamp(n, unit) }}
Generates a timestamp in one of Datadog’s accepted units with a value corresponding to the UTC timestamp the test is initiated at +/- n units.
{{ uuid }}
Generates a version 4 universally unique identifier (UUID).
{{ public-id }}
Injects the Public ID of your test.
{{ result-id }}
Injects the Result ID of your test run.
To obfuscate local variable values in test results, select Hide and obfuscate variable value. Once you have defined the variable string, click Add Variable.
Utiliser des variables globales
Vous pouvez utiliser les variables globales définies dans Paramètres dans l’URL de départ et Options avancées des détails de votre test de navigateur, ainsi que dans votre enregistrement de test.
Pour afficher la liste des variables disponibles, procédez comme suit :
Dans les détails de votre test de navigateur : Tapez {{ dans le champ souhaité.
Dans l’enregistreur de votre test de navigateur : Importez la variable dans votre test, puis tapez {{ dans le champ souhaité ou injectez la variable dans votre application pour l’utiliser.
Pour plus d’informations sur l’utilisation des variables dans l’enregistrement de votre test de navigateur, consultez Étapes du test de navigateur.
Définir des conditions d’alerte
Vous pouvez personnaliser des conditions d’alertes afin de définir les circonstances dans lesquelles vous souhaitez qu’un test envoie une notification.
Règle d’alerte
Une alerte est déclenchée si une assertion échoue pendant X minutes à partir de n’importe quel n des N emplacements. Cette règle d’alerte vous permet de spécifier combien de temps et dans combien d’emplacements un test doit échouer avant de déclencher la notification.
Une alerte est déclenchée uniquement si ces deux conditions sont vraies :
Au moins un emplacement était en échec (au moins une assertion a échoué) pendant les dernières X minutes ;
À un moment donné pendant les dernières X minutes, au moins N emplacements étaient en échec.
En cas d’échec, réessayez X fois avant que l’emplacement ne soit considéré comme ayant échoué. Cela vous permet de définir le nombre d’échecs consécutifs d’un test nécessaires pour qu’un emplacement soit considéré comme ayant échoué. Par défaut, il y a une attente de 300ms avant de réessayer un test qui a échoué. Cet intervalle peut être configuré avec l’API.
Réessai rapide
Lorsqu’un test échoue, le réessai rapide vous permet de réessayer le test X fois après Y ms avant de le marquer comme échoué. La personnalisation de l’intervalle de réessai permet de réduire les faux positifs et d’améliorer la précision de vos alertes.
Étant donné que la disponibilité de l’emplacement est calculée en fonction du résultat final du test après l’achèvement des réessais, les intervalles de réessai rapide ont un impact direct sur ce qui apparaît dans votre graphique de disponibilité totale. La disponibilité totale est calculée en fonction des conditions d’alerte configurées, et les notifications sont envoyées sur la base de cette disponibilité totale.
Pour plus d'informations sur la manière dont les notifications de Synthetic Monitoring évaluent les résultats des tests et déclenchent les alertes, consultez Understanding Synthetic Monitor Alerting.
Downtimes
To pause test execution during planned maintenance windows, select an existing Scheduled downtime in the Downtimes section. The test automatically pauses during the downtime’s scheduled time slots.
Note: You cannot create a new downtime from the test creation form. To create one, navigate to Settings > Downtimes.
Configurer le test monitor
Une notification est envoyée conformément à l’ensemble des conditions d’alerte. Utilisez cette section pour définir comment et quel message envoyer à vos équipes.
Saisissez un message pour le test monitor ou utilisez les messages pré-remplis. Ce champ permet un formatage standard Markdown et prend en charge les variables conditionnelles suivantes :
Variable conditionnelle
Description
{{#is_alert}}
Show when the monitor alerts.
{{^is_alert}}
Show unless the monitor alerts.
{{#is_recovery}}
Show when the monitor recovers from alert.
{{^is_recovery}}
Show unless the monitor recovers from alert.
{{#is_renotify}}
Show when the monitor renotifies.
{{^is_renotify}}
Show unless the monitor renotifies.
{{#is_priority}}
Show when the monitor matches priority (P1 to P5).
{{^is_priority}}
Affiche sauf si le monitor correspond à la priorité (P1 à P5).
Notification messages include the message defined in this section and information about the failing locations. Pre-filled monitor messages are included in the message body section:
For example, to create a monitor that iterates over steps extracting variables for browser tests, add the following to the monitor message:
{{! Liste des variables extraites de toutes les étapes réussies }}
# Variables extraites
{{#each synthetics.attributes.result.steps}}
{{#if extractedValue}}
* **Nom** : `
**Valeur :** {{#if extractedValue.secure}}*Obfusqué (valeur cachée)*{{else}}`{{{extractedValue.value}}}`{{/if}}
{{/if}}
{{/each}}
Choose team members and services to notify.
Specify a renotification frequency. To prevent renotification on failing tests, check the option Stop re-notifying on X occurrences.
Click Save & Start Recording to save your test configuration and record your browser steps.
You can switch tabs in a browser test recording to perform an action on your application (such as clicking on a link that opens another tab) and add another test step. Your browser test must interact with the page first (through a click) before it can perform an assertion. By recording all of the test steps, the browser test can switch tabs automatically at test execution.
Optionnellement, sélectionnez Ouvrir dans une fenêtre pop-up en haut à droite de la page pour ouvrir l’enregistrement de votre test dans une fenêtre pop-up distincte. Ceci est utile si votre application ne prend pas en charge l’ouverture dans un iframe ou si vous souhaitez éviter des problèmes de dimensionnement lors de l’enregistrement. Vous pouvez également ouvrir la fenêtre pop-up en mode Incognito pour commencer à enregistrer votre test à partir d’un navigateur frais, exempt de sessions déjà connectées, de cookies de votre navigateur existant, et plus encore.
Optionnellement, activez Datadog pour collecter automatiquement les données RUM lors de l’exécution des enregistrements d’étapes depuis votre test de navigateur. Pour plus d’informations, voir Explorer RUM & Relecture de session.
Cliquez sur Démarrer l’enregistrement pour commencer l’enregistrement de votre test de navigateur.
Lorsque vous cliquez sur votre application en suivant le parcours utilisateur que vous souhaitez surveiller, vos actions sont automatiquement enregistrées et utilisées pour créer des étapes dans votre scénario de test de navigateur à gauche.
En plus des étapes automatiquement enregistrées, vous pouvez également utiliser les étapes disponibles dans le coin supérieur gauche pour enrichir votre scénario :
Datadog recommande de terminer votre test de navigateur par une assertion pour confirmer que le parcours exécuté par le test de navigateur a abouti à l’état attendu.
Une fois que vous avez terminé votre scénario, cliquez sur Enregistrer et lancer le test.
Rejouez vos étapes
Pour relancer une ou plusieurs étapes de votre test de navigateur directement dans votre navigateur, téléchargez l’extension Datadog Record Test.
La fonctionnalité de Relecture des Étapes vous aide à déboguer des étapes individuelles, à atteindre le bon état d’application lors de l’édition d’un test de navigateur, et à confirmer des flux entiers avant d’enregistrer votre test.
Remarque : La Relecture des Étapes peut se comporter différemment d’un test complet de Surveillance Synthétique en raison de conditions différentes (version du navigateur, réseau, agent utilisateur, état de connexion) ou de limitations.
Comment utiliser la relecture des étapes
Vous pouvez rejouer les étapes de trois manières :
1. Relecture d’une seule étape : Réexécutez une seule étape :
Survolez l'étape et cliquez sur le bouton de lecture pour rejouer uniquement cette étape.
2. Rejouer toutes les étapes : Exécutez l’ensemble de la séquence d’étapes telle que définie dans l’enregistreur :
Cliquez sur le bouton de rejouer toutes les étapes (⏩︎) en haut de la liste des étapes pour rejouer toutes les étapes.
3. Rejouer les étapes sélectionnées : Exécutez un sous-ensemble d’étapes que vous sélectionnez dans la liste des étapes :
Sélectionnez les étapes que vous souhaitez rejouer, puis cliquez sur le bouton de rejouer les étapes sélectionnées (⏩︎) en haut de la liste des étapes.
Prise en charge de la fonctionnalité de relecture d’étape
Le tableau suivant résume les types d’étapes de test de navigateur pris en charge par la relecture d’étape :
Type d’étape
Pris en charge par le replay d’étape
Remarques
Extraire la variable
Aller à l’URL
Actualiser
Faire défiler
Sélectionner une option
Attendre
Exécuter le test API
Vérifier l’état de la case à cocher
Vérifier l’URL actuelle
Vérifier l’attribut de l’élément
Vérifier le contenu de l’élément
Vérifier la présence de l’élément
Vérifier le téléchargement de fichier
Vérifier que la page contient
Vérifier que la page ne contient pas
Vérifier depuis JavaScript
Extraire depuis JavaScript
Appuyer sur la touche
Taper du texte
Cliquer
*
*Click steps are supported, but may behave differently than in a full Synthetic Monitoring test run.
Survoler
*
*Hover steps are supported, but may behave differently than in a full Synthetic Monitoring test run.
Types d’étapes non pris en charge par la relecture d’étape
Type d’étape
Pris en charge par la relecture d’étape
Vérifier l’email
Pas encore pris en charge
Vérifier les requêtes
Pas encore pris en charge
Extraire du corps de l’email
Pas encore pris en charge
Aller au lien de l’email
Pas encore pris en charge
Télécharger des fichiers
Pas encore pris en charge
Autorisation du débogueur
Pour être aussi proche que possible d’un test complet de surveillance synthétique, certaines étapes comme les étapes basées sur JavaScript ou les simulations de frappes nécessitent l’autorisation du débogueur pour être répétées.
La première fois que l’extension est mise à jour vers une version nécessitant l’autorisation du débogueur, une demande d’autorisation apparaît et l’extension est désactivée jusqu’à ce que vous l’approuviez :
Cliquez sur les trois points du menu pour accepter l'autorisation.
Autorisations
Par défaut, seuls les utilisateurs ayant les rôles Administrateur Datadog et Standard Datadog peuvent créer, modifier et supprimer des tests de navigateur synthétiques. Pour obtenir l’accès à la création, à la modification et à la suppression des tests de navigateur synthétiques, mettez à niveau votre utilisateur vers l’un de ces deux rôles par défaut.
Si vous utilisez la fonctionnalité de rôle personnalisé, ajoutez votre utilisateur à tout rôle personnalisé qui inclut les permissions synthetics_read et synthetics_write.
Restreindre l’accès
Utilisez le contrôle d’accès granulaire pour limiter qui a accès à votre test en fonction des rôles, des équipes ou des utilisateurs individuels :
Ouvrez la section des permissions du formulaire.
Cliquez sur Modifier l’accès.
Cliquez sur Restreindre l’accès.
Sélectionnez des équipes, des rôles ou des utilisateurs.
Cliquez sur Ajouter.
Sélectionnez le niveau d’accès que vous souhaitez associer à chacun d’eux.
Cliquez sur Terminé.
Vous pouvez voir les résultats d'un emplacement privé même sans accès de visualiseur à cet emplacement privé.
Niveau d’accès
Voir la configuration du test
Modifier la configuration du test
Voir les résultats du test
Exécuter le test
Voir l’enregistrement
Modifier l’enregistrement
Pas d’accès
Visualiseur
Éditeur
Lectures complémentaires
Documentation, liens et articles supplémentaires utiles: