Rapise uses a heuristics-based approach to distinguish
meaningful activity from lower-level actions that can be ignored. In some cases
this leads to a result that some required user activity is not automatically
recorded.
Low Level Activity
It
is easy to illustrate this with a simple mouse activity example. Suppose you
press the button
using a mouse.
The low-level activity is as follows:
- Move mouse
cursor into the internal area of a button.
- Press left
mouse button
- Wait a bit
- Release
left mouse button
So
if we record the button as an object 'OK' and record all the activity in such a
low level the resulting script will contain at least following:
// Move mouse to the center of OK button
SeS('OK').DoMouseMove();
// Press left mouse button
SeS('OK').DoLButtonDown();
// Wait a bit (50 msec)
Global.DoSleep(50);
// Release left mouse button
SeS('OK').DoLButtonDown();
In
most cases such level of details is not actually needed. What we really need is
to have a concise description of the overall activity:
SeS('OK').DoClick();
This
will just click on the center of the button.
Nothing Was Recorded?
There is a broad range of available UI platforms and
libraries. This variety of graphical widgets makes user interfaces responsive
and intuitive. Rapise tries to recognize as many of these objects as possible.
However this range is growing and there may be times when widgets in the AUT
are not recorded by Rapise.
What Can I Do About It?
- Try to
Learn an object using Learn. If the object
is successfully learned then you can use the Recording
Activity Dialog to simulate the required behavior or you can compose
the required behavior using the Objects Tree.
If Still Nothing
Was Learned
- Try using Simulated Objects
to learn your objects
- Try Analog Recording
to deal with problematic object
Object
is learned but I cannot get its text contents
This can sometimes happen with certain user interfaces. You can extract the
text using OCR
Nothing
helps, what's next?
You can use the extensibility features of Rapise to create a
custom library that will be able
to recognize the new object.