AutoIT dans Selenium Tutoriel : Comment l'utiliser ?

⚡ Résumé intelligent

AutoIt dans Selenium est un langage de script gratuit qui automatise Windows boîtes de dialogue d'interface graphique et fenêtres contextuelles natives Selenium WebDriver ne peut pas contrôler directement, ce qui en fait l'outil indispensable pour les chargements de fichiers, les téléchargements et les invites d'authentification.

  • 🤖 Objectif : AutoIt étend Selenium en manipulant Windows- les contrôles basés sur des éléments, les boîtes de dialogue natives et les fenêtres contextuelles non HTML que les localisateurs WebDriver ne peuvent pas atteindre.
  • 🪟 Identificateur d'élément : L'outil Au3Info inspecte les contrôles de fenêtre et expose les attributs de titre, de classe et d'instance utilisés pour programmer des interactions fiables.
  • ⚙️ Méthodes fondamentales : ControlFocus, ControlSetText et ControlClick constituent l'ensemble minimal requis pour renseigner les chemins d'accès et soumettre les boîtes de dialogue de téléchargement de fichiers natives.
  • ✅ Intégration: Un fichier FileUpload.exe compilé est déclenché depuis Selenium avec Runtime.getRuntime().exec(), le contrôle est transféré à AutoIt et inversement de manière transparente.
  • 🧪 Utilisation pratique: La procédure pas à pas télécharge un CV sur le Guru99 formulaires de démonstration, vérifiant le bout en bout Selenium plus le flux d'automatisation AutoIt.

AutoIT dans Selenium

Qu'est-ce qu'AutoIt dans Selenium?

AutoIt est un langage de script gratuit conçu pour automatiser Windows Interface graphique et scripts généraux. Il utilise une combinaison de mouvements de souris, de frappes au clavier et de manipulation des fenêtres pour automatiser une tâche impossible à réaliser par d'autres moyens. Selenium Pilote Web.

Comment télécharger et installer AutoIt

Étape 1) Aller à cette lien.

Étape 2) Survolez les menus déroulants « AutoIt » et « Éditeur AutoIt ».

Téléchargez et installez AutoIt

Étape 3) Cliquez sur l'option Téléchargements « AutoIt ».

Téléchargez et installez AutoIt

Étape 4) Téléchargez « AutoIt » en cliquant sur le bouton « Télécharger AutoIt ».

Téléchargez et installez AutoIt

Étape 5) Téléchargez maintenant « AutoIt editor » en cliquant sur le bouton « Téléchargements ».

Téléchargez et installez AutoIt

Étape 6) Cliquez sur le lien comme indiqué ci-dessous.

Téléchargez et installez AutoIt

Après le téléchargement, vous obtiendrez deux fichiers d'installation comme indiqué dans l'écran ci-dessous, le premier est AutoIt version 3 configuration et la seconde est Scitautoit3.

Téléchargez et installez AutoIt

Étape 7) Pour installer AutoIt, cliquez sur les deux programmes d'installation d'AutoIt l'un après l'autre.

Étape 8) Une fois l'installation terminée, ouvrez AutoIt Editor.

Allez dans « C:\Program Files (x86)\AutoIt3\SciTE »

Téléchargez et installez AutoIt

Cliquez ensuite sur le fichier « SciTE.exe », l'éditeur AutoIt s'ouvre comme indiqué dans la capture d'écran ci-dessous.

Téléchargez et installez AutoIt

Étape 9) Ouvrez maintenant l'identifiant de l'élément.

Allez dans 'C:\Program Files (x86)\AutoIt3'

Téléchargez et installez AutoIt

Cliquez ensuite sur le fichier « Au3Info.exe », l'identificateur d'élément s'ouvre comme indiqué dans la capture d'écran ci-dessous.

Téléchargez et installez AutoIt

À noter: Une fois que vous avez terminé avec cet identifiant d'élément, vous devez le fermer manuellement ; il ne se fermera pas automatiquement.

Comment utiliser AutoIt dans Selenium

Dans cette section, nous verrons comment utiliser l'éditeur AutoIt et comment trouver un élément dans la fenêtre de téléchargement de fichiers grâce à l'identificateur d'éléments d'AutoIt (un outil similaire à…). Selenium IDE ; l’identificateur trouve l’élément de l’interface graphique de la fenêtre ou des fenêtres contextuelles non HTML et fournit l’attribut de l’élément comme titre, classe, instance) et comment écrire un script dans l'éditeur AutoIt en utilisant 3 méthodes.

