Ce produit n'est pas pris en charge par le site Datadog que vous avez sélectionné. ().

Présentation

La solution Mobile Application Testing vous permet de tester et de surveiller des flux commerciaux clés pour vos applications Android et iOS au moyen d’appareils physiques réels. Datadog exécute ces tests sur des appareils réels pour fournir une représentation réaliste, étape par étape, des workflows clés de l’application, des captures d’écran de chaque étape et des résultats détaillés de réussite ou d’échec afin que votre équipe puisse rapidement visualiser ce qui n’a pas fonctionné. Les tests d’applications mobiles peuvent être exécutés selon un planning, à la demande ou directement au sein de vos pipelines CI/CD.

Optionnellement, liez les données de test mobile Synthetic avec les données mobiles RUM si le SDK RUM est utilisé au sein de l’application testée.

Vous pouvez créer des tests d’applications mobiles dans Datadog en accédant à Digital Experience > New Test et en sélectionnant Mobile Application Test.

Créer un test mobile Synthetic

Configuration

Vous pouvez créer un test en utilisant l’une des options suivantes :

Créer un test à partir d’un modèle

  1. Survolez l’un des modèles pré-remplis et cliquez sur View Template. Cela ouvre un panneau latéral affichant des informations de configuration pré-remplies, notamment : Détails du test, Détails de la requête, Conditions d’alerte et Étapes.
  2. Cliquez sur + Create 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.
  3. Cliquez sur Save & Quit dans le coin supérieur droit pour soumettre votre test d’application mobile.

Créer un test à partir de zéro

  1. Cliquez sur le modèle +, puis sélectionnez une application mobile dans le menu déroulant. Si vous ne l’avez pas encore fait, créez une application mobile dans la section Applications List sur la page Synthetic Monitoring & Continuous Testing Settings.
  2. Sélectionnez une version ou cliquez sur Always run the latest version pour utiliser la dernière version de votre application mobile chaque fois que votre test est exécuté.
  3. Ajoutez un name pour votre test.
  4. Sélectionnez les environment and additional tags qui se rapportent à votre test. Utilisez le format <KEY>:<VALUE> pour filtrer sur un <VALUE> pour un <KEY> donné.
  5. Sélectionnez les devices sur lesquels exécuter votre test.
  6. Définissez les conditions de nouvelle tentative pour votre test.
  7. Définissez les test frequency en cliquant sur des intervalles de temps de base ou en personnalisant la fréquence de votre test et alert conditions pour votre monitor de test.
  8. Saisissez un nom pour le monitor de test, sélectionnez un service ou un membre de l’équipe à notifier, et ajoutez une notification par message.
  9. Cliquez sur Save & Edit Recording pour soumettre votre test d’application mobile.

Extraits

Lors de la configuration d’un nouveau test d’application mobile, utilisez des extraits pour renseigner automatiquement vos versions d’OS, tailles d’appareil, fabricants et temps de disponibilité, au lieu de sélectionner manuellement ces options. Les extraits suivants sont disponibles :

  • Device Size : Effectuez automatiquement vos tests d’application mobile sur un écran de taille spécifique à travers différents appareils :

    • Multi-screen size
    • Tablet
    • Large Screen (iOS only)
    • Standard Screen (iOS only)
    • Small Screen (iOS only)
  • OS Version : Testez automatiquement vos applications iOS ou Android sur plusieurs versions. Cette sélection bascule vers iOS ou Android selon le choix de votre application mobile.

  • Device Manufacturer (Android only) : Testez automatiquement vos applications Android sur plusieurs fabricants d’appareils.

  • Uptime : Configurez automatiquement un test avec la fréquence la plus courte disponible (toutes les 15 minutes).


Capture d'écran du côté gauche de la création d'un test d'application mobile, montrant les exemples d'extraits

Options avancées

Vous pouvez configurer des options avancées lors de la création d’un test mobile pour ajuster dynamiquement le comportement de l’application sans modifier votre code. Par exemple, vous pouvez accepter automatiquement les alertes, autoriser les plantages d’application et capturer les ressources réseau. Ces configurations sont accessibles dans la Advanced Options section de votre test mobile.

Options de comportement du test:

Auto-accept alerts
Lorsqu’elle est activée, cette option accepte automatiquement toutes les alertes système du système d’exploitation pendant l’exécution du test.
Allow application crash
Lorsqu’elle est activée, cette option empêche l’échec du test si un plantage de l’application est détecté. Vous devez inclure une étape pour redémarrer l’application après le plantage attendu afin de poursuivre le test.
Capture network resources
Lorsqu’elle est activée, cette option collecte les requêtes et réponses réseau pour chaque étape du test et les affiche dans les résultats.
Remarque : Ce paramètre peut avoir un impact sur les performances de l’application et pourrait empêcher l’application de démarrer.

