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
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.