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 :