Python Frameworks/Tools für automatisierte Winforms-Tests

Ich suche nach einer Möglichkeit, mit Python automatisierte Tests für eine unserer C#-Anwendungen bei der Arbeit auszuführen, bin mir aber nicht sicher, welche Tools ich verwenden soll.

Ich habe pywinauto recherchiert und ausprobiert, aber ich bin nicht in der Lage, einen der Menüpunkte zu automatisieren, was für viele Menschen ein Problem zu sein scheint. Leider sind die Menüoptionen für diese Anwendung unerlässlich.

Gibt es ein Python-Framework oder ein anderes Tool, mit dem ich Winforms-Anwendungen automatisieren kann, einschließlich der Menüleisten?

Wenn Sie ohne Python leben können, gibt es dafür nichts Besseres als autoitscript.com/site/autoit .
@Mawg Ich werde das auf jeden Fall untersuchen. Python ist keine Voraussetzung, aber ich interessiere mich dafür, damit zu arbeiten. Vielen Dank!

Antworten (1)

Um weiter oben zu kommentieren und zu sagen, dass Python eher "nice to have" als "must have" ist, fordere ich Sie dringend auf, AutoIt zu verwenden .

So sehr ich selbst Python-Programmierung genieße, verwende ich AutoIt immer für Windows-GUI-Automatisierungsaufgaben.

Sie können es als Makroaufzeichnungs-/Wiedergabefunktion verwenden. Sie können ihm sagen, dass er auf x=75, y=100 und dann auf x=150, y=250 klicken soll.

Aber das Schöne ist, dass Sie Dinge programmieren können wie (das ist Pseudo-Code)
- warten Sie, bis ein Fenster mit dem Titel "Notizblock" erscheint
- wenn dies der Fall ist, suchen Sie nach einem Menü namens "Datei" und aktivieren Sie es
- suchen Sie nach a Untermenü1 mit dem Titel "Öffnen" und klicken Sie darauf
- simulieren Sie die Tastatureingabe für "myfile.txt" und suchen und klicken Sie auf die Schaltfläche "Ok".

Das Schöne daran ist, dass sich Ihr GUI-Layout ändern kann und die Skripte weiterhin funktionieren.

Sie können die IDE auch verwenden, um GUIs für Ihre AutoIt-Apps zu entwerfen.

Es ist ein ausgereiftes, gut getestetes, gut dokumentiertes System und leicht zu erlernen. Es gibt sogar ein O'Reilly-Buch .

Es ist kostenlos und:

Easy to learn BASIC-like syntax
Simulate keystrokes and mouse movements
Manipulate windows and processes
Interact with all standard windows controls
Scripts can be compiled into standalone executables
Create Graphical User Interfaces (GUIs)
COM support
Regular expressions
Directly call external DLL and Windows API functions
Scriptable RunAs functions
Detailed helpfile and large community-based support forums
Compatible with Windows XP / 2003 / Vista / 2008 / Windows 7 / 2008 R2 / Windows 8 / 2012 R2
Unicode and x64 support
Digitally signed for peace of mind
Works with Windows Vista’s User Account Control (UAC)

Hier ist ein einfaches Beispielskript von der Website:

Run("notepad.exe")
WinWaitActive("Untitled - Notepad")
Send("This is some text.")
WinClose("Untitled - Notepad")
WinWaitActive("Notepad", "Save")
;WinWaitActive("Notepad" , "Wollen Sie speichern") ; Bei Ausführung unter Windows XP
Send("!n")

Das ist sehr nett. Bisher konnte ich unsere Anwendung öffnen und mich mit nur sechs Codezeilen anmelden , was für mich immer cool ist. Vielen Dank für die Empfehlung!
Freut mich, geholfen zu haben. Je mehr Sie damit machen, desto beeindruckter werden Sie. Keine Sorge, es gibt noch reichlich Gelegenheit für Python ,-)
Haben Sie Beispiele für die Automatisierung der Menüauswahl? Ich habe das gefunden , aber es sagt auch, dass es nur mit Standardmenüs funktioniert.
Eigentlich habe ich diese nützliche Antwort gefunden: stackoverflow.com/a/8926518/3131147