Selen + AutoIT. Windows Test Automation Windows

Mein Name ist Ivan Sidorenko, ich bin Testingenieur bei Digital Design.

Meine Aufgabe war es, Autotests für eines unserer Projekte mit dem Selenium WebDriver-Tool in Java zu entwickeln. Weitere Informationen hierzu finden Sie in meinem letzten Artikel.

Selen ist ein Tool zur Automatisierung von Webanwendungen in verschiedenen Browsern. Während der Entwicklung von Autotests bin ich auf ein Szenario gestoßen, in dem Sie mit dem Windows-Fenster interagieren müssen, um Dateien herunterzuladen. Leider kann Selenium nicht mit Windows-Fenstern arbeiten, sodass eine alternative Lösung gefunden werden musste.



Während der Suche fiel die Wahl auf AutoIT . Dieses Tool dient zur Automatisierung von Aufgaben in Microsoft Windows, die erforderlich waren. In diesem Artikel werde ich die Arbeit mit AutoIT beschreiben, um eine Aufgabe zu lösen. Es wird davon ausgegangen, dass Sie bereits eine Entwicklungsumgebung mit Selenium WebDriver verbunden haben. Beispielsweise wird ein Fenster zum Hochladen von Fotos auf eine der Fotobearbeitungsseiten verwendet. Also lasst uns anfangen.

1. Laden Sie AutoIT herunter und installieren Sie es.

2. Gehen Sie zu einem der Dienste, um beispielsweise Fotos herunterzuladen . Hier müssen Sie auf die Schaltfläche "Fotos herunterladen" klicken, um ein solches Windows-Fenster zu erhalten.



3. Gehen Sie nun zum AutoIT3-Ordner und wählen Sie Au3Info.exe



4. Au3Info ist ein Tool, mit dem Sie Informationen über das für die Automatisierung erforderliche Fenster abrufen können. Um Informationen zu einem bestimmten Element zu erhalten, ziehen Sie einfach aus dem Finder-Tool-Block auf das Fensterelement. Wir erhalten die Werte der Eingabefeldattribute des Elements "Dateiname".



Für die Verwendung im AutoIT-Skript benötigen wir die Attribute Title = 'Open' und Class = 'Edit'.

5. Gehen Sie zum Ordner AutoIt3 \ SciTE und wählen Sie SciTE aus. Hier schreiben wir ein so einfaches Skript.



Hier ist ControlFocus eine Methode , der den Fokus auf das Fensterelement "Dateiname" legt

- Der erste Parameter ist der Titelwert des gewünschten Fensters, in unserem Fall "Öffnen"
- Der zweite Parameter ist optional
- Der dritte Parameter ist die Kombination der Werte des Attributs Klasse und Instanz, d.h. es stellt sich heraus, Edit1



ControlSetText - eine Methode, mit der der Text in die Eingabe des Elements "Dateiname" eingegeben wird

  • Der erste Parameter ist der Wert von Title
  • Der zweite Parameter ist optional
  • Der dritte Parameter ist die Kombination der Werte des Klassen- und Instanzattributs, d.h. es stellt sich heraus, Edit1
  • Der vierte Parameter ist der Text, der in die Eingabe eingegeben wird. Hier schreiben wir den Pfad zu der Datei, die wir anhängen werden

ControlClick - klickt auf die Schaltfläche "Öffnen"

  • Der erste Parameter ist der Wert von Title
  • Der zweite Parameter ist optional
  • Der dritte Parameter ist die Kombination der Werte des Klassen- und Instanzattributs, d.h. es dreht Button1



6. Speichern Sie das Skript als Autoit



7. Um das Skript auszuführen , müssen Sie es jetzt kompilieren. Zum Kompilieren eines Skripts gibt es zwei Optionen - entweder für ein 64-Bit-System oder für 86. Wählen Sie die für Ihr Betriebssystem geeignete aus.



8. Wir haben eine kompilierte AutoItScript.exe-Datei erhalten. Wir überprüfen ihre Leistung. Gehen Sie zum Fotobearbeitungsdienst < www.iloveimg.com/de/photo-editor "> und klicken Sie auf" Bild auswählen ". Führen Sie



nun AutoItScript.exe aus. 9. Jetzt können Sie dieses Skript hinzufügen In Selen, zum Beispiel für Java, würde eine solche Ergänzung folgendermaßen aussehen:

Runtime.getRuntime().exec(":\\auto\\AutoItScript.exe");

Diese Lösung ist sehr stabil. Aufgrund der Tatsache, dass wir am Ende eine ausführbare Datei haben, kann diese Lösung auch mit verschiedenen Programmiersprachen verwendet werden. Der Nachteil ist, dass ein solches Skript nicht im Headless-Modus verwendet werden kann - einem Modus, in dem der Browser nicht gestartet wird.

Ich hoffe, dieser Artikel hilft Ihnen beim Testen der Automatisierung!

All Articles