introduction sikuli gui automation tool sikuli tutorial 1
Comme toujours, nous essayons d'apporter de nouvelles choses à apprendre pour nos lecteurs. Aujourd'hui, explorons un outil d'automatisation GUI intéressant - Sikuli.
«Automatisez tout ce que vous voyez» à l'aide de l'outil d'automatisation Sikuli Graphical User Interface (GUI) - Guide complet du débutant rapidement mis en place et commencer à utiliser l'outil Sikuli Script avec ces tutoriels Sikuli approfondis.
Sikuli Automatise tout ce que vous voyez à l'écran en utilisant la méthode de reconnaissance d'image pour identifier les éléments de l'interface graphique. Le script Sikuli permet aux utilisateurs d'automatiser l'interaction de l'interface graphique en utilisant des captures d'écran.
Liste des didacticiels de cette série Sikuli
Nous avons divisé cette série en 3 parties:
Tutoriel n ° 1: Comment ça marche, comment créer un projet Sikuli simple.
Tutoriel n ° 2: Comment Sikuli peut être utilisé avec le pilote Web Selenium pour automatiser les pages Web.
Tutoriel n ° 3: Automatiser les applications basées sur Flash à l'aide de Sikuli Tool
Ce que vous apprendrez:
Outil d'automatisation Sikuli GUI
Commençons par la première partie de cette série.
Sikuli est un outil pour automatiser les interfaces utilisateur graphiques (GUI) en utilisant la méthode «Visual Image Match». Dans Sikuli, tous les éléments Web doivent être considérés comme une image et stockés dans le projet. Sikuli déclenchera des interactions GUI basées sur la correspondance visuelle de l'image, l'image que nous avons passée en paramètre avec toutes les méthodes.
Sikuli peut être très utile pour automatiser les objets flash (qui n'ont ni identifiant ni nom). Cela peut être utile dans le cas où nous avons une interface graphique stable (c'est-à-dire que les composants de l'interface graphique ne changent pas).
Même les applications basées sur Windows peuvent également être automatisées à l'aide de Sikuli. Sikuli fournit Sikuli-script.jar très convivial, qui peut être facilement utilisé avec Selenium WebDriver. Nous pouvons même automatiser Adobe Video / Audio player, Flash Games sur le site Web en utilisant Sikuli. Avec une API simple, cela facilite le codage.
Utilisations pratiques
- Sikuli peut être utilisé pour automatiser les objets Flash / sites Web Flash.
- Il peut être utile d'automatiser l'application basée sur Windows. Nous pouvons automatiser ce que nous voyons à l'écran.
- Il fournit une API simple. c'est-à-dire que toutes les méthodes sont accessibles en utilisant des objets de classe d'écran.
- Il peut être facilement intégré à Selenium et à tous les autres outils.
- En utilisant Sikuli, nous pouvons automatiser les applications de bureau.
- La plupart des outils de test d'automatisation ne prendront pas en charge l'automatisation des objets Flash (par exemple Selenium). Sikuli fournit un support étendu pour automatiser les objets Flash.
- Il utilise un puissant mécanisme de «correspondance visuelle» pour automatiser les objets de bureau et flash.
Avantages
- Outil open-source.
- L'un des plus grands avantages de Sikuli est qu'il peut facilement automatiser les objets Flash.
- Il facilite l'automatisation de l'application Windows.
- Lorsque vous testez une application en cours de développement et que vous ne connaissez pas l'ID / le nom des éléments, vous pouvez utiliser Sikuli. Il vérifiera l'apparence de l'image et si la correspondance est trouvée, il interagira avec l'image en conséquence.
Conditions préalables:
Avant de commencer, nous devons télécharger et installer les logiciels suivants:
- Tout outil de capture d'écran ( Par exemple, CanardCapture , ou qSnap )
- JDK
- Eclipse (étapes détaillées ici pour installer JDK et Eclipse)
Étapes de création du projet Java Sikuli
Étape # 1: Télécharger Sikuli - Télécharger Sikuli depuis ici .
Étape 2: Extrayez le fichier zip que vous avez téléchargé. Il contiendra le fichier Sikuli-script.jar. Enregistrez ce fichier extrait dans votre système de fichiers local.
Étape 3: Ouvrez Eclipse.
Étape 4: Créer un fichier de projet Java -> Nouveau -> Projet Java
Étape n ° 5:
- Clic droit sur le projet
- Allez dans Build Path-> Configure Build Path
- Passer à l'onglet Bibliothèques
- Cliquez sur le bouton «Ajouter des fichiers Jars externes» et ajoutez Sikuli-Script.jar dans le chemin de construction.
- Cliquez sur OK'
Sikuli-script.jar sera ajouté au chemin de construction de votre projet. Vous avez terminé. Vous pouvez maintenant commencer à écrire des scripts Sikuli dans ce projet.
Quelques méthodes Sikuli
# 1) Création d'un objet pour la classe d'écran
L'écran est une classe de base fournie par Sikuli. Nous devons d'abord créer un objet pour cette classe d'écran, ensuite seulement nous pouvons accéder à toutes les méthodes fournies par Sikuli.
Syntaxe:
Écran s = nouvel écran ();
# 2) Cliquez sur un élément
meilleur pare-feu gratuit pour windows 10 2018
Cette méthode permet de cliquer sur l'image spécifique présente à l'écran.
Syntaxe:
s.cliquez ('<>”);
Par exemple,
s.click («test.png»);
# 3) Faites un clic droit sur un élément
Cette méthode permet de faire un clic droit sur l'image spécifique présente à l'écran.
Syntaxe:
s.rightClick ('<>”);
Par exemple,
s.rightClick ('test.png');
# 4) Trouver un élément
Cette méthode permet de trouver un élément spécifique présent à l'écran.
Syntaxe:
s.find ('<>”);
Par exemple,
s.find ('test.png');
# 5) Double-cliquez sur un élément
Cette méthode permet de déclencher un événement de double clic sur une image spécifique présente à l'écran.
Syntaxe:
s.doubleCliquez ('<>”);
Par exemple,
s.doubleClick («test.png»);
# 6) Vérifiez si un élément est présent sur l'écran
Cette méthode est utilisée pour vérifier si l'élément spécifié est présent à l'écran.
Syntaxe:
s.exists ('<>”);
Par exemple,
s.exists ('test.png');
# 7) Tapez une chaîne dans une zone de texte
Cette méthode est utilisée pour saisir le texte spécifié dans la zone Texte.
Syntaxe:
s.type ('<>”,” Chaîne à saisir ”);
Par exemple,
s.type ('test.png', 'HI !!');
# 8) Rouler sur une image particulière
Cette méthode est utilisée pour effectuer une action de roulage sur l'image de l'élément.
Syntaxe:
s.wheel ('<>»,<>,<>);
Par exemple,
s.wheel («test.png», 25,0);
# 9) Glisser et déposer une image / un élément
Cette méthode est utilisée pour faire glisser et déposer une image spécifiée de la position source à la position cible.
Syntaxe:
s.dragDrop ('<>','<>”);
Par exemple,
s.dragDrop ('test.png', 'test1.png');
# dix) Survolez une image particulière
Cette méthode est utilisée pour effectuer un événement de survol sur l'image spécifiée.
Syntaxe:
s.hover ('<>”);
Par exemple,
s.hover («test.png»);
# 11) Coller la chaîne copiée
Cette méthode permet de coller du texte sur la zone de texte spécifiée.
Syntaxe:
à la pâte ('<>','test');
Par exemple,
s.paste ('test.png', 'test');
Exemples Sikuli
# 1) Vidéo YouTube - Mettre en pause et lire une vidéo
Étape 1) Ouvrez un lien vidéo YouTube et capturez les images des éléments de lecture et de pause à l'aide de l'outil de capture d'écran.
Bouton Pause ( Noter: le nom du fichier est pause.png)
Bouton jouer ( Noter: le nom du fichier est play.png)
Copiez ces images dans le projet.
Étape 2) Créez un package dans le projet java Sikuli créé et à l'intérieur de celui-ci créez une classe nommée «Youtube».
Étape 3) Tapez le code suivant dans cette classe.
package com.test; import org.sikuli.script.FindFailed; import org.sikuli.script.Screen; public class Youtube { public static void main(String() args) throws FindFailed, InterruptedException { // TODO Auto-generated method stub Screen s=new Screen(); s.find('pause.png'); //identify pause button s.click('pause.png'); //click pause button System.out.println('pause button clicked'); s.find('play.png'); //identify play button s.click('play.png'); //click play button } }
Étape # 4) Cliquez avec le bouton droit sur la classe, sélectionnez Exécuter en tant que -> Application Java.
# 2) Ouvrez le bloc-notes et tapez du texte
Étape # 1) Capturez l'icône du bloc-notes sur le bureau à l'écran.
notepad_icon.png
notepad.png
Étape # deux) Copiez ces images dans votre projet.
Étape 3) Créez une classe nommée «NotepadExample» dans votre projet et tapez le code suivant.
package com.test; import org.sikuli.script.FindFailed; import org.sikuli.script.Screen; public class NotepadExample { public static void main(String() args) throws FindFailed { // TODO Auto-generated method stub Screen s=new Screen(); s.click('notepad_icon.png'); s.find('notepad.png'); s.type('notepad.png','This is Nice Sikuli Tutorial!!!!'); } }
Étape 4) Ouvrez l'écran à tester avant d'exécuter le code.
Exécutez ce fichier en cliquant avec le bouton droit sur Exécuter en tant que -> Application Java.
# 3) Glisser et déposer
Étape 1) Prenez la capture d'écran des éléments requis à l'écran et placez-la dans votre projet Sikuli.
( Noter: ici, l'icône de téléchargement est «source.png» et l'image de la fleur est «destination.png»)
Étape # deux) Mettez ces images dans votre projet.
Étape # 3) Créez une classe avec le nom «DragAndDrop» et écrivez le code suivant.
package com.test; import org.sikuli.script.FindFailed; import org.sikuli.script.Screen; public class DragAndDrop { public static void main(String() args) throws FindFailed, InterruptedException { // TODO Auto-generated method stub Screen s=new Screen(); s.find('source.png'); System.out.println('Source image found'); s.find('target.png'); System.out.println('target image found'); s.dragDrop('source.png', 'target.png'); } }
Étape # 4) Exécutez ce script en cliquant avec le bouton droit sur Exécuter en tant que -> Application Java.
Après l'exécution de ce script, l'icône de téléchargement sera glissée et déposée sur l'image, indiquée comme cible.
Avant l'exécution:
Après exécution:
Inconvénients de cet outil
- Nous ne pouvons pas vous garantir que la correspondance d'image sera toujours exacte. Parfois, si deux images similaires ou plus sont disponibles à l'écran, Sikuli tentera de sélectionner la mauvaise image.
- Et si l'apparence de l'image varie en taille de pixel, cela entraînera également l'exception «Find Failed».
- Overhead de prendre trop de captures d'écran.
- Si l'une des captures d'écran manque, cela affectera l'exécution du programme.
Plus de ressources:
Conclusion
Sikuli est très utile pour automatiser les objets flash. Il peut être utilisé pour automatiser des applications basées sur des fenêtres. C'est un excellent outil pour jouer avec des éléments sur un écran, en fonction de leurs visuels.
A propos de l'auteur: Ceci est un billet d'invité par Anitha Eswari. Elle travaille actuellement en tant qu'ingénieur de test senior ayant une solide connaissance des tests manuels et automatisés et de divers outils de gestion de tests.
Tutoriel suivant : Dans la prochaine partie de cette série, examinons en profondeur la création du projet Sikuli maven et comment intégrer Selenium à Sikuli.
Vous utilisez déjà cet outil? Veuillez partager votre expérience et vos conseils. Si vous souhaitez commencer mais avez des questions, faites-le nous savoir.
lecture recommandée
- Outil de test d'automatisation de l'interface graphique Sikuli - Guide du débutant, partie 2
- 30 meilleurs outils de test GUI pour l'automatisation des tests GUI (2021 LIST)
- Tutoriel SeeTest Automation: Un guide de l'outil d'automatisation des tests mobiles
- Apprentissage des bases de Rational Robot - IBM Test Automation Tool
- Tutoriel Geb - Test d'automatisation du navigateur à l'aide de l'outil Geb
- Outil gratuit de capture d'écran et d'annotateur pour les testeurs - Examen qSnap
- Tutoriel Katalon Studio: Un outil d'automatisation de test gratuit que vous attendiez
- Automatiser les applications basées sur Flash à l'aide de Sikuli Tool