AutoIT dans Selenium Tutoriel : Comment l'utiliser ?
Qu'est-ce qu'AutoIt dans Selenium?
AutoIt est un langage de script gratuit conรงu pour automatiser l'interface graphique de Windows et les scripts gรฉnรฉraux. Il utilise une combinaison de mouvements de souris, de frappes au clavier et de manipulations de contrรดle de fenรชtre pour automatiser une tรขche qui n'est pas possible avec Selenium Webdriver.
Comment tรฉlรฉcharger et installer AutoIT
รtape 1) : Allez ร ceci lien.
รtape 2) : Passez la souris sur les listes dรฉroulantes "Autoit" et "Autoit Editor".
รtape 3) Cliquez sur l'option de tรฉlรฉchargement ยซ AutoIT ยป.
รtape 4): Tรฉlรฉchargez ยซ Autoit ยป en cliquant sur le bouton ยซ Tรฉlรฉcharger Autoit ยป .
รtape 5): Tรฉlรฉchargez maintenant ยซ Autoit editor ยป en cliquant sur le bouton ยซ Tรฉlรฉchargements ยป.
รtape 6) Cliquez sur le lien comme indiquรฉ ci-dessous.
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 .
รtape 7): Pour installer AutoIT, cliquez sur les deux configurations AutoIT une par une.
รtape 8): Aprรจs une installation rรฉussie, ouvrez AutoIT Editor.
Allez dans ยซ C:\Program Files (x86)\AutoIt3\SciTE ยป
et cliquez sur le fichier 'SciTE.exe', l'รฉditeur AutoIT s'ouvre comme indiquรฉ dans l'รฉcran ci-dessous.
รtape 9) : Ouvre maintenant l'รฉlรฉment Identifier .
Allez dans 'C:\Program Files (x86)\AutoIt3'
Et cliquez sur le fichier 'Au3Info.exe', l'identifiant de l'รฉlรฉment s'ouvre comme indiquรฉ dans l'รฉcran ci-dessous.
Remarque : 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 ce cadre, nous verrons comment utiliser l'รฉditeur AutoIt et comment trouver un รฉlรฉment dans la fenรชtre de tรฉlรฉchargement de fichiers via l'identifiant d'รฉlรฉment AutoIT (l'identifiant d'รฉlรฉment est un outil comme Selenium IDE, l'identifiant 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รฉment comme titre, classe, instance ) et comment รฉcrire un script sur l'รฉditeur AutoIT en utilisant 3 mรฉthodes.
Par Exemple: Nous utiliserons la page ยซ รcrivez-nous ยป de guru99 pour tรฉlรฉcharger le CV (fichier Doc).
Aprรจs avoir cliquรฉ sur le bouton ยซ Choisir un fichier ยป sur la page ยซ รcrivez-nous ยป, nous devons appeler le script AutoIT. Le contrรดle est immรฉdiatement transfรฉrรฉ ร autoit aprรจs avoir cliquรฉ sur ยซ Choisir un fichier ยป par l'instruction ci-dessous qui s'occupe du tรฉlรฉchargement d'une partie.
Runtime.getRuntime().exec("E:\\AutoIT\\FileUpload.exe");
Enfin, lorsque nous exรฉcuterons le script Selenium, il remplira le formulaire -> tรฉlรฉcharger le CV -> Soumettre le formulaire.
รtape 1): Maintenant, ouvrez l'identifiant de l'รฉlรฉment - Allez dans 'C:\Program Files (x86)\AutoIt3' et cliquez sur le fichier 'Au3Info.exe', la fenรชtre de l'identifiant de l'รฉlรฉment s'ouvre comme indiquรฉ dans l'รฉcran ci-dessous.
รtape 2): Ouvrez maintenant la fenรชtre de tรฉlรฉchargement de fichiers en cliquant sur ยซ Choisir un fichier ยป qui correspond ร l'activitรฉ de Windows.
รtape 3): Faites glisser l'outil de recherche sur l'รฉlรฉment de boรฎte ยซ Nom de fichier ยป de la fenรชtre de tรฉlรฉchargement de fichiers pour trouver les informations sur les attributs de base, comme indiquรฉ dans l'รฉcran ci-dessous avec la flรจche.
Nous pouvons obtenir la valeur des attributs, c'est-ร -dire title='Ouvrir', classe='Modifier' instance='1' comme indiquรฉ ci-dessous. Ces valeurs sont utilisรฉes dans l'รฉcriture d'un exemple de script AutoIT, comme expliquรฉ ร l'รฉtape 4 ci-dessous.
รtape 4): Ouvrez maintenant l'รฉditeur de script AutoIT, allez dans 'C:\Program Files (x86)\AutoIt3\SciTE' et cliquez sur 'SciTE.exe' comme indiquรฉ ร l'รฉtape 7 ร partir du 1st sujet.
Commencez ร รฉcrire un script pour sรฉlectionner un fichier ร tรฉlรฉcharger.
Il existe de nombreuses mรฉthodes disponibles que nous pouvons utiliser dans un script en fonction des besoins, mais pour le moment, nous allons nous concentrer sur les mรฉthodes ci-dessous, car ces mรฉthodes sont requises pour รฉcrire un script de tรฉlรฉchargement de fichiers :
- ContrรดleFocus("titre", "texte", IDcontrรดle) // Dรฉfinit le focus d'entrรฉe sur un contrรดle donnรฉ sur une fenรชtre.
- ControlSetText("titre", "texte", controlID, "Chemin du fichier ร tรฉlรฉcharger") // Dรฉfinit le texte d'un contrรดle.
- ContrรดleClic("titre", "texte", IDcontrรดle) //Envoie une commande de clic de souris ร un contrรดle donnรฉ.
Vous pouvez voir qu'un certain nombre de mรฉthodes sont affichรฉes comme indiquรฉ dans l'รฉcran ci-dessous. Lโavantage dโAutoIT est quโil ressemble un peu ร Eclipse cela vous suggรจre certaines des mรฉthodes.
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.
Maintenant, nous allons prendre 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, c'est-ร -dire la zone de texte 'Nom de fichier', mais pour la mรฉthode 'ControlClick', il faut capturer les valeurs de diffรฉrents รฉlรฉments, c'est-ร -dire 'Open'. bouton.
Valeurs des paramรจtres pour ContrรดleFocus mรฉthode:
Cette mรฉthode dรฉfinit le focus sur la zone de texte ยซ nom de fichier ยป de la fenรชtre de tรฉlรฉchargement de fichiers.
- 1er paramรจtre titre est ouvert ".
- Nous ignorons le 2รจ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 . 'Modifier1.'
ControlFocus("Open","","Edit1") // This method sets input focus to 'File name' text box.
Valeurs des paramรจtres pour ControlSetText mรฉthode :
Cette mรฉthode est utilisรฉe pour dรฉfinir le chemin d'un fichier que nous devons tรฉlรฉcharger dans la zone de texte ยซ Nom du fichier ยป. D'une autre maniรจre, on peut dire que cette mรฉthode est utilisรฉe pour dรฉfinir le texte sur l'รฉlรฉment d'entrรฉe.
- 1er paramรจtre titre est ouvert ".
- Nous ignorons le 2รจ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 transmettons le chemin du fichier que nous devons tรฉlรฉcharger.
ControlSetText("Open","","Edit1","E:\Resume\resume.doc") // This method input file path of a control.
Aprรจs avoir suivi l'รฉtape ci-dessus, ne fermez pas les fenรชtres (รฉditeur et identifiant d'รฉlรฉment), laissez-les ouvertes. Vous devez ร nouveau ouvrir la fenรชtre de tรฉlรฉchargement de fichiers pour trouver les attributs du bouton ยซ Ouvrir ยป, comme indiquรฉ ร l'รฉtape 5 ci-dessous.
รtape 5): Faites maintenant glisser l'outil de recherche sur l'รฉlรฉment bouton ยซ Ouvrir ยป de la fenรชtre de tรฉlรฉchargement de fichiers pour trouver les informations d'attribut de base.
Les valeurs prรฉcรฉdentes (c'est-ร -dire les attributs de la zone de texte ยซ Nom de fichier ยป) sont remplacรฉes par les nouvelles valeurs du bouton ยซ Ouvrir ยป. Vous pouvez voir que l'attribut de classe est maintenant remplacรฉ par ยซ bouton ยป qui รฉtait auparavant ยซ modifier ยป dans la fenรชtre d'identification de l'รฉlรฉment AutoIT.
Nous pouvons obtenir la valeur des attributs, c'est-ร -dire title='Ouvrir', classe='Bouton' instance='1' comme indiquรฉ ci-dessous. Ces valeurs sont utilisรฉes dans l'รฉcriture du script Autoit comme expliquรฉ ci-dessous.
Valeurs des paramรจtres pour ContrรดleClic mรฉthode:
Cette mรฉthode clique sur le bouton ยซ Ouvrir ยป de la fenรชtre de tรฉlรฉchargement de fichiers.
- 1er paramรจtre titre est ouvert ".
- Nous ignorons le 2รจme paramรจtre ; le 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 click on 'Open' button of file uploader.
รtape 6): Vous pouvez voir dans l'รฉcran ci-dessous que le script AutoIT est terminรฉ pour gรฉrer le tรฉlรฉchargement de fichiers. Vous pouvez maintenant fermer l'identifiant de l'รฉlรฉment et enregistrer le script sous ยซ FileUpload ยป ร l'emplacement indiquรฉ ( E:\AutoIT ).
Maintenant, vous ne pouvez plus exรฉcuter ce script directement, vous devez compiler ce script.
Pour compiler ce script, vous avez deux options ยป compiler le script x64 " et " compiler le script x86 ", si vous avez une machine Windows 32 bits, utilisez " compiler le script x86 ยป et pour les machines Windows 64 bits, optez pour " compiler le script x64 . ยป
รtape 7) : ยซ FileUpload exe ยป fichier gรฉnรฉrรฉ aprรจs compilation, vous pouvez le voir dans lโรฉcran ci-dessous. Nous pouvons maintenant utiliser ce fichier dans Selenium script de pilote Web.
Nous allons maintenant utiliser ce script AutoIT dans Selenium pilote Web. Vรฉrifiez ci-dessous la sortie.
Tรฉlรฉchargement de fichier dans Selenium en utilisant Autoit
In Selenium script, nous trouvons les รฉlรฉments du formulaire et remplissons les donnรฉes dans chaque รฉlรฉment comme requis et tรฉlรฉchargeons le fichier 'resume.doc' en exรฉcutant le fichier exe AutoIT gรฉnรฉrรฉ ร partir du script AutoIT, puis permettons de soumettre le formulaire dans Selenium Script AutoIt.
- Ouvrez Eclipse et commencez ร รฉcrire du code.
- Lorsque Selenium clique sur le bouton Choisir un fichier, la boรฎte 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 contrรดler le renvoi au sรฉlรฉnium comme indiquรฉ ci-dessous.
รtape 1): Dรฉvelopper un script sรฉlรฉnium dans Eclipse.
- Runtime La classe permet au script de s'interfacer avec l'environnement dans lequel le script s'exรฉcute.
- getRuntime () obtenir le temps d'exรฉcution actuel associรฉ ร ce processus.
- exรฉcutable() Les mรฉthodes exรฉcutent le script AutoIT (FileUpload.exe).
Runtime.getRuntime().exec("E:\\AutoIT\\FileUpload.exe");
la ligne ci-dessus appellera Script AutoIT en sรฉlรฉnium et tรฉlรฉchargez le fichier .
รtape 2) : Exรฉcuter 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 la sortie, le fichier CV.doc a รฉtรฉ tรฉlรฉchargรฉ avec succรจs et un message de remerciement s'affichera.
Pourquoi utiliser AutoIt ?
Selenium est un outil open source conรงu pour automatiser les applications Web sur diffรฉrents navigateurs, mais pour gรฉrer l'interface graphique des fenรชtres et les fenรชtres contextuelles non HTML dans l'application. AutoIt dans Selenium est requis car ces activitรฉs basรฉes sur les fenรชtres ne sont pas gรฉrรฉes par Selenium.
Dans la suite de ce didacticiel AutoIt, nous apprendrons comment tรฉlรฉcharger un fichier dans le pilote Web Selenium ร l'aide d'AutoIt. Ici, nous avons besoin de trois outils pour y parvenir.
- Selenium Pilote Web
- รditeur AutoIT et identifiant d'รฉlรฉment
- La fenรชtre que vous souhaitez automatiser
Conclusion
- รlรฉment Identificateur et รฉditeur AutoIT tรฉlรฉchargรฉs et installรฉs.
- Ouverture du site sur lequel faire l'opรฉration.
- L'identifiant d'รฉlรฉment identifie les รฉlรฉments de la fenรชtre de tรฉlรฉchargement de fichiers.
- Script AutoIT prรฉparรฉ dans l'รฉditeur ร l'aide de l'identifiant d'รฉlรฉment.
- Le script Autoit est utilisรฉ dans le script Selenium Webdriver.
- Exรฉcutรฉ le script sรฉlรฉnium.
- Rรฉsultat : le fichier a รฉtรฉ tรฉlรฉchargรฉ avec succรจs.




