Arguments de l’application :

Vous pouvez transmettre des paires key:value à votre application au démarrage du test, ce qui vous permet de modifier par programmation le comportement de l’application. Le code de votre application doit être configuré pour lire et traiter explicitement ces paires clé-valeur.

Par exemple, injectez un jeton d’authentification à actualisation automatique pour ignorer le flux de connexion de votre application.

Exemples :

Pour les tests Android, ajoutez les paires key:value appropriées dans la section Options avancées de votre test :

{
  "username": "example_user",
  "password": "{{ EXAMPLE_VARIABLE }}"
}
Page de création de test d'application mobile, montrant un exemple d'option avancée pour un appareil Android.

Pour les tests iOS, ajoutez les paires key:value appropriées dans la section Options avancées :

{
  "username": "example_user",
  "password": "{{ EXAMPLE_VARIABLE }}",
  "enable_feature_x": "true"
}
Page de création de test d'application mobile, montrant un exemple d'option avancée pour un appareil iOS.

Appareils

Sur l’écran de sélection des appareils, vous pouvez choisir de tester des appareils mobiles situés soit en Europe (UE), soit aux États-Unis (US). Pour configurer un test mobile afin d’utiliser des appareils hébergés dans l’UE ou aux États-Unis :

  1. Ouvrez la page de modification de test pour un test mobile existant ou créez-en un nouveau.
  2. Développez la Devices section et choisissez l’emplacement ou les emplacements des appareils pour votre test :
    • All locations : Exécute les tests dans l’UE et aux États-Unis.
    • EU : Exécute les tests uniquement dans l’UE.
    • US : Exécute les tests uniquement aux États-Unis.
  3. Utilisez le Select Device(s) menu déroulant pour sélectionner les appareils sur lesquels vous souhaitez effectuer des tests.
  4. Cliquez sur Save & Edit Recording pour enregistrer votre configuration de test.

Remarques :

  • Les tests exécutés sur des appareils hébergés aux États-Unis sont lancés depuis AWS US West (Oregon). De même, les tests sur des appareils hébergés dans l’UE sont lancés depuis AWS Allemagne (Francfort).
  • Tous les appareils ne sont pas disponibles à la fois dans l’UE et aux États-Unis. Pour plus de détails, consultez la liste des appareils pris en charge.

Familles d’appareils mobiles

Une famille d’appareils mobiles représente un ensemble d’appareils partageant des caractéristiques communes, telles qu’une gamme de modèles ou une version d’OS. Au lieu de choisir un seul appareil spécifique, vous pouvez choisir une famille. Lorsqu’un test s’exécute, Datadog le lance sur l’un des appareils disponibles dans la famille à ce moment-là. Choisir une famille augmente la disponibilité de vos résultats de test, car le test peut s’exécuter sur n’importe quel appareil disponible dans la famille plutôt que de dépendre d’un seul appareil spécifique.

Datadog fournit des familles intégrées qui apparaissent aux côtés des appareils individuels dans le menu déroulant Sélectionner le(s) appareil(s). Par exemple :

  • Dernière famille iPhone sur la dernière version d’iOS (iOS)
  • Tout iPhone Pro (iOS)
  • Dernière famille Pixel sur la dernière version d’Android (Android)
  • Tout appareil Samsung (Android)

Sélectionnez une famille de la même manière que vous sélectionnez un appareil individuel. Un seul test peut cibler des appareils individuels, des familles, ou les deux.

Tentatives de test

Vous pouvez définir le nombre de fois qu’un test doit échouer avant de déclencher une notification d’alerte.

  • Réessayer X fois après Y ms en cas d’échec.
Étape de condition de nouvelle tentative, indiquant que le test est relancé 0 fois après 300 ms en cas d'échec

Planification et alertes

Par défaut, les tests d’applications mobiles sont configurés pour des tests à la demande, ce qui signifie que ces tests peuvent s’exécuter directement dans un pipeline CI.

Conditions de planification et d'alerte pour un test mobile

Vous pouvez définir des conditions d’alertes personnalisées afin de spécifier la fréquence d’envoi d’une alerte ainsi que les circonstances dans lesquelles vous souhaitez qu’un test envoie une notification d’alerte.

  • Une alerte est déclenchée si une assertion échoue pendant X minutes.
