Knowledge Base Article

Home Page > Knowledge Base > Rapise

Article How to successfully include and use common functions and objects

by Adam S on Tuesday, October 16, 2012

It is often useful to have a common set of code libraries and objects that can be reused amongst multiple tests. With Rapise this can be done by creating a common test and then including it into the other actual tests. This article describes the process

The steps for creating a common library are as follows:

  1. Create a new Rapise test using the "New Test" option.
  2. Call this test "Common.sstest". This will hold the common functions and objects
  3. Click on Record/Learn and learn the various objects that will be part of the library.
  4. These objects will be saved in Common.objects.js
  5. Put any common library functions in the Common.user.js file
  6. Finally add the following special function in the Common.user.js file:

function LoadObjects()
{
var objectsPath = Global.GetFullPath('..\\Common\\Common.objects.js');
var saved_script_objects = {};
if(objectsPath)
{
if (g_helper.FileExists(objectsPath))
{
eval(g_helper.Include(objectsPath));
}
else
{
throw 'Unable to find object file at ' + objectsPath;
}
}
else
{
return null;
}

// Push list of saved_script_objects to the end of the stack
g_object_info_map.push(saved_script_objects);
return saved_script_objects;
}

Now close this "Common.sstest" common Rapise test library and start a new test script (e.g. called Test1.sstest). This test will have its own objects file (Test1.objects.js) and user functions file (Test1.user.js).

Now in the "Test Files" tab, right-click on the "Scripts" folder and choose the option to "Add File(s)...". Change the filetype from "*.js" to "*.sstest" and include the Common.sstest file. You should now have the following test hierarchy:

If you right-click on the "Common.sstest" icon and choose "Show Objects", the objects from the included common library will be displayed in the "Object Tree" tab along with the objects from the individual test script (Test1).

Now to include these common functions and libraries in your test (e.g. Test1.sstest) you just need to include some commands at the beginning of the main Test() entry point:

function Test()
{
 //Load the shared objects
 eval(g_helper.Include('..\\Common\\Common.user.js'));
 LoadObjects();
 
 //Click on a shared object
 SeS('Book_Management').DoClick();
}

The final line with the DoClick() is just an example of using one of the shared objects.

 

Attachments
Article Info
Last Updated: 10/16/2012
Article ID: KB19
# Views: 2094
Powered by KronoDesk v1.1.0.15 | © Copyright Inflectra Corporation 2011-2016 | Licensed to Inflectra Corporation.