Sometimes there is a need for having some steps in your script which are out of the control of testcomplete recording feature and your scripting ability. TestComplete provide a feature so-called low-level procedure, when the actions are not determined by the interaction of the script with controls applications, and simple actions. For example consider steps below
- hold down the left mouse button,
- move the mouse pointer up a few pixels,
- release the left mouse button, press it again,
- drag pointer a few pixels to the left,
- Release the mouse button.
Such actions are usually necessary in graphics applications (eg, MS Paint), where neobhodimoprotestirovat drawing different shapes.
In TestComplete for such action exists to LLPlayer. To gain access to low-level routines, you must first add the item to the project Low Level Procedures Collection.
To do this, right-click on the project name, select Add – New Item and in the dialog box,
Select Low-Level Procedures Collection.
Once recording is stopped, the project will be recorded by a low-level procedure, which can be found in the project topic LLCollection1 . below is sample recorded steps.
Double click on any line opens a dialog box for editing actions. For example, the recorded delay (Column Delay) are usually not necessary and can be set to zero.
The following example shows a sample run of the recorded low-level procedure of the test script.
[hana-flv-player video=”http://automated-360.com/wp-content/uploads/2014/08/LLPConverted.flv” width=”550″ height=”300″ description=”” player=”5″ autoload=”true” autoplay=”true” loop=”true” autorewind=”true” /]
You will also notice a new sub gets created in your scripting unit with a call to the low level procedure just created.
Note that TestComplete can use the recorded coordinates relative to the screen or relative to a particular window. In this case we used Screen Related coordinates, i.e. the displacement of the mouse is measured from the upper left corner of the screen.
To run the same procedure with respect to a particular window, the window is enough to pass as a parameter to the method Execute:
wnd = Sys.Process ("mspaint"). Window ("MSPaintApp", "untitled - Paint ", 1) LLCollection1.LLP1.Execute (wnd)
If you do not record test scripts using tools recording TestComplete, and write them manually, you can use the object LLPlayer to perform low-level procedures. Sometimes there are situations when the usual methods (Click, Drag, etc.) for some reason does not work in the application under test, then you must use the object LLPlayer.
The LLPlayer object simulates pressing and releasing of mouse buttons, rotations of mouse wheels and pressing and releasing of keyboard keys from your scripts.
Methods of Llplayer
|KeyDown||Simulates pressing of a key.|
|KeyUp||Simulates releasing of a key.|
|MouseDown||Simulates pressing of a mouse button.|
|MouseMove||Simulates movement of the mouse cursor.|
|MouseUp||Simulates releasing of a mouse button.|
|MouseWheel||Simulates rotating of the mouse wheel.|
An example to use Llplayer object (from smartbear help)
Sub LLPMouseMoveExample() ' Specifies the coordinates of the first click coorX = 15 coorY = 120 ' Specifies a delay in milliseconds sDelay = 2000 ' 2 seconds ' Simulates pressing and releasing the left mouse button Call LLPlayer.MouseDown(MK_LBUTTON, coorX, coorY, sDelay) Call LLPlayer.MouseUp(MK_LBUTTON, coorX, coorY, sDelay) ' Simulates pressing the Shift key Call LLPlayer.KeyDown(VK_SHIFT, sDelay) ' Specifies the coordinates of the destination point destX = 98 destY = 275 ' Simulates mouse movement Call LLPlayer.MouseMove(destX, destY, sDelay) ' Simulates pressing and releasing the left mouse button Call LLPlayer.MouseDown(MK_LBUTTON, destX, destY, sDelay) Call LLPlayer.MouseUp(MK_LBUTTON, destX, destY, sDelay) ' Simulates releasing the Shift key Call LLPlayer.KeyUp(VK_SHIFT, sDelay) End Sub
Let us know if you have any experience using Low-Level Procedure in your projects or if you facing any difficulties using it via comments below.
Subscribe now to receive such information directly into your inbox.