Sélénium + AutoIT. Windows Test Automation Windows

Je m'appelle Ivan Sidorenko, je suis ingénieur d'essais chez Digital Design.

Ma tâche consistait à développer des auto-tests pour l'un de nos projets à l'aide de l'outil Selenium WebDriver en Java. Vous pouvez en savoir plus à ce sujet dans mon dernier article

Selenium est un outil pour automatiser les applications Web dans différents navigateurs. Lors du développement des tests automatiques, je suis tombé sur un scénario dans lequel vous devez interagir avec la fenêtre Windows pour télécharger des fichiers. Malheureusement, Selenium ne peut pas fonctionner avec les fenêtres Windows, une solution alternative a donc dû être trouvée.



Lors de la recherche, le choix s'est porté sur AutoIT . Cet outil est conçu pour automatiser les tâches dans Microsoft Windows, ce qui était nécessaire. Dans cet article, je décrirai comment travailler avec AutoIT pour résoudre une tâche. Il est supposé que vous disposez déjà d'un environnement de développement avec Selenium WebDriver connecté. À titre d'exemple, une fenêtre de téléchargement de photos vers l'un des sites de retouche photo sera utilisée. Alors, commençons.

1. Téléchargez et installez AutoIT

2. Accédez à l'un des services de téléchargement de photos, par exemple ici. Ici, vous devez cliquer sur le bouton "Télécharger les photos" pour obtenir une telle fenêtre Windows



3. Maintenant, allez dans le dossier AutoIT3 et sélectionnez Au3Info.exe



4. Au3Info est un outil qui vous permet d'obtenir des informations sur la fenêtre requise pour l'automatisation. Pour obtenir des informations sur un élément spécifique, faites simplement glisser le bloc du Finder Tool sur l'élément window. Nous obtiendrons les valeurs des attributs du champ de saisie de l'élément "File Name".



Pour une utilisation dans le script AutoIT, nous avons besoin des attributs Title = 'Open' et Class = 'Edit'

5. Allez dans le dossier AutoIt3 \ SciTE et sélectionnez SciTE, ici nous écrirons un script si simple



Ici ControlFocus est une méthode , qui met l'accent sur l'élément de fenêtre «File Name»

- Le premier paramètre est la valeur Title de la fenêtre souhaitée, dans notre cas, il est «Open»
- Le deuxième paramètre est facultatif
- Le troisième paramètre est la combinaison des valeurs de l'attribut Classe et Instance, c'est-à-dire il s'avère Edit1



ControlSetText - une méthode par laquelle le texte est entré dans l'entrée de l'élément "File Name"

  • Le premier paramètre est la valeur de Title
  • Le deuxième paramètre est facultatif
  • Le troisième paramètre est la combinaison des valeurs de l'attribut Class et Instance, c'est-à-dire il s'avère que Edit1
  • Le quatrième paramètre est le texte qui sera saisi en entrée, ici on écrit le chemin du fichier que l'on va attacher

ControlClick - clique sur le bouton "Ouvrir"

  • Le premier paramètre est la valeur de Title
  • Le deuxième paramètre est facultatif
  • Le troisième paramètre est la combinaison des valeurs de l'attribut Class et Instance, c'est-à-dire il tourne Button1



6. Enregistrez le script sous Autoit



7. Maintenant, pour exécuter le script, vous devez le compiler. Pour compiler un script, il existe deux options - soit pour un système 64 bits, soit pour 86. Choisissez celle qui convient à votre système d'exploitation.



8. Nous avons obtenu un fichier AutoItScript.exe compilé. Nous allons vérifier ses performances - allez sur le service de retouche photo < www.iloveimg.com/en/photo-editor "> et cliquez sur" Sélectionner une image. Exécutez maintenant AutoItScript.exe



9. Maintenant, vous pouvez ajouter ce script dans Selenium, par exemple, pour Java, un tel ajout ressemblerait à ceci:

Runtime.getRuntime().exec(":\\auto\\AutoItScript.exe");

Cette solution est très stable. De plus, étant donné que nous nous retrouvons avec un fichier exécutable, cette solution peut être utilisée avec différents langages de programmation. L'inconvénient est qu'un tel script ne peut pas être utilisé en mode sans tête - un mode dans lequel le navigateur ne démarre pas.

J'espère que cet article vous aidera à tester l'automatisation!

All Articles