Tester votre IU

AEM fournit un framework pour l’automatisation des tests pour votre IU AEM. Grâce au framework, vous développez et exécutez des tests d’IU directement dans un navigateur Web. La structure fournit une API JavaScript pour la création de tests.

La structure de test d’AEM utilise Hobbes.js, une bibliothèque de tests écrite en JavaScript. Le framework Hobbes.js a été développé pour tester AEM dans le cadre du processus de développement. Le framework est aujourd’hui disponible au public pour tester les applications AEM.

REMARQUE

Pour plus d’informations sur l’API, consultez la documentation de Hobbes.js .

Structure des tests

Lors de l’utilisation de tests automatisés dans AEM, il est important de comprendre les termes suivants :

Action Une action est une activité spécifique sur une page web, comme cliquer sur un lien ou un bouton.
Cas de test Un cas de test est une situation spécifique qui peut être composée d’une ou de plusieurs actions.
Suite de tests Une suite de tests est un groupe de cas de test associés qui testent ensemble un cas d’utilisation spécifique.

Exécution de tests

Affichage de suites de tests

Ouvrez la console de test pour voir les suites de tests enregistrées. Le panneau Tests contient une liste de suites de tests et leurs cas de test.

Accédez à la console Outils via Navigation globale -> Outils > Opérations -> Tests.

chlimage_1-26

Lors de l’ouverture de la console, les suites de tests sont répertoriées à gauche avec une option permettant de les exécuter en séquence. La partie à droite affichée avec un arrière-plan à damier est un espace réservé pour afficher le contenu de la page lors de l’exécution des tests.

chlimage_1-27

Exécution distincte d’une suite de tests

Les suites de tests peuvent être exécutées séparément. Lorsque vous lancez une suite de tests, la page change au fur et à mesure que les cas de tests et leurs actions sont exécutés et une fois que les résultats apparaissent à la fin du test. Les icônes indiquent les résultats.

Une coche indique un test réussi :

Une croix indique un test en échec :

Pour exécuter une suite de tests :

  1. Dans le panneau Tests, cliquez ou entrez sur le nom du cas de test que vous souhaitez exécuter pour développer les détails des actions.

    chlimage_1-28

  2. Cliquez ou appuyez sur le bouton Exécuter le test.

  3. L’espace réservé est remplacé par le contenu de la page lors de l’exécution du test.

    chlimage_1-29

  4. Passez en revue les résultats du cas de test en cliquant ou en appuyant sur la description pour ouvrir le panneau Résultat. Appuyez ou cliquez sur le nom de votre cas de test dans le panneau Résultat pour afficher tous les détails.

    chlimage_1-30

Exécution de plusieurs tests

Les suites de tests s’exécutent séquentiellement dans l’ordre dans lequel elles sont visibles dans la console. Vous pouvez développer un test pour voir les résultats détaillés.

chlimage_1-31

  1. Dans le panneau Tests, appuyez ou cliquez sur le bouton Exécuter tous les tests ou sur le bouton Exécuter les tests sous le titre de la suite de tests que vous souhaitez exécuter.

  2. Pour afficher les résultats de chaque cas de test, appuyez ou cliquez sur le titre du cas de test. Appuyez ou cliquez sur le nom de votre test dans le panneau Résultat pour afficher tous les détails.

    chlimage_1-32

Création et utilisation d’une suite de tests simple

La procédure suivante vous guide tout au long de la création et de l’exécution d’une suite de tests à l’aide du contenu We.Retail, mais vous pouvez facilement modifier le test pour utiliser une autre page web.

Pour plus d’informations sur la création de vos propres suites de tests, reportez-vous à la documentation de l’API Hobbes.js.

  1. Ouvrez CRXDE Lite. (http://localhost:4502/crx/de)

  2. Cliquez avec le bouton droit sur le dossier /etc/clientlibs et cliquez sur Créer > Créer un dossier. Tapez myTests comme nom et cliquez sur OK.

  3. Cliquez avec le bouton droit sur le dossier /etc/clientlibs/myTests et cliquez sur Créer > Créer un noeud. Entrez les valeurs de propriété suivantes, puis cliquez sur OK :

    • Nom : myFirstTest
    • Type : cq:ClientLibraryFolder
  4. Ajoutez les propriétés suivantes au nœud myFirstTest :

    Nom Type Valeur
    categories String[] granite.testing.hobbes.tests
    dependencies String[] granite.testing.hobbes.testrunner
    REMARQUE

    AEM Forms uniquement

    Pour tester des formulaires adaptatifs, ajoutez les valeurs suivantes aux catégories et aux dépendances. Par exemple :

    categories : granite.testing.hobbes.tests, granite.testing.hobbes.af.commons

    dependencies : granite.testing.hobbes.testrunner, granite.testing.hobbes.af

  5. Cliquez sur Enregistrer tout.

  6. Cliquez avec le bouton droit sur le nœud myFirstTest et cliquez sur Créer > Créer un fichier. Nommez le fichier js.txt et cliquez sur OK.

  7. Dans le fichier js.txt, entrez le texte suivant :

    #base=.
    myTestSuite.js
    
  8. Cliquez sur Enregistrer tout et fermez le fichier js.txt.

  9. Cliquez avec le bouton droit sur le nœud myFirstTest et cliquez sur Créer > Créer un fichier. Nommez le fichier myTestSuite.js et cliquez sur OK.

  10. Copiez le code suivant dans le fichier myTestSuite.js, puis enregistrez le fichier :

    new hobs.TestSuite("Experience Content Test Suite", {path:"/etc/clientlibs/myTests/myFirstTest/myTestSuite.js"})
       .addTestCase(new hobs.TestCase("Navigate to Experience Content")
          .navigateTo("/content/we-retail/us/en/experience/arctic-surfing-in-lofoten.html")
       )
       .addTestCase(new hobs.TestCase("Hover Over Topnav")
          .mouseover("li.visible-xs")
       )
       .addTestCase(new hobs.TestCase("Click Topnav Link")
          .click("li.active a")
    );
    
  11. Accédez à la console Tests pour essayer votre suite de tests.

Sur cette page