Par Exemple: Nous utiliserons la page « Écrivez-nous » de Guru99 pour télécharger un CV (fichier Doc).

Après avoir cliqué sur le bouton « Choisir un fichier » de la page « Écrivez-nous », il faut exécuter le script AutoIt. Le contrôle est immédiatement transféré à AutoIt après avoir cliqué sur « Choisir un fichier » grâce à l'instruction ci-dessous, qui gère le téléchargement.

Runtime.getRuntime().exec("E:\\AutoIT\\FileUpload.exe");

Enfin, lorsque nous exécutons le Selenium Le script remplira le formulaire -> téléchargera le CV -> soumettra le formulaire.

Utiliser AutoIt dans Selenium

Étape 1) Ouvrez maintenant l'identificateur d'éléments. Accédez à « C:\Program Files (x86)\AutoIt3 » et cliquez sur le fichier « Au3Info.exe ». La fenêtre de l'identificateur d'éléments s'ouvre comme indiqué dans la capture d'écran ci-dessous.

Utiliser AutoIt dans Selenium

Étape 2) Ouvrez maintenant la fenêtre de téléchargement de fichiers en cliquant sur « Choisir un fichier », qui est une Windows activité.

Utiliser AutoIt dans Selenium

Étape 3) Faites glisser l'outil de recherche sur l'élément de zone « Nom du fichier » de la fenêtre de téléchargement de fichiers pour trouver les informations sur les attributs de base, comme indiqué dans la capture d'écran ci-dessous avec la flèche.

Utiliser AutoIt dans Selenium

Nous pouvons obtenir la valeur des attributs, c'est-à-dire, title='Ouvrir', classe='Modifier' et instance='1' comme indiqué ci-dessous. Ces valeurs sont utilisées pour écrire l'exemple de script AutoIt, comme expliqué à l'étape 4 ci-dessous.

Utiliser AutoIt dans Selenium

Étape 4) Ouvrez maintenant l'éditeur de scripts AutoIt, accédez à « C:\Program Files (x86)\AutoIt3\SciTE » et cliquez sur « SciTE.exe », comme indiqué à l'étape 7 du premier chapitre.st sujet.

Commencez à écrire un script pour sélectionner un fichier à télécharger.

De nombreuses méthodes sont disponibles et peuvent être utilisées dans un script en fonction des besoins, mais nous nous concentrerons ici sur les méthodes ci-dessous, car elles sont nécessaires à l'écriture du script de téléchargement de fichiers :

  1. ContrôleFocus("titre", "texte", IDcontrôle) // Définit le focus d'entrée sur un contrôle donné sur une fenêtre.
  2. ControlSetText("titre", "texte", controlID, "Chemin du fichier à télécharger") // Définit le texte d'un contrôle.
  3. ContrôleClic("titre", "texte", IDcontrôle) //Envoie une commande de clic de souris à un contrôle donné.

Vous pouvez voir plusieurs méthodes affichées, comme illustré dans la capture d'écran ci-dessous. L'un des atouts d'AutoIt est sa ressemblance avec… Eclipse cela suggère certaines des méthodes.

Utiliser AutoIt dans Selenium

Ici, dans l'éditeur AutoIt, nous avons sélectionné « concentration de contrôle » méthode. L'identifiant de l'élément est déjà ouvert et minimisé car l'élément est déjà identifié à l'étape 3 ci-dessus. Nous pouvons l'ouvrir en le maximisant.

Nous allons maintenant récupérer les valeurs de l'identifiant d'élément pour les méthodes « ControlFocus » et « ControlSetText », car ces méthodes fonctionnent sur le même élément, à savoir la zone de texte « Nom du fichier », mais pour la méthode « ControlClick », nous devons capturer les valeurs d'un élément différent, à savoir le bouton « Ouvrir ».

Valeurs des paramètres pour ContrôleFocus méthode:

Cette méthode permet de sélectionner le champ de texte « Nom du fichier » de la fenêtre de téléchargement de fichiers.

  • 1er paramètre titre est ouvert ".
  • Nous ignorons le deuxième paramètre, le texte n'est pas requis.
  • 3ème paramètre ID de contrôle est la combinaison de class='Edit' et Instance='1', c'est-à-dire 'Edit1'.
    ControlFocus("Open","","Edit1") // This method sets input focus to 'File name' text box.

