public class SAFSROBOTJ extends GenericEngine
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:
Some 8.x versions of RFT (perhaps all?) still contain their own Java 1.6 JDK. For runtime execution with SAFS we now use Java 1.7. at bundles in directory SAFS\jre.
If RFT will not launch successfully using our default launch algorithms pointing to what we think is the right JDK/JRE, the user may have to provide this JVM parameter to point to a JDK/JRE that will work for their case.
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".
Modifier and Type | Field and Description |
---|---|
(package private) static java.lang.String |
ENGINE_NAME
"SAFS/RobotJ" -- The name of this engine as registered with STAF.
|
(package private) static java.lang.String |
HOOK_CLASS
"com.rational.test.ft.rational_ft" -- The Rational class that is RobotJ/XDE Tester.
|
(package private) static java.lang.String |
HOOK_OPTION |
(package private) static java.lang.String |
HOOK_SCRIPT
"TestScript" -- The default script run by the engine.
|
(package private) static java.lang.String |
HOOKSCRIPT_OPTION |
(package private) static java.lang.String |
JVMARGS_OPTION |
(package private) static java.lang.String |
PLAYBACK_OPTION |
(package private) static java.lang.String |
XBOOTCLASSPATH_OPTION |
console, process, testRecordData, testrecordStackable
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
COMMAND_SHUTDOWN_HOOK
Constructor and Description |
---|
SAFSROBOTJ()
Constructor for SAFSROBOTJ.
|
SAFSROBOTJ(DriverInterface driver)
PREFERRED Constructor for SAFSROBOTJ.
|
Modifier and Type | Method and Description |
---|---|
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.
|
deduceBenchFile, deduceProjectFile, deduceTestFile, getAppMapItem, getEngineName, getVariable, isToolRunning, logMessage, makeQuotedPath, makeQuotedString, popTestRecord, postShutdownServiceDelay, pushTestRecord, reset, resetShutdownSemaphore, saveTestRecordScreenToTestDirectory, setTRDStatus, setVariable, shutdownService, waitHookShutdownAndReset
configureJSTAFServiceEmbeddedJVMOption, extendedGenericMessage, finalize, getCoreInterface, getEmbeddedJVMBinPath, getSTAFHelper, logMessage, setLogUtilities, setLogUtilities, shutdown, simpleGenericMessage, simpleGenericSuccessMessage, simpleGenericWarningMessage, simpleSuccessMessage, simpleSuccessMessage, simpleSuccessUsingMessage, standardErrorMessage, waitForServiceStartCompletion
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getCoreInterface, shutdown
static final java.lang.String ENGINE_NAME
static final java.lang.String HOOK_CLASS
static final java.lang.String HOOK_SCRIPT
static final java.lang.String HOOK_OPTION
static final java.lang.String HOOKSCRIPT_OPTION
static final java.lang.String PLAYBACK_OPTION
static final java.lang.String JVMARGS_OPTION
static final java.lang.String XBOOTCLASSPATH_OPTION
public SAFSROBOTJ()
public SAFSROBOTJ(DriverInterface driver)
public void launchInterface(java.lang.Object configInfo)
launchInterface
in interface ConfigurableToolsInterface
launchInterface
in class GenericEngine
configInfo
- 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 EngineInterface
processRecord
in class GenericEngine
EngineInterface#processRecord()
Copyright © SAS Institute. All Rights Reserved.