Learning Basics of Rational Robot – IBM Test Automation Tool

This is a guest article from J.B.Rajkumar. The author is having good experience in Automation Tools and is currently working with a top MNC.

Learning the Basics of  Rational Robot (7.0)

#1) Features of Rational Robot
Rational Robot is an Automated Functional, Regression Testing tool for automating Windows, Java, IE and ERP applications under windows platform. Rational Robot provides test cases for common objects such as menus, lists, bitmaps and specialized test cases for objects specific to the development environment.

Learning Basics of Rational Robot

It integrates with tools like Rational Test Manager, Rational ClearQuest and Requisite Pro in the Rational Unified Processor for Defect Tracking, Change Management, and Requirement Traceability. It also supports UI technologies like Java, the Web, all VS.NET controls, Oracle Forms, Borland Delphi and Sybase Power Builder applications.

#2) Rational Administrator
It is a tool for managing associations between Rational artifacts such as Test Datastores, Requisite Pro projects, and Rose models.

  • Rational Projects are created using Rational Administrator
  • Users and Groups can be maintained
  • Project assets can be upgraded

#3) Recording Options
Using Object-oriented technology, Robot identifies an object by its name property not by its location coordinates. There are two different options

  • GUI-Functional Testing
  • VU-Performance Testing

#4) SQABasic Language
SQABasic is similar to Microsoft Visual Basic. All the scripts will be in the scriptname.rec format. When you playback the script, Robot automatically compiles and runs the script, which repeats your actions and executes the verification points.

#5) Shell Scripts
It is a master script that calls other automated scripts and plays them back in sequence. “call script  test1” is a command to call script named test1. Combined into a single shell script, scripts can run in unattended mode and perform comprehensive test coverage. It centralizes test results in one test log.

#6) Low-Level Recording
Turn “Low-Level Recording On” in Robot during recording, mouse, and keyboard actions are automatically stored in an external file.

#7) Verification Points
Verification points verify that a certain action has taken place, or verify the state of an object. There are 11 Verification points in Robot

  • Alpha-Numeric: Verifies alphanumeric data.  Used for edit boxes, pushbuttons, labels, text fields, etc.,
  • Object Properties: Tests object attributes such as color, font, and position.
  • Menu: Verifies the menu values and optionally their state (enabled or disabled) of a window
  • Clip Board: Verifies the contents of the windows clipboard
  • Window Existence:  Tests to see if a particular window does or does not exist on the screen.
  • Region Image: Graphically compares an area of the screen you specify
  • Window Image: Graphically compares an entire window such as a window box.
  • Object Data: Test data contents of objects(eg. Dropdown)
  • File Comparison: Compares the contents of the two files (size and the contents)
  • File Existence: Checks for the existence of a specified file
  • Module Existence: Used to verify whether a specified module is loaded into a specified context, or loaded anywhere in memory.

When you are creating verification points, there will be two options – Wait State and Expected Results.
Wait states are useful when AUT requires an unknown amount of time to complete a task. Using a wait state keeps the verification point form failing if the task is not completed immediately or if the data is not accessible immediately.
Expected Results – Click Pass or Fail in the Verification Point Name dialog box.

#8) Variable Window
During debugging, if you want to examine variable and constant values, you can variables window. View->Variables.

#9) Object Mapping
If AUT contains a custom object or any object that Robot does not recognize, you can create a custom object mapping before start recording. By adding the object’s class to the list of classes that Robot recognizes, and then associating the class to a standard object type. Robot saves this custom class/object type mapping in the project and uses it to identify the custom object during playback.

#10) Debug Tools

  • Animate(F11): Animation mode allows you to see each line of script as it executes.
  • Step Over(F10): Use to execute a single command line within a script
  • Step Into(F8): Use to being single-step execution
  • Step Out(F7): Use to step out of the called script and return to the calling script.
  • Go Until Cursor(F6): Use to playback the active GUI script, stopping at the text cursor location.

#11) Library Files and Header Files
Header files have .sbh extensions and contain the procedure declarations and global variables referred to in your script files. There are two types of library files. Those with .sbl extensions can’t have verification points. Those with .rec extensions are stored in the project and can have verification points. Both the Header and library are in \SQABAS32 in the project directory.

#12) Image Masks used for Dynamic Objects
Image masks are used to hide an area of the screen. When you playback a script that contains an Image VP and a mask, Robot ignores the masked area when comparing actual results to the recorded baseline.

#13) Data Pool
A Data Pool is a test dataset that supplies data variables in a test script during playback. Using Data Pools allows you to run multiple iterations of a script using different data each time. It can be created and managed using Test Manager for Data-Driven tests.

 #14) Important Web Site for Rational Robot trial version download and Rational Robot tutorial:
http://www.ibm.com/developerworks/rational/downloads/

Hope this is a good start for those who want to learn Rational Robot.  If you have any questions please feel free to comment below.

Recommended Reading

67 thoughts on “Learning Basics of Rational Robot – IBM Test Automation Tool”

  1. ADVANCE QA TESTING TRAINING @ NICT , BANGALORE

    1. ADVANCE MANUAL TESTING CONCEPTS WITH REAL TIME IMPLEMENTATION
    2. QTP
    3. WIN RUNNER
    4. TEST DIRECTOR
    5. BASICS OF LOAD RUNNER
    WEEK END CLASSES ALSO AVAILABLE ( FOR WORKING PEOPLE)
    FOR FURTHER DETAILS CALL TO NICT(JAYANAGAR) @ (080)22443347 WITH EXT 21.
    THANKS.

  2. hello
    i am complety new person this field tell me the basics of the Rational robot and QTP i donot know what is going on

  3. HI,
    I am not able to record window while recording desktop application on Windows 7 with rational Robot.
    Any one has any idea about this ?
    It recognize first click correctly but for second click of any window it fails.
    I am using rational Robot 7.0.3

  4. I went to the link to down load but I do not see the product, is it name got changed? Or rolled into another production, I really appreciate if you can provide details

    thank you
    laki

  5. I was working with RRobot about 10 years ago. You should note that there is a specific function call (can’t recall the name of it off the top of my head… will see if I can find some of my old testing code) which is/was of critical importance. It allowed you to write much more functional scripts. The function call allowed you to check in your CODE what the value in a field was, as well as to directly push values into the field.

    The benefit to this is that it’s possible to write your code to test the value of a field, note that it is wrong, and signal a fail to the log, then FORCE THE FIELD to the known correct value, then proceed as though it did have the correct value in it. Thus you can avoid cascade errors, where one test causes all subsequent ones to fail, negating the subsequent value of a run. So a test run can, in fact, identify multiple failures rather than be limited to only one per run.

    This is very significant when a test run (typically a full regression suite) takes hours to run (often overnight). Instead of the suite only finding a few errors, it can find dozens because it didn’t just crap out when the first error happened.

Leave a Comment