Utiliser AutoIt dans Selenium

Valeurs des paramètres pour ControlSetText méthode:

Cette méthode permet de définir le chemin d'accès au fichier à télécharger dans le champ « Nom du fichier ». Autrement dit, elle permet de définir le texte à saisir dans l'élément de saisie.

  • 1er paramètre titre est ouvert ".
  • Nous ignorons le deuxième paramètre, le texte n'est pas requis.
  • 3ème paramètre ID de contrôle est la combinaison de class='Edit' et Instance='1', c'est-à-dire ” Edit1 “.
  • 4ème paramètre nouveau texte, nous indiquons le chemin d'accès au fichier que nous devons télécharger.
    ControlSetText("Open","","Edit1","E:\Resume\resume.doc") // This method inputs file path of a control.

Utiliser AutoIt dans Selenium

Après avoir suivi l'étape précédente, ne fermez pas les fenêtres (éditeur et identificateur d'éléments) ; laissez-les ouvertes. Vous devrez ensuite ouvrir à nouveau la fenêtre de téléchargement de fichiers pour accéder aux attributs du bouton « Ouvrir », comme indiqué à l'étape 5 ci-dessous.

Étape 5) Faites maintenant glisser l'outil de recherche sur le bouton « Ouvrir » de la fenêtre de téléchargement de fichiers pour trouver les informations d'attributs de base.

Les valeurs précédentes (c’est-à-dire les attributs de la zone de texte « Nom du fichier ») sont remplacées par les nouvelles valeurs du bouton « Ouvrir ». Vous pouvez constater que l’attribut de classe est désormais « button », alors qu’il était auparavant « edit » dans la fenêtre d’identification des éléments d’AutoIt.

Utiliser AutoIt dans Selenium

Nous pouvons obtenir la valeur des attributs, c'est-à-dire, title='Ouvrir', classe='Bouton' et instance='1' comme indiqué ci-dessous. Ces valeurs sont utilisées pour écrire un script AutoIt, comme expliqué ci-dessous.

Utiliser AutoIt dans Selenium

Valeurs des paramètres pour ContrôleClic méthode:

Cette méthode consiste à cliquer sur le bouton « Ouvrir » de la fenêtre de téléchargement de fichiers.

  • 1er paramètre titre est ouvert ".
  • Nous ignorons le deuxième paramètre ; texte n'est pas requis.
  • 3ème paramètre ID de contrôle est la combinaison de la classe et de l'instance, c'est-à-dire « Button1 ».
ControlClick("Open","","Button1") //This method clicks on 'Open' button of file uploader.

Utiliser AutoIt dans Selenium

Étape 6) L'écran ci-dessous montre que le script AutoIt est terminé pour la gestion du chargement de fichiers. Vous pouvez maintenant fermer l'identificateur d'élément et enregistrer le script sous le nom « FileUpload » à l'emplacement indiqué (E:\AutoIT).

Utiliser AutoIt dans Selenium

Vous ne pouvez pas exécuter ce script directement ; vous devez le compiler.

Pour compiler ce script, vous avez deux options : « compiler le script x64" et "compiler le script x86« Si vous avez un Windows machine 32 bits, alors optez pour «compiler le script x86« et pour un Windows Machine 64 bits, optez pour «compiler le script x64. »

Utiliser AutoIt dans Selenium

Étape 7) 'FileUpload exe' Le fichier est généré après la compilation ; vous pouvez le voir sur la capture d’écran ci-dessous. Nous pouvons maintenant utiliser ce fichier dans le Selenium Script WebDriver.

Utiliser AutoIt dans Selenium

Nous allons maintenant utiliser ce script AutoIt dans Selenium WebDriver. Consultez le résultat ci-dessous.

Téléchargement de fichier dans Selenium Utilisation d'AutoIt

Dans une Selenium Dans le script, nous trouvons les éléments du formulaire, remplissons les données requises dans chaque élément et téléchargeons le fichier « resume.doc » en exécutant le fichier exe AutoIt généré par le script AutoIt. Ensuite, nous autorisons la soumission du formulaire. Selenium Script AutoIt.

  • Ouvrez Eclipse et commencez à écrire du code.
  • Lorsque vous Selenium En cliquant sur le bouton Choisir un fichier, la boîte de dialogue de téléchargement de fichiers s'ouvre.
  • Ensuite, nous devons appeler le script AutoIt ; le contrôle est immédiatement transféré à AutoIt afin de télécharger un fichier, puis le contrôle est renvoyé à Selenium comme indiqué ci-dessous.

