Befehle aufnehmen und wiederspielen

ls123456

Cadet 1st Year
Registriert
März 2018
Beiträge
9
Salü liebes Community
Gibt es ein Tool, dass meine Tastatur- und Mauseingaben aufzeichnet und dies dann abspielen lässt?
Praxisanwendung;
Beim Testen einer Software, mache ich stets die gleichen Funktionstests. Diese möchte ich gerne aufnehmen und beim nächsten Mal nur noch per Knopfdruck den Test runterspielen lassen.
Gibts da was einfaches?
 
tastatur mit makro option
paradebeispiel: alte logitech g15, not refresh, 18 dreifach belegbare zusatztasten
 
Ich würde, wenn das zu Bedienende das zulässt, möglichst nur Tastaturkommandos einsetzen.
Die lassen sich leichter warten als Mauskoordinaten.
CN8
 
@ cumulonimbus8
Die Programme können mittlerweile mehr, als nur Mauskoordinaten abzufahren & rumzuklicken.
Fenster können ausgelesen und Buttons direkt angesprochen werden. Sind ein paar Zeilen Code und etwaige Tastenkombinationen sind so nicht mehr notwendig ^-^

So siehts mit Autoit aus:
taschenrechner.gif


1) So startet der Taschenrechner und es würde 1234 eingegeben werden. Ist allerdings unschön, wenn der Taschenrechner nicht im Vordergrund steht, da ja blindlings 1234 eingegeben wird:
Code:
ShellExecute("calc.exe")
sleep(1000)
send("1234")

2) Wird der Taschenrechner gestartet, so heißt das Fenster Rechner und als Betrag steht dort die 0. Die 0 ist ein 'Visible Text'. Daher kann man wie folgt den Taschenrechner starten und es wird gewartet, daß das Fenster erscheint. Danach wird erst der Text gesendet:
Code:
ShellExecute("calc.exe")

WinWaitActive("Rechner", "0")
winwait("Rechner", "0")
send("1234")

3) So, als würde man händisch auf die Zahlen 1,2,3 und 4 klicken
Code:
ShellExecute("calc.exe")

WinWaitActive("Rechner", "0")
winwait("Rechner", "0")

ControlClick("Rechner","", "[CLASS:Button; INSTANCE:5]")
ControlClick("Rechner","", "[CLASS:Button; INSTANCE:11]")
ControlClick("Rechner","", "[CLASS:Button; INSTANCE:16]")
ControlClick("Rechner","", "[CLASS:Button; INSTANCE:4]")

4) So, wenn darauf gewartet werden soll, daß irgendein Ereignis eintritt. Wenn beim Ergebnis 0 steht, so soll dann 1 gedrückt werden. Steht beim Ergebnis 1 drinnen, soll 2 gedrückt werden. Beim Ergebnis 2, die 3; und final bei 3 die 4.
Code:
ShellExecute("calc.exe")

WinWaitActive("Rechner", "0")
winwait("Rechner", "0")

ControlClick("Rechner","0", "[CLASS:Button; INSTANCE:5]")
ControlClick("Rechner","1", "[CLASS:Button; INSTANCE:11]")
ControlClick("Rechner","2", "[CLASS:Button; INSTANCE:16]")
ControlClick("Rechner","3", "[CLASS:Button; INSTANCE:4]")
 
Zuletzt bearbeitet:
Ich widerspreche nicht.

[CLASS:Button; INSTANCE:5]
Dazu müsste man diese Syntax erst mal kennen; die einfache Hilfe… wirbt… nicht damit. Und dann muss ich noch wissen was Instance 5 konkret ist.
Mit der Kenntnis dürfte in der Tat vieles recht übersichtlich zu machen sein. Tastendrücke aber kann ich ohne Kenntnisse ausprobieren und mitschreiben.

Anmerkung: sleep ist auch eines meiner Lieblingskommandos bei solchen Sequenzen ;)

CN8
 
Vieles ist dokumentiert Aber wenn man keine Idee hat danach überhaupt suchen zu sollen wird man es nie finden!

Wenn dein Kühlschrank den Radertzkymarsch spielen kann, und das im 250 Seiten dicken Handbuch steht - würdest du nach so einem Feature suchen wenn der Knopf unauffällig hinten rechts oben versteckt ist?

Ich erlebe das immer und immer wieder bei diverser Software. So viele ist möglich, so vieles steht irgendewo in der Hilfe - lose, verstreut, für sich; ohne dass Referenzen bei »ähnlichen Funktionen/Lösungen« darauf hinweisen. Allein bei VBA seit knapp 20 Jahren taucht immer wieder was Neues auf…

CN8
 
Zurück
Oben