Lecture des actions de bas niveau de la souris et du clavier

La lecture des actions de bas niveau de la souris et du clavier offre un contrôle plus fin des événements correspondant aux actions de l'utilisateur. Par exemple, les API de Functional Tester prévoient actuellement la méthode TestObject.click(), dans laquelle le clic consiste en actions de bas niveau, parmi lesquelles le déplacement de la souris, la pression du bouton gauche et le relâchement du bouton gauche. Grâce à cette fonctionnalité, vous pouvez lire les composants individuels d'un clic de la souris.

La lecture de bas niveau prévoit également la prise en compte des événements de défilement avec la roulette de la souris.

Vous pouvez utiliser la lecture des actions de bas niveau pour surmonter une limitation du produit ou une action obscure de la souris ou du clavier. Par exemple, pour tracer un cercle sur un canevas dans un logiciel de dessin, Functional Tester ne permet pas d'utiliser le glissement circulaire complexe de la souris, mais vous pouvez utiliser à la place la méthode drag() pour tirer des lignes droites. Vous pouvez utiliser la lecture de bas niveau pour lire les actions de la souris permettant de tracer le cercle.

La classe RootTestObject inclut deux méthodes :

Les méthodes de la classe de fabrique SubitemFactory servant à la construction des LowLevelEvents (événements de bas niveau) incluent :

Des méthodes similaires existent pour les boutons droit et du milieu de la souris. L'événement delay garantit une pause minimale du nombre de millisecondes spécifié, en tenant compte du temps qu'il faut au système pour consommer l'événement précédent.

Voici un exemple Functional Tester, Java Scripting dans lequel on trace la lettre V dans la partie supérieure gauche du canevas de dessin :

// Cette routine trace un "V" dans la partie supérieure gauche
// du canevas de dessin.
// On clique d'abord sur un point dans l'angle supérieur gauche. Le bouton
// gauche de la souris est maintenu enfoncé pendant la durée de l'action.
// La souris est déplacée vers la droite et vers le bas, puis vers la droite et vers le haut.
// Enfin, le bouton gauche de la souris est relâché.
Rectangle screenRect =
   (Rectangle) drawingWindow().getProperty(".screenRectangle");
Point origin = new Point(screenRect.x + 5, screenRect.y + 5);
LowLevelEvent llEvents[] = new LowLevelEvent[7];
llEvents[0] = mouseMove(atPoint(origin.x, origin.y));
llEvents[1] = leftMouseButtonDown();
// insérer un délai pour laisser le temps à l'application testée de répondre
// aux événements qui lui sont envoyés.
llEvents[2] = delay(250);
llEvents[3] = mouseMove(atPoint(origin.x + 25, origin.y + 50));
llEvents[4] = delay(250);
llEvents[5] = mouseMove(atPoint(origin.x + 50, origin.y));
llEvents[6] = leftMouseButtonUp();
getRootTestObject().emitLowLevelEvent(llEvents);

Voici un exemple Functional Tester, VB.NET Scripting, dans lequel on teste un contrôle TrackBar afin de vérifier qu'il répond aux événements de la roulette de la souris :

' On teste ici un contrôle TrackBar pour vérifier
' qu'il répond aux événements de la roulette de la souris.
TrackBar1Slider().Click(AtPoint(0, 0))
' Créer un événement de bas niveau (LowLevelEvent) représentant
' un défilement vers le bas avec une rotation de 25 crans.
Dim ScrollDown As LowLevelEvent = MouseWheel(-25)
GetRootTestObject().EmitLowLevelEvent(ScrollDown)
' Vérifier le résultat.

Retour d'informations