Verwendung von AutoIT mit Selenium Webdriver: Beispiel für das Hochladen von Dateien

Inhaltsverzeichnis:

Anonim

Was ist AutoIt?

AutoIt ist eine Freeware-Skriptsprache zur Automatisierung der Windows-Benutzeroberfläche und der allgemeinen Skripterstellung. Es verwendet eine Kombination aus Mausbewegung, Tastenanschlägen und Manipulation der Fenstersteuerung, um eine Aufgabe zu automatisieren, die mit einem Selen-Webdriver nicht möglich ist.

In diesem AutoIt-Tutorial lernen Sie:

  • Warum AutoIt verwenden?
  • So laden Sie AutoIT herunter und installieren es
  • Suchen des Elements über die Elementkennung und Schreiben eines Skripts im AutoIT-Editor.
  • AutoIT Datei in Selenium Webdriver hochladen

Warum AutoIt verwenden?

Selenium ist ein Open Source-Tool, das entwickelt wurde, um webbasierte Anwendungen in verschiedenen Browsern zu automatisieren, aber Fenster-GUI- und Nicht-HTML-Popups in Anwendungen zu verarbeiten. AutoIt in Selenium ist erforderlich, da diese fensterbasierten Aktivitäten nicht von Selenium verarbeitet werden.

In diesem AutoIt-Tutorial erfahren Sie, wie Sie mit AutoIt eine Datei in den Selenium-Webtreiber hochladen. Hier brauchen wir drei Werkzeuge, um dies zu erreichen.

  • Selenium Webdriver
  • AutoIT-Editor und Elementkennung
  • Das Fenster, das Sie automatisieren möchten

So laden Sie AutoIT herunter und installieren es

Schritt 1) : Gehen Sie zu diesem Link.

Schritt 2) : Bewegen Sie den Mauszeiger über die Dropdown-Liste "Autoit" und "Autoit-Editor".

Schritt 3) Klicken Sie auf die Option "AutoIT" -Downloads.

Schritt 4) : Laden Sie "Autoit" herunter, indem Sie auf die Schaltfläche "Autoit herunterladen" klicken.

Schritt 5) : Laden Sie jetzt "Autoit Editor" herunter, indem Sie auf die Schaltfläche "Downloads" klicken.

Schritt 6): Klicken Sie wie unten gezeigt auf den Link.

Nach dem Download erhalten Sie zwei Setup-Dateien, wie im folgenden Bildschirm gezeigt. Das erste ist das Setup von AutoIt Version 3 und das zweite ist Scitautoit3 .

Schritt 6) : Zum Installieren von AutoIT - Klicken Sie nacheinander auf beide AutoIT-Einstellungen.

Schritt 7) : Öffnen Sie nach erfolgreicher Installation den AutoIT-Editor.

Gehen Sie zu 'C: \ Programme (x86) \ AutoIt3 \ SciTE'.

und klicken Sie auf die Datei 'SciTE.exe'. Der AutoIT-Editor wird wie im folgenden Bildschirm gezeigt geöffnet.

Schritt 8) : Öffnet nun das Element Identifier.

Gehen Sie zu 'C: \ Programme (x86) \ AutoIt3'.

Klicken Sie auf die Datei 'Au3Info.exe'. Die Elementkennung wird wie im folgenden Bildschirm gezeigt geöffnet.

Hinweis: Sobald Sie mit dieser Elementkennung fertig sind, die Sie manuell schließen müssen, wird sie nicht automatisch geschlossen.

Suchen des Elements über die Elementkennung und Schreiben eines Skripts im AutoIT-Editor.

Darunter erfahren Sie, wie Sie den AutoIt-Editor verwenden und wie Sie das Element im Datei-Uploader-Fenster über die AutoIT-Element-ID finden. (Die Element-ID ist ein Tool wie die Selenium-IDE. Die ID identifiziert das Element der Fenster-GUI oder Nicht-HTML-Popups und gibt das Attribut von an Element wie Titel , Klasse , Instanz ) und wie man ein Skript im AutoIT-Editor mit 3 Methoden schreibt.

Zum Beispiel: Wir werden die Seite "Write to us" von guru99 verwenden, um den Lebenslauf (Doc-Datei) hochzuladen.

Nachdem Sie auf der Seite "Schreiben Sie uns" auf die Schaltfläche "Datei auswählen" geklickt haben, müssen Sie das AutoIT-Skript aufrufen. Das Steuerelement wird sofort nach dem Klicken auf "Datei auswählen" durch die folgende Anweisung, die sich um das Hochladen eines Teils kümmert, auf "Automatisch" übertragen.

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

Wenn wir schließlich ein Selenium-Skript ausführen, wird das Formular ausgefüllt-> Lebenslauf hochladen-> Formular senden.

Schritt 1) : Öffnen Sie nun die Elementkennung. Gehen Sie zu 'C: \ Programme (x86) \ AutoIt3' und klicken Sie auf die Datei 'Au3Info.exe'. Das Fenster zur Elementkennung wird wie im folgenden Bildschirm gezeigt geöffnet.