Pour plus d'informations sur la façon dont les notifications de Synthetic Monitoring évaluent les résultats des tests et déclenchent des alertes, consultez Comprendre 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 monitor de test

Une notification est envoyée selon l’ensemble des conditions d’alerte. Utilisez cette section pour définir la manière et le contenu du message à adresser à vos équipes.

  1. Saisissez un message ou utilisez des messages de monitor pré-remplis pour le test d’application mobile. Ce champ autorise le formatage Markdown standard et prend en charge les variables conditionnelles suivantes :

    Variable conditionnelleDescription
    {{#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}}Afficher 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:

    Section de surveillance des tests d'applications mobiles, mettant en évidence les messages de monitor pré-remplis

    For example, to create a monitor that iterates over steps extracting variables for mobile tests, add the following to the monitor message:

    {{! Lister les variables extraites de toutes les étapes réussies }}
    # Variables extraites
    {{#each synthetics.attributes.result.steps}}
    {{#if extractedValue}}
    * **Nom** : `{{extractedValue.name}}`
    **Valeur :** {{#if extractedValue.secure}}*Obfusqué (valeur masquée)*{{else}}`{{{extractedValue.value}}}`{{/if}}
    {{/if}}
    {{/each}}
    
  2. Choisissez les membres de l’équipe et les services à notifier.

  3. Spécifiez une fréquence de renvoi de notification. Pour éviter les renvois de notification sur les tests en échec, cochez l’option Stop re-notifying on X occurrences.

  4. Cliquez sur Save & Edit Recording pour enregistrer votre configuration de test et enregistrer les étapes de test de votre application mobile.

Pour plus d’informations, consultez Synthetic Monitoring notifications.

Instabilité

L’instabilité est une source de difficultés dans les tests de bout en bout. Les échecs de test sont parfois causés par des changements de code frontend valides qui impactent un identifiant, et non par un problème réel de l’application.

Pour éviter les tests instables, Datadog utilise un algorithme qui exploite un ensemble de localisateurs pour cibler des éléments dans les tests d’application mobile. Un petit changement dans l’interface utilisateur peut modifier un élément (par exemple, en le déplaçant vers un autre emplacement). Le test d’application mobile localise automatiquement l’élément à nouveau en se basant sur des points de référence qui ne sont pas affectés par le changement.

Lorsque le test s’exécute avec succès, le test d’application mobile recalcule (ou « s’auto-répare ») tous les localisateurs rompus avec des valeurs mises à jour. Cela garantit que vos tests ne sont pas interrompus par de simples mises à jour de l’interface utilisateur et que vos tests s’adaptent automatiquement à l’interface utilisateur de votre application mobile.

Exécutez des tests en CI

Vous pouvez exécuter des tests d’application mobile dans un pipeline CI en définissant l’option mobileApplicationVersionFilePath dans un fichier de test synthetics.json et un fichier de configuration globale synthetics-ci.config selon vos besoins. Les options du fichier de configuration globale prévalent sur les options du fichier de configuration de test.

Dans cet exemple, le test aaa-aaa-aaa s’exécute avec la version d’application de remplacement trouvée dans application/path.

// myTest.synthetics.json
{
  "tests": [
    {
      "id": "aaa-aaa-aaa",
      "testOverrides": {
        "mobileApplicationVersionFilePath": "application/path"
      }
    }
  ]
}

Ensuite, exécutez $ datadog-ci synthetics run-tests --config synthetics-ci.config.

Pour en savoir plus, consultez la section Continuous Testing et CI/CD.

Autorisations

Par défaut, seuls les utilisateurs disposant des rôles Datadog Admin et Datadog Standard peuvent créer, modifier et supprimer des tests d’application mobile Synthetic. Pour obtenir un accès de création, de modification et de suppression aux tests d’application mobile Synthetic, 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é incluant les autorisations synthetics_read et synthetics_write.

Restreindre l’accès

Use granular access control to limit who has access to your test based on roles, teams, or individual users:

  1. Open the permissions section of the form.
  2. Click Edit Access.
Set permissions for your test from Private Locations configuration form
  1. Click Restrict Access.
  2. Select teams, roles, or users.
  3. Click Add.
  4. Select the level of access you want to associate with each of them.
  5. Click Done.
You can view results from a Private Location even without Viewer access to that Private Location.
Access levelView test configurationEdit test configurationView test resultsRun test
No access
ViewerYesYes
EditorYesYesYesYes

Pour aller plus loin