Loupe

Tests UI avec TestCafé

TestCafe (DevExpress) : tests  multi support sans webdriver

Introduction

Les frameworks de tests fonctionnels d’interface web / mobile ont le vent en poupe notamment avec Selenium. Dans la même lignée, le framework TestCafe permet de réaliser ce travail mais sans avoir recours à un plugin à installer sur le browser. C’est la différence majeure entre TestCafe et la concurrence dans ce domaine.

Pré-requis

Ce framework est proposé sous deux formes :

Utilisation

  • Voici l'application TestCafe Studio, assez minimaliste mais efficace :
    start.png
    Pour démarrer un test, il suffit d'entrer une url et d'appuyer sur start.

Bien entendu, il sera possible d'entrer des credentials  si besoin pour accéder à un site. L'ajout des credentials ne peut être fait qu'une fois le scénario créé. Cela est peu impactant vu qu'un scénario peut être enrichi ultérieurement.

authentification.png

Les possibilités

  •  Tester des données à partir du dom : TestCafé Studio inclus un outil de sélection d'objet graphique comme on peut le voir ci-dessous. C'est la plus-value majeure de cette application :
    sélection_control.png
  • Effectuer des tests sur les données, le dom / css :

- Tests d'égalité / booléene / matching (via une expression régulière) / Contient (ou pas) / Type (ou pas) :

assertions.PNG

Exemple de matching :
assertions-match.PNG

- Actions sur la page. Outils permettant de reproduire le comportement de l'utilisateur avec Click droit / Double Click / Click gauche / Saisie de texte / Drag d'élément / Sélection de texte / Upload et un timer permettant d'attendre sur une durée fixe (utile si la page se met à jour à intervalle régulier pour tester une mise à jour de datas) :

actions.PNG

En résumé

Les + :

  • Intégration et debug dans visual studio code.
  • Intégration dans devops : https://devexpress.github.io/testcafe/documentation/continuous-integration/azure-devops.html
  • Chaque test est lancé sur un port différent, cela contraint le navigateur de créer un nouveau cookie à chaque run.
  • Export d'un scénario en node.js pour le modifier ou encore l'intégrer dans Devops.
  • Possibilité de lancer des tests sur chrome / firefox en mode "mobile" grâce au framework open source

 

Les - :

  • Pas d'intégration à visual studio ide.
  • Installer en local le client lourd permettant d'enregistrer un scénario de test.
  • La refonte de TestCafe Studio (04/2019) n'intègre pas encore toutes possibilités du framework. Ex : Le run d'un test sur mobile n'est tout à fait au point.

Si vous vous posez des questions sur l'automatisation de tests avec Selenium et les tests unitaires :

https://blogs.infinitesquare.com/posts/alm/browserstack-selenium-tests-multi-navigateurs-en-5-minutes

https://blogs.infinitesquare.com/posts/alm/tests-unitaires-pourquoi-et-comment

 

Ces billets pourraient aussi vous intéresser

Vous nous direz ?!

Commentaires

comments powered by Disqus