Ich muss eine Software testen, die einige Mausbewegungen als "Gesten" behandelt. Für solch eine Aufgabe muss ich die Mausbewegung von Punkt A nach Punkt B emulieren, nicht in gerader Linie, sondern wie eine echte Maus sich bewegt - mit Kurven, ein bisschen Jaggedy etc. Gibt es eine verfügbare Lösung (Algorithmus / Code selbst, nicht eine Bibliothek / exe), die ich benutzen kann?
Natürlich kann ich eine einfache sinusförmige Mathematik selbst schreiben, aber das wäre eine sehr krude Nachahmung einer menschlichen Hand, die eine Maus führt. Vielleicht wurde eine solche Aufgabe schon mehrfach gelöst, und ich kann mir einfach einen vorhandenen Code ausleihen. :)
Sehen Sie sich die Datei Mouse.simba an Teil des SRL-Frameworks , einem Makroprogramm, das für die Arbeit mit Online-Spielen wie Runescape . Runescape verfügt über umfangreiche Makro-Erkennungsfunktionen, so dass alle Teile des SRL-Frameworks so entwickelt wurden, dass sie so menschlich wie möglich aussehen - insbesondere die Mausfunktionen.
Der Code ist in Pascal, sollte aber ziemlich einfach zu lesen sein. Sehen Sie sich die MMouse()
Prozedur von BenLand100 an. Sie bewegt sich sehr realistisch und macht fortgeschrittene Bewegungen wie Schleifen und Überschießen ihres Ziels sowie kontinuierlich variierende Beschleunigungen und Richtungen (hat jetzt auch Laptop Touchpad Bewegungen). Wenn Sie es testen möchten, müssen Sie SIMBA und aktivieren Sie das SRL-Include .
Wie wäre es, einige echte Gesten aufzunehmen und sie wiederzugeben? Das wird so real sein wie alles, was man synthetisieren kann, und es wäre wiederholbar (was zum Testen gut ist).
Erstellen Sie eine einfache Test-App, die alle zwei Sekunden einen zufällig positionierten Punkt anzeigt. Folgen Sie dem Punkt selbst und zeichnen Sie Ihre natürlichen Mausbewegungen auf.
Eine Möglichkeit, dieses Verhalten zu erfassen, könnte darin bestehen, ein unsichtbares "Raster" auf dem Bildschirm zu definieren, in dem Sie verfolgen, auf welchen Quadraten sich die Maus auf ihrem Weg bewegt.
Wenn dieser Teil ordnungsgemäß funktioniert und aufzeichnet, müssen Sie ihn nicht mit Tests bombardieren, da Sie wissen, dass jedes Rasterfeld seine Aufgabe erfüllt. Die Interpretation der Geste wird dadurch ebenfalls erleichtert.