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?
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")
Mawg sagt, Monica wieder einzusetzen
AdamMc331