Schritt 2) : Öffnen Sie nun das Fenster zum Hochladen von Dateien, indem Sie auf "Datei auswählen" klicken. Dies ist eine Windows-Aktivität.

Schritt 3) : Ziehen Sie das Suchwerkzeug auf das Feldelement "Dateiname" des Datei-Uploader-Fensters, um die grundlegenden Attributinformationen zu finden, wie im folgenden Bildschirm mit dem Pfeil gezeigt.

Wir können den Wert von Attributen erhalten, dh title = 'Open' , class = 'Edit' und instance = '1', wie unten gezeigt. Diese Werte werden beim Schreiben eines AutoIT-Skriptbeispiels verwendet, wie in Schritt 4 erläutert.

Schritt 4) : jetzt offen AutoIT Script - Editor, gehe zu 'C: \ Program Files (x86) \ AutoIt3 \ SciTE' und klicken Sie auf 'SciTE.exe' , wie in Schritt 7 von der 1 gezeigt st Thema.

Beginnen Sie mit dem Schreiben eines Skripts zur Auswahl einer hochzuladenden Datei.

Es stehen viele Methoden zur Verfügung, die wir je nach Anforderung in einem Skript verwenden können. Im Moment konzentrieren wir uns jedoch auf die folgenden Methoden, da diese Methoden zum Schreiben eines Skripts zum Hochladen von Dateien erforderlich sind:

  1. ControlFocus ("title", "text", controlID) // Setzt den Eingabefokus auf ein bestimmtes Steuerelement in einem Fenster.
  2. ControlSetText ("title", "text", controlID, "Dateipfad, der hochgeladen werden muss") // Legt den Text eines Steuerelements fest.
  3. ControlClick ("title", "text", controlID) // Sendet einen Mausklickbefehl an ein bestimmtes Steuerelement.

Sie können sehen, dass eine Reihe von Methoden angezeigt werden, wie im folgenden Bildschirm gezeigt. Das Gute an AutoIT ist, dass es Eclipse ähnelt, das Ihnen einige der Methoden vorschlägt.

Hier im AutoIT-Editor haben wir die Methode "Kontrollfokus" ausgewählt . Die Elementkennung ist bereits geöffnet und wird minimiert, da das Element bereits in Schritt 3 identifiziert wurde. Wir können es öffnen, indem wir es maximieren.

Jetzt werden die Werte aus der Elementkennung für die Methoden 'ControlFocus' und 'ControlSetText' übernommen, da diese Methoden für dasselbe Element, dh das Textfeld 'Dateiname', funktionieren. Für die Methode 'ControlClick' müssen jedoch Werte verschiedener Elemente erfasst werden, z. B. 'Öffnen'. Taste.

Parameterwerte für die ControlFocus- Methode:

Diese Methode setzt den Fokus auf das Textfeld 'Dateiname' des Datei-Uploader-Fensters.

  • 1. Parameter Titel ist „Open“.
  • Wir ignorieren den 2. Parameter, der Text ist nicht erforderlich.
  • Der dritte Parameter controlID ist die Kombination aus class = 'Edit' und Instance = '1', dh ,. "Edit1."
    ControlFocus ("Open", "", "Edit1") // Diese Methode setzt den Eingabefokus auf das Textfeld "Dateiname". 

Parameterwerte für die ControlSetText- Methode:

Diese Methode wird verwendet, um den Pfad einer Datei zu definieren, die im Textfeld "Dateiname" hochgeladen werden muss. Auf andere Weise können wir sagen, dass diese Methode verwendet wird, um den Text auf das Eingabeelement zu setzen.

  • 1. Parameter Titel ist „Open“.
  • Wir ignorieren den 2. Parameter, der Text ist nicht erforderlich.
  • Der dritte Parameter controlID ist die Kombination aus class = 'Edit' und Instance = '1', dh "Edit1".
  • 4. Parameter neuer Text, wir übergeben den Pfad der Datei, die wir hochladen müssen.
    ControlSetText ("Öffnen", "", "Bearbeiten1", "E: \ Resume \ resume.doc") // Diese Methode gibt den Dateipfad eines Steuerelements ein. 

Schließen Sie nach dem Ausführen des obigen Schritts die Fenster (Editor und Elementkennung) nicht, sondern lassen Sie sie geöffnet. Sie müssen das Datei-Uploader-Fenster erneut öffnen, um die Attribute der Schaltfläche "Öffnen" zu finden, wie in Schritt 5 gezeigt.

Schritt 5) : Ziehen Sie nun das Finder-Tool auf das Schaltflächenelement "Öffnen" des Datei-Uploader-Fensters, um die grundlegenden Attributinformationen zu finden.

