how handle windows pop up selenium using autoit
In diesem Lernprogramm werden verschiedene Methoden zum Behandeln von Windows-Popups in Selen erläutert, wenn die Automatisierung mit dem AutoIT-Tool den Gültigkeitsbereich verlässt:
AutoIT ist ein Drittanbieter-Tool, mit dem Selenium Popups wie Windows-Authentifizierungs-Popup, Flash-Anwendungen, Desktop-Anwendungen usw. verarbeiten kann.
Selen ist auf die Automatisierung von Webanwendungen beschränkt. In einigen Fällen wird möglicherweise ein Windows-Popup in der Anwendung angezeigt, das Selenium nicht verarbeiten kann. Um mit solchen Szenarien umgehen zu können, hilft AutoIT bei der Automatisierung von Windows-Popup- und Desktopanwendungen.
=> Besuchen Sie hier, um die Selenium Training Series For All zu sehen.
Was du lernen wirst:
Übersicht über das AutoIT-Tool
Hier ist ein Video-Tutorial:
Behandeln Sie Windows Popup mit AutoIT
AutoIT ist ein Drittanbieter-Tool, mit dem Windows-basierte Anwendungen verarbeitet werden. Die verwendete Skriptsprache heißt VBScript.AutoIt ist auch eine Freeware. Es verwendet eine Kombination vonMausbewegungen und Tastaturbewegungen zur Automatisierung der Aktionen, die mit dem Selenium-Webtreiber nicht ausgeführt werden können.
AutoIt wird im EXE-Format verwendet, damit es im Selenium Automation-Skript verwendet werden kann.
Schauen wir uns eine an Beispiel, wobei wir müssten Eine Datei hochladen zur Anwendung.
Das Szenario besteht darin, ein Profilbild auf LinkedIn hochzuladen. Die Testschritte für dieses Szenario sind:
- URL eingeben
- Geben Sie einen gültigen Benutzernamen, ein Passwort und ein Login ein.
- Klicken Sie auf das Profil-Upload-Symbol.
- Es erscheint ein Windows-Popup, in dem der Pfad zum Hochladen eines Bildes eingegeben wird.
Bis Schritt 3 kann Selenium Automation damit umgehen. Wenn das Windows-Popup angezeigt wird, wird das AutoIT-Skript verwendet, um diesen Teil zu automatisieren.
Lassen Sie uns nun einen Blick darauf werfen, wie Aktionen im Windows-Popup automatisiert werden können.
Dies kann auf 4 verschiedene Arten gehandhabt werden.
- Verwenden von Windows-Befehlen zum Hochladen einer bestimmten Datei.
- Verwenden von Steuerbefehlen zum Hochladen einer Datei.
- Verwenden Sie das Befehlszeilenargument, um den hochzuladenden Dateinamen anzugeben.
- Verwenden des AutoIT-Aufzeichnungstools.
Alle Skripte werden mit erstellt AutoItScriptEditor, Dies ist im AutoIt-Ordnerpaket verfügbar.
Navigieren Sie zu AutoIt3> SciTE> SciTE.exe und öffnen Sie die ScriptEditor-Anwendung.
# 1) Verwenden von Windows-Befehlen
Wir haben verschiedene Funktionen in AutoIt.
Sie können einen Blick darauf werfen Hier. Um die Windows-Popup-Aktionen zu automatisieren, analysieren wir zunächst die Aktionen. Diese schließen ein:
- Stellen Sie den Fokus auf das aktuelle Fenster.
- Geben Sie den Pfad des Dateinamens, der hochgeladen werden soll, in das Feld Dateiname ein.
- Klicken Sie auf die Schaltfläche Öffnen oder drücken Sie die Eingabetaste in der Tastatur.
Lassen Sie uns die obigen Punkte im Detail verstehen:
- Stellen Sie den Fokus auf das aktuelle Fenster
WinWaitActive : Setzt den Fokus des Cursors auf den angegebenen Fensternamen. In diesem Fall lautet der Titel des Fensters 'Öffnen'. Also geben wir den Befehl als anWinWaitActive ('Öffnen').
Bitte beachten Sie, dass der gleiche Windows-Titel für jeden Browser unterschiedlich ist.
Sagen, für Firefox ist es 'Datei-Upload'. - Der Befehl 'AutoIT' lautet alsoWinWaitActive ('Datei-Upload').
Für IE Es handelt sich um 'Datei zum Hochladen'. Der Befehl 'AutoIT' lautet alsoWinWaitActive ('Datei zum Hochladen')
Für Chrome ist es 'Öffnen' - also wird der AutoIT-Befehl seinWinWaitActive ('Öffnen')
Sie sollten den Fenstertitel basierend auf dem Browser angeben, den Sie für die Automatisierung verwenden.
zwei. Geben Sie den Pfad des Dateinamens, der hochgeladen werden soll, in das Feld Dateiname ein
Senden - sendet Tastaturanschläge oder simuliert mit anderen Worten Tastaturaktionen.
Möglicherweise drücken Sie die Eingabetaste, die Umschalttaste usw. ODER Eingabe einer Zeichenfolge, Nummer usw. In diesem Beispiel muss ich den Dateinamen eingeben, damit ich den Dateinamen mit dem Befehl in das Fenster eingebe. - -Senden ('D: passport.jpg')
3. Klicken Sie auf die Schaltfläche Öffnen oder drücken Sie die Eingabetaste in der Tastatur
Senden ({ENTER})- sendet den ENTER-Tastendruck an das Fenster, wodurch der Upload abgeschlossen wird.
Fragen und Antworten zu erholsamen Webdiensten für erfahrene
Speichern Sie das erstellte Skript an einem beliebigen Ort. Es wird im .au3-Format gespeichert. Klicken Sie nach dem Speichern mit der rechten Maustaste auf die .au3-Datei und kompilieren Sie sie.
Nach der Kompilierung wird es in das EXE-Format (ausführbares Format) konvertiert. Diese Datei verwenden wir im Selenium-Skript.
Sobald die EXE-Datei erstellt wurde, können Sie die Datei im Selenium Automation-Skript verwenden, um die darin enthaltenen Befehle auszuführen
Runtime.getRuntime.exec ('Geben Sie hier den Dateinamen autoIt exe an')
# 2) Verwenden von Steuerbefehlen
Wir haben bestimmte Steuerbefehle in AutoIT, um Aktionen auszuführen. Hier ist die Liste der Steuerbefehle in AutoIT.
Lassen Sie uns sehen, wie Sie dasselbe Szenario zum Hochladen von Dateien mithilfe dieser Steuerbefehle von AutoIT automatisieren.
Nun in Ordnung Um das Windows-Popup zu automatisieren, müssen die folgenden Aktionen ausgeführt werden:
- Stellen Sie den Fokus auf das aktuelle Fenster.
- Geben Sie den Pfad des Dateinamens, der hochgeladen werden soll, in das Feld Dateiname ein.
- Klicken Sie auf die Schaltfläche Öffnen oder drücken Sie die Eingabetaste in der Tastatur.
Lassen Sie uns die obigen Punkte im Detail verstehen:
- Stellen Sie den Fokus auf das aktuelle Fenster
ControlFocus:Setzt den Fokus auf das angegebene Element. In diesem Fall setzen wir den Fokus auf das Textfeld Bearbeiten.
Wenn Sie sich die Beschreibung ansehen, sehen Sie, dass ein oder mehrere Parameter erforderlich sind. Wir können diese Parameter mit dem Windows-Info-Tool von AutoIt übergeben.
Lasst uns Öffnen Sie die AutoIT-Anwendung wie folgt:
Das Windows-Info-Tool wird wie folgt geöffnet:
Dieses Tool wird verwendet, um Elemente in der Windows-Anwendung / im Windows-Popup zu überprüfen.
Um verschiedene Attribute für jedes Element im Windows-Popup zu erhalten, ziehen Sie das Finder-Symbol des Windows-Info-Tools und klicken Sie auf das Element, um dessen Eigenschaften wie folgt anzuzeigen.
Wir haben seine Eigenschaften wie gezeigt im Tool angezeigt.
Für das Feld Dateiname lauten die Eigenschaften und die entsprechenden Werte:
- Titel - Öffnen
- Klassenname - Bearbeiten
- Instanz - 1
Mit diesen Eigenschaften können wir die Parameter für den Steuerbefehl übergeben.
Um den Fokus auf das Feld Dateiname zu setzen, rufen wir den folgenden Befehl 'ControlFocus' auf:
- Syntax : ControlFocus ('Titel', 'Text', controlID)
- Der Titel entspricht dem im Tool angezeigten Titel.
- Die Steuerelement-ID ist die Kombination aus Klassenname + Instanz im Tool
ControlFocus ('Öffnen', ',' Bearbeiten1 ')
Wo,
- Offen - ist der Titel
- Edit1 - ist die controlID (controlID = ClassName + Instance)
zwei. Geben Sie den Pfad des Dateinamens, der hochgeladen werden soll, in das Feld Dateiname ein
ControlSetText - gibt den Text in das Element ein.
- Syntax : ControlSetText ('Titel', 'Text', Steuer-ID, 'Neuer Text' (, Flag = 0))
In unserem Fall haben wir den Dateinamen im Textfeld.
ControlSetText ('Öffnen', ',' Bearbeiten1 ',' D: passport.jpg ')
Wo,
- Offen - ist der Titel
- Edit1 - ist die controlID (controlID = ClassName + Instance)
- D: passport.jpg - ist der hochzuladende Dateiname
3. Klicken Sie auf die Schaltfläche Öffnen oder drücken Sie die Eingabetaste in der Tastatur
ControlClick - führt eine Klickaktion auf das Element aus. In diesem Beispiel klicken wir auf die Schaltfläche 'Öffnen'
- Syntax : ControlClick ('Titel', 'Text', controlID (, button = 'left' (, clicks = 1 (, x (, y))))
In unserem Fall sollte es im Windows-Popup auf die Schaltfläche 'Öffnen' klicken.
ControlClick ('Öffnen', ',' Button1 ')
Wo,
- Offen - ist der Titel
- Button1 - ist die controlID (controlID = ClassName + Instance)
Wir rufen die EXE-Datei aus Selenium-Code mit dem Befehl auf.Runtime.getRuntime.exec ('Geben Sie hier den Dateinamen autoIt exe an')
HINWEIS: Wenn wir mehrere Dateien in einer Instanz hochladen müssen, können wir alle Dateinamen in einer Variablen angeben und den Variablennamen im Befehl übergeben.
ControlFocus - Setzt den Fokus auf das Element.
$ files - ist die erstellte Variable und enthält den Text / Dateinamen, der hochgeladen werden soll.
ControlSetText - Übergibt die Variable mit den Dateinamen, die hochgeladen werden sollen, an das Element 'Bearbeiten'.
ContolClick - führt eine Klickaktion auf das Element aus.
# 3) Verwenden der Befehlszeile zum Festlegen des hochzuladenden Dateinamens
Das gleiche Verfahren kann auf andere Weise angegangen werden, wobei der Dateiname vom Benutzer erhalten wird. Dies erfolgt über den Befehlszeilenansatz.
Anstatt den Dateinamen direkt in AutoIT anzugeben, übergeben wir ihn im Selenium-Code wie folgt:
AutoIT-Skript: (Upload.exe)
ControlFocus(“Open”,””,”Edit1”) ControlSetText(“Open”,””,”Edit1”,$cmdLine(1)) ControlClick(“Open”,””,”Button1”)
In Selen Code:
Wir spezifizieren es als:
Runtime.getRuntime.exec(“Path of .exe file”+””+ “FileToUpload”)
In diesem Fall wird es sein
Runtime.getRuntime.exec(“D:automationUpload.exe”+””+ “D:automationimage.jpg”)
Speichern Sie die erstellte Datei und kompilieren Sie sie, um sie in das ausführbare Format zu konvertieren.
# 4) Verwenden der Aufnahmefunktion von AutoIT
Diese Funktion ist nur in Versionen unter 3.3.14.0 verfügbar. Größere Versionen unterstützen diese Funktion nicht.
Navigieren Sie zum Öffnen des Aufzeichnungswerkzeugs zu AutoIt3> Extras> Au3Record> Au3Record.exe
Wenn Sie dies verwenden, deaktivieren Sie immer die Option 'Maus aufnehmen', da die Mausinteraktion für jede Bildschirmauflösung unterschiedlich ist. Zeichnen Sie immer die Tastaturanschläge auf.
Wählen Sie im Tool 'Click to Record' und die Aktionen werden darin aufgezeichnet.
Wenn Sie mit der Aufnahme fertig sind, wählen Sie 'Click to Stop' und speichern Sie die Datei
Sie können die gespeicherte .au3-Datei öffnen, um die Befehle anzuzeigen, die für jede von Ihnen ausgeführte Aktion erstellt wurden
Kompilieren Sie das Skript und konvertieren Sie es in eine EXE-Datei.
Die erstellte EXE-Datei kann wie folgt direkt im Selenium-Code zur Ausführung verwendet werden:
Runtime.getRuntime.exec(“D:automationRecord.exe”)
Fazit
So kann jedes Windows-Popup wie Authentifizierung oder Datei-Upload oder geöffnete Datei usw. mit AutoIT verarbeitet werden, indem die Skriptdatei in Selenium aufgenommen wird.
Im nächsten Kapitel erfahren Sie mehr über ein anderes Drittanbieter-Tool namens Sikuli, mit dem Anwendungen mithilfe der Bilderkennungstechnik automatisiert werden.
=> Besuchen Sie hier, um Selen von Grund auf neu zu lernen.
Literatur-Empfehlungen
- Umgang mit Warnungen / Popups in Selenium WebDriver - Selenium Tutorial # 16
- Cucumber Selenium Tutorial: Integration von Cucumber Java Selenium WebDriver
- Top 10 Selen-Ausnahmen und wie man damit umgeht (Exakter Code)
- Einführung in Selenium WebDriver - Selenium Tutorial # 8
- AutoIt-Tutorial - AutoIt-Download, Installation und grundlegendes AutoIt-Skript
- ChromeDriver Selenium Tutorial: Selenium Webdriver-Tests auf Chrome
- 30+ beste Selen-Tutorials: Lernen Sie Selen anhand realer Beispiele
- Teilzeit freiberufliche Stellenangebot für Selenexperten