IBM Rational Functional Tester Extension for Siebel Test Automation - Readme

For Rational Functional Tester, Version 6.1.1 iFix 01

© Copyright IBM Corporation 2002, 2005. All Rights Reserved.

Table of contents

1.0 About this release
2.0 Installation information
   2.1 Hardware requirements
   2.2 Verifying requirements
3.0 Feature highlights
4.0 Known limitations, problems, and workarounds
   4.1 Delayed recording of CAS events
   4.2 Resetting JAVA Build Path
   4.3 Delay Setting Preferences are not available for Siebel testing
   4.4 To Use RFT 6.1.1 with a Pre-existing RFT Project
   4.5 Performing VP on an embedded Siebel control in SiebList
   4.6 Performing a data driven test on SiebCurrency
   4.7 Problem with the SiebelAx_Test_Automation process
   4.8 Recording against the SiebThreadbar
   4.9 Performing VP on controls like SiebTest and SiebCheckbox
   4.10 Functional Tester Recorder stops
   4.11 Cannot highlight Siebel objects in the object mapping dialog
   4.12 Events not written to a script when recording is paused
   4.13 RFT Fails to Record Javascript Alert Dialogs Launched From a Browser Dialog
5.0 Contacting customer support
6.0 Notices and trademarks
 

1.0 About this release

This is an add-on release to IBM® Rational® Functional Tester to enable extended functional testing support for Siebel applications. This release of the add-on is based on the 7.7 version of Siebel.

Important note about licensing

This Program is subject to a separate license fee that must be paid prior to use. Please log in to Passport Advantage Online to complete the purchase at

at http://www-306.ibm.com/software/howtobuy/passportadvantage/pao_customers.htm.
 

2.0 Installation information

Prerequisites -

RFT Installation

For information about installing IBM Rational Functional Tester, refer to the installation instructions at:

Download Site

Verifying installation of STA -

Once you log into a Siebel application (such as Siebel Call Center), please make sure that the Siebel CAS is running. Bring up the Windows Task Manager, go to the Processes tab, and make sure that the Siebel Automation process is running. This could be SiebelAx_Test_Automation or SiebelAx_Desktop_Integration.

To Use RFT 6.1.1 with a Pre-existing RFT Project

If you install the latest Refresh Pack 6.1.1, you will need to perform a few actions before you can successfully use the new Siebel support with a pre-existing project. You will need to add two new templates (one for script headers and one for script helper headers) that must be added to the project. The change to the templates is the addition of another import for the Siebel specific TestObjects. For Java, the addition is "import com.rational.test.ft.object.interfaces.siebel.*". For VB.NET, the addition is "Imports Rational.Test.Ft.Object.Interfaces.Siebel". Existing scripts that test Siebel will need to have their ScriptHelper files update with the applicable import statement. You will also need to update the build or reference information for the project. The specific details for each RFT platform follow.

RFT Java Scripting and Eclipse
1. If you are using RFT Java scripting, you can update to the latest templates by right-clicking on the project in the Functional Test Projects view and selecting Properties.

2. In the Properties dialog, select “Functional Test Script Templates” from the list on the left. Select the template “Script Helper: Header of the file”. If you have not customized this template, you can upgrade it by clicking the Restore Defaults button. If you have customized the template already, add the line:

    import com.rational.test.ft.object.interfaces.siebel.*;

to the top along with the other import statements.

After modifying the template, click the Apply button. Next, select the template “Script: Header of the file”. Add the same line to the imports section in this template as well. Click Apply and then OK.

3. If you are using the integrated ClearCase support, after you edit the template files they will be checked out. You will need to check them back in so that other members of your team can use them. To do this, right-click on the project again in the Functional Test Projects view, and click Team > Show Checkouts. You will see a list of elements you have checked out. Select the two templates ft_script.java.rfttpl and ft_scripthelper.java.rfttpl and check them in (for example, you can right-click on the selected elements in the list and click Check in). Your other team members should update their project by right-clicking the project in the Functional Test Projects view and clicking Team > Get Latest Version….

4. Finally, right-click again on the project in the Functional Test Projects view and click Reset Java Build Path. Each member of your team will need to perform this last step, as the “Java Build Path” is local to each project on each machine.

VB.Net Scripting and Visual Studio
1. If you are using VB.Net scripting, you can update to the latest templates by right-clicking on the project in the Solution Explorer and clicking Properties.

2. In the Properties dialog, select the Functional Test Script Templates tab. Select the template “Script Helper: Header of the file”. If you have not customized this template, you can upgrade it by clicking the Restore Defaults button. If you have customized the template already, add this line to the top along with the other import statements:

    Imports Rational.Test.Ft.Object.Interfaces.Siebel