Vorherige Werte (dh Attribute des Textfelds 'Dateiname') werden mit neuen Werten der Schaltfläche 'Öffnen' überschrieben. Sie können sehen, dass das Klassenattribut jetzt in "Schaltfläche" geändert wurde, die zuvor im Fenster "AutoIT-Elementkennung" "bearbeitet" wurde.

Wir können den Wert von Attributen erhalten, dh title = 'Open' , class = 'Button' und instance = '1', wie unten gezeigt. Diese Werte werden beim Schreiben eines Autoit-Skripts verwendet, wie unten erläutert.

Parameterwerte für die ControlClick- Methode:

Diese Methode klickt auf die Schaltfläche "Öffnen" des Datei-Uploader-Fensters.

  • 1. Parameter Titel ist „Open“.
  • Wir ignorieren den 2. Parameter; Der Text ist nicht erforderlich.
  • Der dritte Parameter controlID ist die Kombination aus Klasse und Instanz, dh "Button1".
ControlClick ("Open", "", "Button1") // Diese Methode klickt auf die Schaltfläche 'Open' des Datei-Uploaders.

Schritt 6) : Im folgenden Bildschirm sehen Sie, dass das AutoIT-Skript für den Datei-Uploader abgeschlossen ist. Jetzt können Sie die Element-ID schließen und das Skript als "FileUpload" am angegebenen Speicherort speichern (E: \ AutoIT).

Jetzt können Sie dieses Skript nicht direkt ausführen. Sie müssen dieses Skript kompilieren.

Zum Kompilieren dieses Skripts haben Sie zwei Optionen: " Kompilierungsskript x64 " und " Kompilierungsskript x86 ". Wenn Sie einen Windows 32-Bit-Computer haben, wählen Sie " Kompilierungsskript x86" und für Windows 64-Bit-Computer " Kompilieren Sie das Skript x64 . "

Schritt 7): Die nach dem Kompilieren generierte Datei 'FileUpload exe' wird im folgenden Bildschirm angezeigt. Jetzt können wir diese Datei im Selenium-Webdriver-Skript verwenden.

Jetzt werden wir dieses AutoIT-Skript im Selenium-Webtreiber verwenden. Überprüfen Sie unten für die Ausgabe.

AutoIT Datei in Selenium Webdriver hochladen

Im Selenium-Skript finden wir die Elemente des Formulars und füllen die Daten in jedem Element nach Bedarf aus. Laden Sie die Datei 'resume.doc' hoch, indem Sie die aus dem AutoIT-Skript generierte AutoIT-Exe-Datei ausführen und das Formular dann im Selenium-AutoIt-Skript senden.

  • Öffnen Sie Eclipse und schreiben Sie Code.
  • Wenn Selen auf die Schaltfläche Datei auswählen klickt, wird das Feld Datei-Uploader geöffnet.
  • Dann müssen wir das AutoIT-Skript aufrufen, das Steuerelement wird sofort an AutoIT übertragen, um eine Datei hochzuladen, und dann das Steuerelement wie unten gezeigt an Selen zurücksenden.

Schritt 1) : Entwickeln Sie ein Selenskript in Eclipse.

  • Mit der Runtime- Klasse kann das Skript eine Schnittstelle mit der Umgebung herstellen, in der das Skript ausgeführt wird.
  • getRuntime () ruft die aktuelle Laufzeit ab, die diesem Prozess zugeordnet ist.
  • exec () -Methoden führen das AutoIT-Skript (FileUpload.exe) aus.
Runtime.getRuntime (). Exec ("E: \\ AutoIT \\ FileUpload.exe");

Die obige Zeile ruft das AutoIT-Skript in Selen auf und lädt die Datei hoch .

Schritt 2) : Führen Sie das Selenium-Skript in Eclipse aus.

importjava.io.IOException;import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.firefox.FirefoxDriver;öffentliche Klasse FileUpload {public static void main (String [] args) löst IOException aus {WebDriver-Treiber = neuer FirefoxDriver ();driver.get ("http://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 (" Diese E-Mail-Adresse wird vor Spambots geschützt. Zum Anzeigen muss JavaScript aktiviert sein.");driver.findElement (By.id ("input_4")). click ();// unter der Zeile das AutoIT-Skript ausführen.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 ();}}}}

Schritt 3) : Überprüfen Sie die Ausgabe, die Datei resume.doc wurde erfolgreich hochgeladen und die Dankesnachricht wird angezeigt.

Fazit:

  • Element Identifier und AutoIT-Editor heruntergeladen und installiert.
  • Öffnete die Site, auf der die Operation ausgeführt werden soll.
  • Element Identifier identifiziert die Elemente des Datei-Uploader-Fensters.
  • AutoIT-Skript im Editor mit Hilfe der Element-ID vorbereitet.
  • Das Autoit-Skript wird im Selenium-Webdriver-Skript verwendet.
  • Das Selenium-Skript wurde ausgeführt.
  • Ausgabe: Die Datei wurde erfolgreich hochgeladen.

Dieser Artikel wurde von Gaurav Nigam verfasst