Custom Libraries | Test Automation Features | Rapise

Custom Libraries

The JavaScript source code for library recognition and execution is available to the user, as well as a JavaScript Application Programming Interface (API). New recognition and execution capabilities can be added to Rapise by the end user and shared with colleagues, giving your team the flexibility to automate where other tools fail.

What are Custom Libraries?

If a GUI control is not natively supported by Rapise you can add the required support yourself by means of creating a Custom Library. Such library will enable Rapise to record, learn and operate with your GUI control during test playback and this control will become natively supported.

Auto Library Generator

Rapise includes a custom library generator that simplifies the task of creating and maintaining custom libraries for both recording and playback against bespoke applications:

Type of Custom Library

Your library can provide Basic or Full support for your application. Basic support allows you to manually Learn objects, write test scripts, and Playback your scripts. Full support allows you to Record as well.

Basic Support

Add a Matcher Rule to the library for every window type in your application. The SeSMatcherRule includes information to identify your application, and a set of behaviors.

var yourApplicationRule = new SeSMatcherRule(


object_type: "yourAppObject",

classname: "yourAppFrame", //You can use a regular expression here

behavior: [yourAppBehavior]


Override Actions: Override actions in yourAppBehavior (above). The action definitions you provides will be used during Playback. Overriding actions does not affect recording.

var HTMLFirefoxBehavior =


actions: [{

actionName: "Click",

DoAction: function(){}



actionName: "SetText",

DoAction: function(/**String*/txt){}



Full Support

Enable Recording: You can enable recording in two ways. If your application notifies the Accessibility Events interface about application events, you can override events in the behavior section of SeSMatcherRules:

var newBehavior={

actions: [{/*section deleted for brevity*/}],



OnSelect: function(/**SeSObject*/ param, /**Boolean*/ badd)

{ /*...*/


OnSelectAdd: function(/**SeSObject*/ param, /**Boolean*/ badd)

{ /*...*/



var newRule = new SeSMatcherRule({

object_type: "someType",

role: "someRole",

behavior: [newBehavior],


Questions? email or call us at +1 (202) 558-6885