|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.safs.tools.drivers.DriverConfiguredSTAFInterfaceClass
org.safs.tools.engines.GenericEngine
org.safs.tools.engines.SAFSROBOTJ
public class SAFSROBOTJ
A wrapper to the IBM Rational Functional Tester SAFS engine--the "RobotJ" engine.
This engine can only be used if you have a valid, licensed installation of
IBM Rational Functional Tester (a.k.a. XDE Tester and--before that--RobotJ.)
We often refer to IBM Rational Functional Tester as "RFT".
The default SAFSDRIVER Tool-Independent Driver (TID) does not provide for any command-line options to configure RFT. All configuration information must be provided in config files. By default, these are SAFSTID.INI files. See SAFSTID Config Fields for more information.
The RFT supported config file items:
[SAFS_ROBOTJ] AUTOLAUNCH=FALSE Defaults to FALSE because config info must be valid. DATASTORE=<DatastoreJ> Root directory of RobotJ Project/Datastore. Location of RobotJ scripts. ;optional args follow ;-------------------- ;PLAYBACK=TestScript RobotJ script to use as SAFS Hook. (HOOK, HOOKSCRIPT) ;STAFID="SAFS/ROBOTJ" Normally never used. ;JVM=JVMpath Full path to desired Java executable if "java" is not sufficient. ;JVMARGS=JVM Args Ex: "-Xms512m -Xmx512m", will be used unmodified. ;CLASSPATH=altClasspath Generally overrides system classpath. ;INSTALLDIR=<wswpluginPath> [-V7]Directory in Rational where rational_ft.jar resides. ; Do not use INSTALLDIR if using JARPATH and PROJECTPATH. ;JARPATH=<FunctionalTester\bin> [V7+]Full file path to rational_ft.jar resides. ;PROJECTPATH=<CLASSPATH> [V7+]CLASSPATH syntax to all needed SAFS\STAF JARS. ; Do not use JARPATH and PROJECTPATH if using INSTALLDIR. ;XBOOTCLASSPATH=<CLASSPATH> [V8+]CLASSPATH needed by RFT when launching with -jar rational_ft.jar. ;PROJECT=<Project.rsp> Full path to Rational .rsp file for the Rational Project. ;BUILD=<Build #> Build # associated with this Rational Project TestManager. ;LOGFOLDER=Default The name of the root logfolder in the Rational Project. ;LOG=TestScript The name of the TestManager log to use. ;USERID=<userid> Login info for the Rational Project. ;PASSWORD= Login info for the Rational Project. ;TIMEOUT=45 AutoLaunch timeout value in seconds. Default 45 seconds. ;OPTIONS= Script -args to be appended, if any. Normally never used. SECSWaitForWindow=30 Timeout in seconds to look for Windows SECSWaitForComponent=30 Timeout in seconds to look for Window Components CommandLineBreakpoint=TRUE Set option to TRUE or FALSE TESTDOMAINS=Java,Html,Win,Net,Swt,Flex Limit the number of domains to search ClearProxiesAlways=True Always Clear reference caches. Force component search for every Action. RFSMOnly=Yes Run RFSM Search Mode exclusively(recognition string doesn't need :RFSM: prefix). RFSMCache=Yes Cache RFSM Search Mode components object(Child object). Main object(main window object) caches by default.
Note, the majority of these options are necessary to satisfy the command-line options for RFT ONLY if the project has been associated with a IBM Rational Test Manager project. Consult the RFT command-line options documentation for more details and valid settings.
As of RFT V7, if there is no Test Manager association and logging, then we can usually only need the AUTOLAUNCH and DATASTORE settings in the INI file.
Uses the following logic to deduce some settings:
XBOOTCLASSPATH="c:\safs\lib\jai_core.jar;c:\safs\lib\jai_codec.jar;c:\safs\lib\jai_imageio.jar;others..."
Other settings are not deduced and must be provided as necessary for your configuration.
This routine appends an -args parameters to the TestScriptHelper hook in the form of: -args safs.config.paths=<paths to chained config files> TestScriptHelper takes this value and stores it as a JVM System.property, "safs.config.paths".
| Field Summary |
|---|
| Fields inherited from class org.safs.tools.engines.GenericEngine |
|---|
console, process, testRecordData |
| Fields inherited from class org.safs.tools.drivers.DriverConfiguredSTAFInterfaceClass |
|---|
config, customStr, customText, debugStr, debugText, driver, DRIVER_TEMP_PROCESS, failedStr, failedText, genericStr, genericText, launchCount, log, machine, otherStr, otherText, passedStr, passedText, processName, running, SAFS_RESBUN_NAME, servicename, shutdownCount, staf, STAFPROC_EXE, warningStr, warningText, weStartedService, weStartedSTAF |
| Fields inherited from interface org.safs.tools.engines.EngineInterface |
|---|
COMMAND_SHUTDOWN_HOOK |
| Constructor Summary | |
|---|---|
SAFSROBOTJ()
Constructor for SAFSROBOTJ. |
|
SAFSROBOTJ(DriverInterface driver)
PREFERRED Constructor for SAFSROBOTJ. |
|
| Method Summary | |
|---|---|
void |
launchInterface(java.lang.Object configInfo)
Extracts or deduces configuration information and launches RFT in a new process. |
long |
processRecord(TestRecordHelper testRecordData)
Override superclass to catch unsuccessful initialization scenarios. |
| Methods inherited from class org.safs.tools.engines.GenericEngine |
|---|
getEngineName, isToolRunning, logMessage, makeQuotedPath, makeQuotedString, postShutdownServiceDelay, reset, resetShutdownSemaphore, saveTestRecordScreenToTestDirectory, setTRDStatus, shutdownService, waitHookShutdownAndReset |
| Methods inherited from class org.safs.tools.drivers.DriverConfiguredSTAFInterfaceClass |
|---|
extendedGenericMessage, finalize, getSTAFHelper, logMessage, setLogUtilities, shutdown, simpleGenericMessage, simpleGenericSuccessMessage, simpleGenericWarningMessage, simpleSuccessMessage, simpleSuccessMessage, simpleSuccessUsingMessage, standardErrorMessage |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Methods inherited from interface org.safs.tools.GenericToolsInterface |
|---|
shutdown |
| Constructor Detail |
|---|
public SAFSROBOTJ()
public SAFSROBOTJ(DriverInterface driver)
| Method Detail |
|---|
public void launchInterface(java.lang.Object configInfo)
launchInterface in interface ConfigurableToolsInterfacelaunchInterface in class GenericEngineconfigInfo - can be whatever the final implementation needs it to be. This
might be a String with configuration information, the name of a class, or an instance
of some object used to provide configuration assets.GenericEngine.launchInterface(Object)public long processRecord(TestRecordHelper testRecordData)
processRecord in interface EngineInterfaceprocessRecord in class GenericEngineEngineInterface#processRecord()
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||