Téléchargement de fichier dans Selenium Utilisation d'AutoIt

Étape 1) Développent Selenium script dans Eclipse.

  • Runtime La classe permet au script de s'interfacer avec l'environnement dans lequel le script s'exécute.
  • getRuntime () récupère la durée d'exécution actuelle associée à ce processus.
  • exécutable() la méthode exécute le script AutoIt ( FileUpload.exe ).
Runtime.getRuntime().exec("E:\\AutoIT\\FileUpload.exe");

La ligne ci-dessus appellera le Script AutoIt in Selenium et téléchargez le fichier.

Téléchargement de fichier dans Selenium Utilisation d'AutoIt

Étape 2) Exécutez le Selenium script dans Eclipse.

importjava.io.IOException;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
public class FileUpload {
public static void main(String[] args) throws IOException {
    WebDriver driver=new FirefoxDriver();
    driver.get("https://demo.guru99.com/test/autoit.html");
    driver.findElement(By.id("postjob")).click();

    driver.findElement(By.id("input_3")).sendKeys("Gaurav");
    driver.findElement(By.id("id_4")).sendKeys("test.test@gmail.com");
    driver.findElement(By.id("input_4")).click();
    // below line execute the AutoIT script .
     Runtime.getRuntime().exec("E:\\AutoIT\\FileUpload.exe");
    driver.findElement(By.id("input_6")).sendKeys("AutoIT in Selenium");
    driver.findElement(By.id("input_2")).click();
    driver.close();
     }
}

Étape 3) Vérifiez le résultat ; le fichier resume.doc a été téléchargé avec succès et un message de remerciement s’affichera.

Téléchargement de fichier dans Selenium Utilisation d'AutoIt

Pourquoi utiliser AutoIt ?

Selenium AutoIt est un outil open source conçu pour automatiser les applications web sur différents navigateurs, mais pour gérer les interfaces graphiques et les popups non HTML dans une application. Selenium est nécessaire car ces activités basées sur les fenêtres ne sont pas gérées par Selenium.

Utiliser AutoIt

Dans la suite de ce tutoriel AutoIt, nous allons apprendre à téléverser un fichier dans Selenium WebDriver utilisant AutoIt. Pour ce faire, nous avons besoin de trois outils.

  • Selenium pilote web
  • Éditeur AutoIt et identificateur d'élément
  • La fenêtre que vous souhaitez automatiser

FAQ

Selenium WebDriver contrôle uniquement les éléments du navigateur. AutoIt gère les éléments natifs. Windows boîtes de dialogue telles que les boîtes de téléchargement de fichiers, les invites de téléchargement et les fenêtres d'authentification de base avec lesquelles le WebDriver ne peut pas interagir directement.

L'outil Au3Info inspecte tout élément visible Windows La fonction `ControlFocus` permet d'identifier le contrôle sous le curseur et renvoie son titre, sa classe et ses valeurs d'instance. Ces attributs sont directement utilisés par les appels `ControlFocus`, `ControlSetText` et `ControlClick`.

Oui. Le fichier source .au3 doit être compilé en un fichier .exe en utilisant l'option x86 ou x64 correspondant à votre machine. Selenium puis appelle le fichier FileUpload.exe compilé via Runtime.getRuntime().exec().

AutoIt est un Windows-uniquement un outil. Pour macOS ou les boîtes de dialogue de fichiers Linux, utilisez AppleScript, xdotool ou sendKeys avec le chemin d'accès au fichier directement, car ces systèmes d'exploitation ne prennent pas en charge les exécutables AutoIt.

Des outils alimentés par l'IA comme TestimFunctionize et Mabl utilisent la vision par ordinateur pour reconnaître les boîtes de dialogue natives grâce à leur mise en page visuelle, puis génèrent automatiquement la logique de localisation. Cela réduit le besoin de scripts AutoIt lors de la gestion de systèmes instables ou en évolution. Windows popups.

Oui. Les grands modèles de langage tels que ChatGPT et Claude peuvent générer des scripts AutoIt à partir d'invites en anglais simple décrivant la boîte de dialogue cible, les identifiants des contrôles et le chemin de téléchargement, que les testeurs peuvent ensuite affiner et compiler.

Résumez cet article avec :