After modifying the template, click the Apply button. Next, select the template “Script: Header of the file”. Add the same line to the imports section in this template as well. Click Apply and then OK.

3. If you are using the integrated ClearCase support, after you edit the template files they will be checked out. You will need to check them back in so that other members of your team can use them. To do this, right-click on the project again in the Solution Explorer, and click Team > Show Checkouts. You will see a list of elements you have checked out. Select the two templates ft_script.vb.rfttpl and ft_scripthelper.vb.rfttpl and check them in (for example, you can right-click on the selected elements in the list and click Check in). Your other team members should update their project by right-clicking the project in the Solution Explorer and clicking Team > Get Latest Version….

4. Finally, right-click again on the project in the Solution Explorer and click Reset Custom Reference. Each member of your team will need to perform this last step, as the “Custom References” are local to each project on each machine.

2.1 Hardware requirements

There are no additional hardware requirements for installing the Siebel add-on to RFT.

2.2 Verifying Installation

File System Updates

New Files

File FileTarget Directory
SiebelIEHelper.dll GAC (Global Assembly Cache)
SiebelDomainProxies.dll GAC
SiebelNotificationListener.dll GAC
Interop.Shdocvw.dll GAC
Interop.cascomLib.dll GAC
Interop.msHTML.dll GAC

Files in Customization Directory

Customization Directory = in the Registry under HKEY_LOCAL_MACHINE -> Software -> Rational Software -> Rational Test -> 8 > you will find Rational FT Customization Directory. Typically this points to "C:\Documents and Settings\All Users\Application Data\IBM\RFT\customization".

File Target
rational_ft_siebel.jar Customization Directory
rational_ft_siebel.rftcust Customization Directory
SiebelIEHelper.dll Customization Directory
SiebelDomainProxies.dll Customization Directory
SiebelNotificationListener.dll Customization Directory

Registry Updates

3.0 Feature highlights  

The Siebel add-on for RFT allows users to capture and play back GUI-level interactions using Siebel's object model and events. Users can perform property and data verification points on Siebel custom components.

RFT also exposes Siebel script-only methods on GUI and non-GUI Siebel objects and includes a Siebel Automation Framework for Rational Functional Tester, which allows you to create robust functional test scripts without even having to use the recorder or the object map. Using this framework, you can programmatically develop your test scripts based on known screen definitions in Siebel.

4.0 Known limitations, problems, and workarounds

4.1 Delayed recording of CAS events

In some cases, CAS throws events in a delayed manner. Rational Functional Tester will capture these events, but will not write the command to the record monitor until it receives the next GUI event. For example, when you interact with a checkbox, events like SetOn and SetOff are sent to the record monitor only when the focus is lost from the CheckBox. When RFT encounters this, "Event pending from CAS" will be shown in the record monitor window. The recorder will flush events only on a mouse-up event. To work around this problem, you need to click on another object to get the event recorded.

4.2 Resetting JAVA Build Path

If you install the RFT Extension for Siebel Test Automation and use the Java Scripting platform with a project that was loaded into your workspace before you installed the Siebel Extension, you may see script compilation errors when you first record a test against Siebel. To resolve these errors, right-click on the project in the Functional Test Projects view, and then click Reset Java Build Path. Refer to the "To Use RFT 6.1.1 with a Pre-existing RFT Project" section in the Section 2.0 above for additional details.

4.3 Delay Setting Preferences are not available for Siebel testing

Some of the options under Windows > Preferences are not valid for the RFT Siebel implementation because they do not apply to the Siebel object model. For example, the options under Windows > Preferences > Functional Test > Playback > Mouse Delays and > Other Delays do not apply to Siebel testing.

4.4 To Use RFT 6.1.1 with a Pre-existing RFT Project

If you install the latest Refresh Pack 6.1.1, you will need to perform a few actions before you can successfully use the new Siebel support with a pre-existing project. See the instructions in the Installation section above. Note that in the 6.1.1 Refresh Pack it was necessary to introduce some API breaking changes into RFT. As a result, in some cases a recorded "click" will no longer compile and instead needs to be replaced with "performAction", which is functionally equivalent.

4.5 Performing VP on an embedded Siebel control in SiebList

If a user wants to put a VP on an embedded Siebel control in a SiebList, the user needs to do a Timedelayed VP on that embedded control. But before performing the VP, the user needs to record a click() on that control. Otherwise, RFT will fail to find the embedded control.

