Release 2001A.04.00
Part
Number: 800-023988-000
Copyright
© 2001 Rational Software and its subsidiaries. All rights reserved.
May 2001
Additional Application Server Support
Rational QualityArchitect Options Dialog
Additional Classpath Option for Java
Rational QualityArchitect Copyright Notices
Missing Preface in the Online Manual
Guidelines,
Defects, and Restrictions
Running Test Scripts from Rational TestManager
Limitations with COM Programmatic
ID Strings
Using the OLE DB Query Design
Wizard and the IBM DB2 ODBC Driver
Using Fully Qualified Class Names
Order of Jar Files on the Classpath
Stack Overflows in Visual Cafe
Running the Sample Application in
Visual Cafe
Connecting to Remote Application
Servers
Problems with JNDI Names and VAJ
3.02
J2EE Dependency on ioserxx.dll
Missing Java Classes for EJB
Session Recorder and Query Builder Help
Contacting
Rational Technical Support
Rational® QualityArchitect is a powerful collection of integrated tools for testing middleware components built with technologies such as Enterprise JavaBeans and COM.
QualityArchitect, in conjunction with Rational Rose, generates test scripts for components and interactions in your Rose model. Once generated, the test scripts can be edited and run right from your development environment or from Rational TestManager.
This release of QualityArchitect is designed specifically for testing the following component types:
· Enterprise JavaBeans (EJB)
· COM
The following J2EE enhancements have been added to this release of Rational QualityArchitect:
· The EJB Bank Account Sample is now deployable to the Sun J2EE Reference Server.
· The EJB Session Recorder has been made compatible with JDK 1.3.
· The JNDI Browser in the EJB Session Recorder now lets you view multiple subcontexts.
With this release QualityArchitect now includes support for WebLogic 5.1 and the Sun J2EE Reference Server.
Both the EJB and COM Query Builders now contain an options tab that lets you specify the options you want when inserting a verification point. Previously, these options could only be inserted manually into the generated test script. These options include:
· DATABASEOPTION_TRIM_WHITESPACE. Specifies that captured values should have whitespace trimmed from the right and left sides.
· VPOPTION_COMPARE_CASEINSENSITIVE. Specifies that the verification should be case insensitive. By default, text comparisons are case sensitive.
· VPOPTION_EXPECT_FAILURE. Specifies that the verification point's expected result is failure. If the comparison fails and this option is set, the verification point succeeds.
· VPOPTION_USER_ACKNOWLEDGE_BASELINE. Specifies that the first run of a static verification point should display the captured data for the tester to validate before storing it as the expected (baseline) data object.
The Rational QualityArchitect Options dialog now contains three tabs, one for setting logging options, one for setting Visual Basic (VB) options, and one for setting Java options.
· A new logging option has been added that lets you turn logging off and on for stub generation information messages.
· From the new VB options tab you can specify the location of the Visual Basic resource compiler and specify command line options for the resource compiler. The resource compiler is required for COM script generation.
· From the Java options tab you can specify the location of the Java Runtime Environment (JRE) and set several options for the EJB Session Recorder, including the Provider URL and the Initial Context Factory. You can also specify additional items to add to the classpath, such as required JAR files and application server classes. See “Additional Classpath Option” for details.
This new option, which is accessed from Java tab of the Rational QualityArchitect Options dialog box, simplifies the process of launching the EJB Session Recorder from the Rational QualityArchitect Console by ensuring that the order of included JAR files for the deployed EJBs is correct.
The following classes must be referenced in the following order either in the additional classpath for the EJB Session Recorder or in the user classpath.
·
The home and remote interface classes for the deployed
EJBs. These classes can be referenced in a directory or in a jar file.
· The required application server classes. Consult your application server documentation for information about the required application server classes.
· The path to the installed J2EE SDK. This path must appear in the J2EE_HOME system environment variable.
If this order is not followed, the EJB Session Recorder will be unable to connect to and interact with the deployed EJBs on the application server.
When test scripts generated by Rational QualityArchitect are later executed in an IDE or under TestManager, they utilize part of the GNU C Library. Copyright notices for the GNU C Library were not included in the printed documentation due to production deadlines. Instead, they are provided in these release notes.
catgets.c:
Copyright (c) 1996, 1997, 1998, 1999 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper, <drepper@gnu.org>.
gnu_getopt.c:
Copyright (c) 1987, 88, 89, 90, 91, 92, 93, 94 , 95, 96, 97 Free Software Foundation, Inc.
catgetsinfo.h:
Copyright (C) 1996, 1997 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper, <drepper@gnu.ai.mit.edu>.
nl_types.h:
Copyright (C) 1996, 1997 Free Software Foundation, Inc.
This file is part of the GNU C Library.
gnu_getopt.h:
Copyright (c) 1989, 90, 91, 92, 93, 94, 95, 96, 97 Free Software Foundation, Inc.
The GNU C Library and its use are covered under the terms of the GNU Library General Public License, a copy of which may be found in the following installed directory:
<INSTALLDIR>\Rational\Rational Test\opensrc\GNU_LGPL.txt.
See the README.wri file in the same directory for additional information.
The Preface is missing in the online version of the Using Rational QualityArchitect manual. As a result, all links from the Preface in the online table of contents are broken.
In the Message Syntax section of Using Rational QualityArchitect, it states that you can select the None or Type Only options in the Message Signatures box and still get a valid test script. This is currently untrue. Selecting these options will cause the generated script to fail to compile.
If you stop test script execution before tms.EndTestServices (VB) or tms.endTestServices(Java) is called in the script, be sure to exit your IDE. Otherwise, logging will be turned off for future runs of QualityArchitect test scripts.
If you run RQA test scripts from TestManager, and those test scripts contain deployed stubs, invalid test logs will be produced. When using stubs, run test scripts directly from your IDE.
COM Programmatic ID strings must be 39 characters or less. Since there is no check on this limitation in QualityArchitect, a .cls name combined with the VB Project name may exceed 39 characters. VB will not allow you to run if you do not trim down the length of the Programmatic ID string.
The error will appear as follows:
"ProgrammaticID string too long '<VB project name>.<RQA cls
name>'.
The Programmatic ID must be 39 characters or less"
QualityArchitect Unit tests for COM components create an instance of the component under test in VB by invoking the CreateObject method and providing it with the ProgID of the component under test. The QualityArchitect Unit Test generator determines the ProgID to use in this call by reading the UUID from the model and looking it up in the registry. If that UUID is found in the registry, the corresponding ProgID from the registry is used.
If the UUID cannot be found in the registry (because the component has not yet been created and registered or has had its UUID changed by a VB project which does not specify Binary Compatibility), then QualityArchitect will build a ProgID using the convention: Libraryname.CoClassname. If you do not wish to follow this convention, then you must make sure your component is registered, and that the component's UUID in the model is in sync with the actual component's UUID.
When scenario tests are generated for COM applications, you may receive the following warning from VB when opening the script:
File not found: '<ScriptName>.RES’
This is a problem only if you want to execute the test under TestManager. If you are not interested in TestManager playback, click OK and the project will load in VB.
This problem can be avoided by following the guidelines below:
· When prompted to "Choose a directory that will be the data path for the script source named "RQA VB Scripts", be sure to choose a directory that does not contain spaces in its path.
· Make certain that the name of the scenario diagram does not contain any spaces.
Because of compatibility problems with the OLE DB Query Design Wizard and the IBM DB2 ODBC Driver, you will need to enter SQL statements manually when using this combination.
The following error appears when you attempt to use the Query Design wizard:
[IBM][CLI Driver]SQL0104N An unexpected token "END-OF-STATEMENT" was found following "<TABLE OWNER>.<YOUR TABLE NAME>". Expected tokens may include "JOIN <joined_table".
SQLSTATE=426
Please contact IBM Technical Support for DB2 ODBC Driver resolution."
When using QualityArchitect to generate tests or stubs, make sure that fully qualified class names are used for parameter types and return types. For example, use java.math.BigDecimal and NOT just BigDecimal. Failure to use fully qualified class names will result in code that will not compile without adding additional import statements.
If you connect to DB2 via IBM 's JDBC Driver, you need to be aware of:
1. The character set or code page used by the DB2 database
2. The character set used by client applications
The character code page on the client and the target DB2 server must be compatible, that is, the DB2 server must minimally be able to convert the client code page into the DB2's internal code page. If this fails, the DB2 server will throw an "incompatible code page error message."
Example: If you attempt to configure a DB2 ODBC data source to be used by IBM's COM.ibm.db2.jdbc.app.DB2Driver on a Korean NT4.0 machine with the target server being on a US English DB2 server, you'll get an error message relating to incompatible code page.
In this case, you must consult the IBM documentation or IBM Tech Support on resolving this issue.
If a J2EE JDK is installed on a pre-J2EE application server, the pre-J2EE jar files must precede the J2EE jar files on the class path. For example, weblogicaux.jar should precede the standard JDK 1.2.x jar files if the WebLogic version is pre-J2EE (i.e 4.5x).
For information about connecting to application servers, consult the vender’s documentation.
If a stack overflow occurs in Visual Cafe when you attempt to build a project that contains generated test scripts:
1. Delete all Visual Cafe project temp files, except the .vep files.
2. Recompile.
To run the Rational Bank Account sample EJB application in Visual Café:
1. Launch Visual Café 3.1 or later if it is not currently running. Create a new Empty Project:
a. Click File > New Project….
b. Select Empty Project.
c. Click OK.
1. Click Project > Options and then click the Directories tab.
2. Click New, the button farthest to the left.
3. Click file.
4. Navigate to Rational Test\QualityArchitect\Samples\ejb/bankacct\vc\RatlBankAcct45.jar or Rational Test\QualityArchitect\Samples\ejb/bankacct\vc\RatlBankAcct51.jar and click Open.
5. Click the Project tab.
6.
In the Main Class box, type RationalBankAcct.BankAcctClient.
7. In the Program Arguments box, enter the following text:
appserver=weblogic
8. Click OK.
9. Click Project > Execute.
When trying to connect to a remote application server, the required JNDI initial context classes for the application server must exist in the Additional Classpath Options field. This field can be accessed from the Java Options tab of the Rational QualityArchitect Options dialog box. If the application server classes are not found, the EJB Session Recorder will not be able to connect to the remote server.
Also, in order to
connect to a remote version of WebSphere 3.5 from within VisualAge for
Java 3.5, you need to apply VAJ 3.5 Patch 2. This patch can be downloaded
from the IBM Website.
Within the EJB Session Recorder is a JNDI browser that lets you view deployed EJBs on the application server. You access the JNDI browser by clicking the Select Deployed EJBs button.
Because VAJ 3.02 appends the class name for the EJB container class object to the JNDI name, incorrect JNDI names are displayed in the JNDI browser. For example, instead of ExecuteTransaction, the name might be displayed as follows:
ExecuteTransaction..RationalBankAcct.ExecuteTransactionEJSHomeImpl
If you choose one of these names and try to connect to the EJB, an exception is thrown because the EJB cannot be found. To correct this problem, delete the double periods and everything after the periods, so that the real JNDI name–for example, ExecuteTransaction–is shown.
In this release, the EJB Session Recorder requires that the J2EE_HOME system variable be defined with the path to a version of the J2EE. This path should be the main installation path for the J2EE.
Since the J2EE.jar file is dependent on ioserxx.dll, which is located in the nativeLib directory for the installed J2EE, you must include the path to the nativeLib directory in the system path for the version of the J2EE that you have specified in the J2EE_HOME system variable.
If the J2EE cannot find ioserxx.dl, the Session Recorder will fail to connect to any deployed EJBs.
The JavaHelp v.1.1 that is integrated with the Query Builder and the EJB Session Recorder requires JDK v.1.1.8 or above to fully utilize all the help features. Because Visual Age for Java (VAJ) v.3.0x only utilizes JDK 1.1.7., some of the required classes for JavaHelp are missing. As a result, when the JavaHelp jar file is imported into VAJ v.3.0x, some problems are generated that state certain Java classes are missing. These missing classes include the following:
·
java.awt.print.PageFormat
·
java.awt.print.Printable
·
java.awt.print.PrinterJob
·
java.security.PrivelegedExceptionAction
·
java.security.Permission
·
javax.swing.JLabel$AccessibleJLabel
If you have questions about installing, using, or maintaining this product, contact Rational Technical Support as follows:
Your Location |
Telephone |
Facsimile |
E-mail |
North America |
(800) 433-5444 (408) 863-4000 |
(781) 676-2460 |
support@rational.com |
Europe, Middle East, Africa |
+31 (0) 20-4546-200 |
+31 (0) 20-4545-201 |
support@europe.rational.com |
Asia Pacific |
+61-2-9419-0111 |
+61-2-9419-0123 |
support@apac.rational.com |
Note: When you contact Rational Technical Support, please be prepared to supply the following information:
· Your name, telephone number, and company name
· Your computer’s make and model
· Your operating system and version number
· Product release number and serial number
· Your case ID number (if you are following up on a previously-reported problem)