Ce texte a été publié à l’origine en anglais sous le titre ZK Small Talk. ZK est un framework permettant de créer des applications web en Java et un partenaire de longue date de QF-Test.
Ce qui a toujours fait la force de ZK, c’est la possibilité de créer des applications web sans avoir à gérer la complexité de l’écriture et de la maintenance du code HTML et JavaScript. Vous définissez l’interface utilisateur de votre application à l’aide d’un ZUML markup concis et de petits richlets écrits en Java. Vous pouvez écrire des tests unitaires pour votre logique métier et même utiliser ZATS pour tester votre UI.
Cependant, vous souhaitez toujours vous assurer que vos applications fonctionnent réellement pour vos utilisateurs. En d’autres termes, vous voulez effectuer des tests de bout en bout, y compris les interactions de l’utilisateur avec le navigateur et celles du navigateur avec l’application. C’est essentiel pour garantir que les utilisateurs réels de votre application bénéficient de l’expérience prévue.
Ce type de tests de navigateur a la réputation d’être fastidieux, lent et fragile. Avec les outils classiques d’automatisation de navigateur, vous devez cibler vos composants dans un enchevêtrement profondément imbriqué d’éléments <div> et <span> à l’aide de requêtes XPath ou CSS longues et complexes. Rien à voir avec le balisage XML propre et simple que vous pouvez utiliser pour définir votre interface en ZK. La raison principale pour laquelle vous avez probablement choisi ZK est précisément d’éviter d’avoir à gérer des montagnes de code HTML.
Réduire la complexité des tests web de bout en bout avec QF-Test
C’est là que QF-Test entre en jeu : QF-Test est un logiciel d’automatisation de tests UI éprouvé, qui offre depuis 2013 une prise en charge de premier ordre pour le test des applications web construites avec ZK.
Avec QF-Test, vous n’avez pas à gérer toute cette complexité. QF-Test utilise une technologie que nous appelons le CustomWebResolver (CWR) pour traduire en interne le HTML de votre application web en un arbre de composants sémantiques. En général, il faut « enseigner » au CWR la structure spécifique de votre application web, mais dans le cas de ZK, nous avons déjà fait ce travail et fournissons un CWR entièrement préconfiguré avec chaque copie de QF-Test.
Grâce au CustomWebResolver, ce que QF-Test perçoit de votre application est bien plus proche du ZUML markup que vous avez probablement utilisé pour construire votre UI que du HTML réel rendu par ZK.

Cette capture d’écran a maintenant plus de 10 ans, mais elle reste excellente pour illustrer la réduction de complexité obtenue par le CustomWebResolver de QF-Test dans des applications web typiques. À gauche, vous voyez toutes les couches hiérarchiques du HTML brut. C’est ce que vous devriez parcourir avec d’autres outils de test de navigateur. À droite, vous voyez l’arbre de composants simple et plat disponible dans QF-Test, car le CWR de QF-Test réduit le HTML aux composants sémantiques sous-jacents.
Démarrer avec QF-Test en 7 étapes simples
Mais n’est-il pas difficile de mettre en place l’automatisation de navigateur ? Pas avec QF-Test ! Il suffit littéralement de 7 étapes pour passer de rien à un premier cas de test QF-Test pour votre application :
- Téléchargez, installez et lancez QF-Test (il fonctionne sous Windows, macOS et Linux !)
- Ouvrez l’assistant de démarrage rapide à l’aide du bouton en forme de baguette magique dans la barre d’outils

- Choisissez « A web application in a browser » et cliquez sur « Next ».
- Saisissez l’URL de votre application web basée sur ZK et cliquez sur « Finish ».
- Appuyez sur le bouton vert triangulaire « Play » dans la barre d’outils de QF-Test pour lancer votre application dans un navigateur contrôlé par QF-Test.
- Appuyez sur le bouton rouge circulaire « Start Recording » pour entrer en mode enregistrement. Vous pouvez maintenant cliquer dans votre application : tout ce que vous faites sera enregistré par QF-Test.
- Appuyez sur le bouton carré « Stop Recording » pour arrêter l’enregistrement ; vos actions enregistrées apparaîtront dans QF-Test, prêtes à être rejouées.

Avec QF-Test, vous n’avez pas besoin d’écrire des requêtes XPath ou CSS, et vous n’avez pas besoin de comprendre comment ZK convertit votre UI en HTML. Vous interagissez simplement avec votre application via le navigateur pendant l’enregistrement, et QF-Test s’occupe de tout le reste.
Vous pouvez également utiliser le mode « Check recording » de QF-Test pour enregistrer de manière interactive des vérifications concernant le contenu textuel attendu ou l’état de n’importe quel composant UI, qui seront eux aussi représentés sous forme de nœuds dans votre suite de tests.
Construire rapidement des tests avec QF-Test SmartID
Vous pouvez aussi créer des tests directement via l’interface de QF-Test, sans tout enregistrer manuellement. QF-Test met à disposition les identifiants de widgets que vous avez attribués dans vos fichiers ZUML ou vos richlets pour les utiliser dans vos tests UI. Vous pouvez ainsi faire référence aux éléments de l’interface de votre application de la même manière qu’en ZK. Dans QF-Test, cela se fait à l’aide de notre syntaxe SmartID, simple mais complète. Voici quelques exemples :
#Panel:myPanel#@Button:label=Next: sélectionne le bouton libellé « Next » dans le panel ayant l’ID de widget « myPanel »#Combobox:myComboboxWidget@Entry 1: « myComboboxWidget » est l’ID de widget d’une liste déroulante, « Entry 1 » fait référence à un élément de la liste.#Tree:myTree@Level 1/Level 2/Level 3: sélectionne un élément imbriqué dans un arbre
Vous voyez l’idée. Vous conviendrez probablement que c’est beaucoup plus simple à lire et à écrire que de longues requêtes XPath à travers des balises HTML profondément imbriquées.
Ce que vous pouvez encore faire avec QF-Test
Et ce ne sont là que les fonctionnalités de QF-Test qui offrent des avantages uniques aux utilisateurs de ZK. En plus de cela, QF-Test permet un large éventail de types de tests basés sur l’UI :
- Vous pouvez exécuter la même suite de tests multi-navigateurs dans Chrome, Edge, Firefox, Safari et même sur des navigateurs mobiles afin de garantir une excellente expérience utilisateur partout.
- Vous pouvez intégrer QF-Test avec Robot Framework et réaliser des tests pilotés par mots-clés.
- Effectuer des tests pilotés par les données en lisant des données ou des instructions de test à partir de bases de données, de fichiers tableurs, du système de fichiers et d’autres sources.
- QF-Test propose une suite de tests d’accessibilité pour vous aider à garantir la conformité WCAG et d’autres normes.
- QF-Test peut exécuter des tests en mode headless et dans des environnements CI, ainsi qu’en parallèle pour des tests de charge.
- En plus des applications web, vous pouvez utiliser QF-Test pour tester des applications natives Windows, Android et iOS, ainsi que des documents PDF et des programmes Java.
- QF-Test offre d’excellents rapports de résultats de tests dans différents formats et niveaux de détail, ainsi qu’un rapport HTML interactif.
Lancez-vous
Comme vous pouvez le constater, QF-Test et ZK forment une excellente combinaison. Vous pouvez essayer QF-Test par vous-même en suivant les 7 étapes simples décrites ci-dessus. Vous pouvez également obtenir une licence d’essai gratuite de 14 jours. Celle-ci inclut l’accès à notre équipe de support compétente, qui se fera un plaisir de vous aider à lancer vos premiers tests avec QF-Test.