4.6 Performing a data driven test on SiebCurrency

There are two types of data driven tests that are supported for this control.

1. The popup window is not open for the SiebCurrency control.

In this scenario, if the user tries to perform a data driven test on this currency control, the user will get only one statement to set the value of the Currency control. In this case the user is allowed to test different values with the same currency code.

2. The popup window is open for the SiebCurrency control.

In this scenario, if the user wants to perform a data driven test by changing the currency code and amount values, then the user needs to open the popup window and the children of the SiebCurrency control will be visible. Here, the user will get two statements: One is to set the currency code, and the second is to set the amount.

4.7 Problem with the SiebelAx_Test_Automation process

Sometimes recording against Siebel will appear to stop. A good troubleshooting tip is to stop the Siebel Test Automation process ("SiebelAx_Test_Automation.exe") in process explorer. Logging back into the Siebel application will restart this process. If this process is running when the Interim Fix is installed, restart it to ensure that the updated iFix files are used.

4.8 Recording against SiebThreadbar

If the SiebThreadbar link name contains any special characters (',",&,etc.), the recorded name will be displayed normally, but during the playback time, CAS will give an invalid argument error. For this control, CAS is expecting equivalent HTML code for the special characters. For example, "Contact Manager's Explorer View" equivalent is "Contact Manager&39;s Explorer View". This link name can be seen by putting a VP on that SiebThreadbar. So, the user needs to change the link manually if the link name contains any special characters.

4.9 Performing VP on controls like SiebText and SiebCheckbox

With the current implementation, the user has to move the focus out of this control by clicking on any other place to get the CAS event which is pending against these controls, before invoking the VP window.

4.10 Functional Tester Recorder stops

In certain instances where the CAS response over a network is slow, the Rational Functional Tester recorder may stop recording, showing a message dialog that the recorder has stopped. Simply close the message dialog and resume recording. If this occurs repeatedly, you may need to investigate your network connection and/or Siebel server response time.

4.11 Cannot highlight Siebel objects in the object mapping dialog

The object map highlight feature for Rational Functional Tester currently does not display highlights against Siebel objects. This also applies to highlighting Siebel objects when updating recognition properties within the object map dialog.

4.12 Events not written to a script when recording is paused

Events recorded against Siebel objects may be dropped in the event that recording has been paused. For example, this could occur after you enter text into a SiebText field and then you insert a verification point. The act of inserting a verification point causes the recorder to go into pause mode. Since some events from CAS are delayed in writing to a script unless you first click on another Siebel object, once the recorder is in pause mode, the event is lost. Therefore, after performing an action against a Siebel control, if you anticipate that recording will need to pause, it is important to first click on a different Siebel object. This will ensure that the last action against the Siebel object gets written to the script. This issue would also apply when clicking on the "Pause Recording" button in Rational Functional Tester record dialog.

4.13 RFT Fails to Record Javascript Alert Dialogs Launched From a Browser Dialog

There are some cases when interacting with the Siebel web application where an informational Javascript alert dialog (modal message dialog) will be opened from another Siebel dialog. Typically these dialogs would contain error messages. In some cases RFT fails to record the interaction with these dialogs. If this occurs in your testing, you can adapt and insert the following code in your RFT script in order to dismiss the modal alert dialog.

IWindow[] topWins = getRootTestObject().getTopWindows();
for (int i=0; i <topWins.length; i++) // Iterate through all of the top level windows looking for the problem dialog
{
    if (topWins[i].getText().equals("Siebel")) // The title of the dialog: typically "Siebel" for error conditions
    {
           topWins[i].inputKeys("{ENTER}"); // sending an "Enter" key to the dialog will dismiss it
           break;
    }
}

 

5.0 Contacting customer support

The product home page for Rational Functional Tester is www.ibm.com/software/awdtools/tester/functional/index.html. For FAQs, lists of known problems and fixes, and for other support information, visit the Support page on the product home page.

6.0 Notices and trademarks

U.S. Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.

This information was developed for products and services offered in the U.S.A. IBM may not offer the products, services, or features discussed in this documentation in other countries. Consult your local IBM representative for information on the products and services currently available in your area. Any reference to an IBM product, program, or service is not intended to state or imply that only that IBM product, program, or service may be used. Any functionally equivalent product, program, or service that does not infringe any IBM intellectual property right may be used instead. However, it is the user's responsibility to evaluate and verify the operation of any non-IBM product, program, or service.

IBM may have patents or pending patent applications covering subject matter described in this documentation. The furnishing of this documentation does not give you any license to these patents. You can send license inquiries, in writing, to:

IBM Director of Licensing
IBM Corporation
North Castle Drive
Armonk, NY 10504-1785
U.S.A.

For license inquiries regarding double-byte (DBCS) information, contact the IBM Intellectual Property Department in your country or send inquiries, in writing, to:

IBM World Trade Asia Corporation
Licensing
2-31 Roppongi 3-chome, Minato-ku
Tokyo 106, Japan

The following paragraph does not apply to the United Kingdom or any other country where such provisions are inconsistent with local law: INTERNATIONAL BUSINESS MACHINES CORPORATION PROVIDES THIS PUBLICATION "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OR CONDITIONS OF NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Some states do not allow disclaimer of express or implied warranties in certain transactions, therefore, this statement may not apply to you.

This information could include technical inaccuracies or typographical errors. Changes are periodically made to the information herein; these changes will be incorporated in new editions of the publication. IBM may make improvements and/or changes in the product(s) and/or the program(s) described in this publication at any time without notice.

Any references in this information to non-IBM Web sites are provided for convenience only and do not in any manner serve as an endorsement of those Web sites. The materials at those Web sites are not part of the materials for this IBM product and use of those Web sites is at your own risk.

IBM may use or distribute any of the information you supply in any way it believes appropriate without incurring any obligation to you.

Licensees of this program who wish to have information about it for the purpose of enabling: (i) the exchange of information between independently created programs and other programs (including this one) and (ii) the mutual use of the information which has been exchanged, should contact:

Intellectual Property Dept. for Rational Software
IBM Corporation
20 Maguire Road
Lexington, MA
02421-3112
USA

Such information may be available, subject to appropriate terms and conditions, including in some cases, payment of a fee.

The licensed program described in this documentation and all licensed material available for it are provided by IBM under terms of the IBM Customer Agreement, IBM International Program License Agreement or any equivalent agreement between us.

Any performance data contained herein was determined in a controlled environment. Therefore, the results obtained in other operating environments may vary significantly. Some measurements may have been made on development-level systems and there is no guarantee that these measurements will be the same on generally available systems. Furthermore, some measurements may have been estimated through extrapolation. Actual results may vary. Users of this document should verify the applicable data for their specific environment.

Information concerning non-IBM products was obtained from the suppliers of those products, their published announcements or other publicly available sources. IBM has not tested those products and cannot confirm the accuracy of performance, compatibility or any other claims related to non-IBM products. Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products.

All statements regarding IBM's future direction or intent are subject to change or withdrawal without notice, and represent goals and objectives only.

This information contains examples of data and reports used in daily business operations. To illustrate them as completely as possible, the examples may include the names of individuals, companies, brands, and products. All of these names are fictitious and any similarity to the names and addresses used by an actual business enterprise is entirely coincidental.

COPYRIGHT LICENSE:

This information contains sample application programs in source language, which illustrates programming techniques on various operating platforms. You may copy, modify, and distribute these sample programs in any form without payment to IBM, for the purposes of developing, using, marketing or distributing application programs conforming to the application programming interface for the operating platform for which the sample programs are written. These examples have not been thoroughly tested under all conditions. IBM, therefore, cannot guarantee or imply reliability, serviceability, or function of these programs. You may copy, modify, and distribute these sample programs in any form without payment to IBM for the purposes of developing, using, marketing, or distributing application programs conforming to IBM's application programming interfaces.

Each copy or any portion of these sample programs or any derivative work, must include a copyright notice as follows:

(C) (your company name) (year). Portions of this code are derived from IBM Corp. Sample Programs. (C) Copyright IBM Corp. 2000, 2005. All rights reserved.

If you are viewing this information softcopy, the photographs and color illustrations may not appear.

Programming interface information

Programming interface information is intended to help you create application software using this program.

General-use programming interfaces allow you to write application software that obtain the services of this program's tools.

However, this information may also contain diagnosis, modification, and tuning information. Diagnosis, modification and tuning information is provided to help you debug your application software.

Warning: Do not use this diagnosis, modification, and tuning information as a programming interface because it is subject to change.

Trademarks and service marks

The following terms are trademarks of International Business Machines Corporation in the United States, other countries, or both:

Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.

Microsoft and Windows are trademarks of Microsoft Corporation in the United States, other countries, or both.

Intel is a trademark of Intel Corporation in the United States, other countries, or both.

UNIX is a registered trademark of The Open Group in the United States and other countries.

Linux is a trademark of Linus Torvalds in the United States, other countries, or both.

Other company, product or service names, may trademarks or service marks of others.