Package org.netbeans.jemmy
Class Test
- java.lang.Object
-
- java.lang.Thread
-
- org.netbeans.jemmy.ActionProducer
-
- org.netbeans.jemmy.Test
-
- All Implemented Interfaces:
java.lang.Runnable,Action,Outputable,Scenario,Timeoutable,Waitable
public class Test extends ActionProducer implements Timeoutable, Outputable, Scenario
Jemmy itself provides a way to create tests. Test should implement org.netbeans.jemmy.Scenario interface. Test can be executed from command line:
java [application options] [jemmy options] org.netbeans.jemmy.Test [full name of test class] [test args]
Test elso can be executed by one of the run(...) methods or by
new Test([test class name]).startTest([test args]);
Timeouts used:
Test.WholeTestTimeout - time for the whole test- Author:
- Alexandre Iline (alexandre.iline@sun.com)
-
-
Field Summary
Fields Modifier and Type Field Description protected TestOutoutputTest output.static intSCENARIO_EXCEPTION_STATUSStatus returned by test if exception appeared inside scenario.static intTEST_PASSED_STATUSPositive test status.protected TimeoutstimeoutsTest timeouts.static intWRONG_PARAMETERS_STATUSStatus returned by test if wrong parameter was passed.
-
Constructor Summary
Constructors Modifier Constructor Description protectedTest()No argument constructor.Test(java.lang.String testClassName)Constructor for tests requiring only a class instance.Test(Scenario scenario)Constructor for scenarios that require an instance and might require an argument.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static voidcloseDown(int status)Throws TestCompletedException exception.protected voiddoSleep(long time)Sleeps.java.lang.StringgetDescription()Returns the description value.TestOutgetOutput()Get the streams or writers used for print output.TimeoutsgetTimeouts()Get the timeouts used by thisTest.java.lang.Objectlaunch(java.lang.Object obj)Launch an action.static voidmain(java.lang.String[] argv)Invoke thisTest.voidprintSynopsis()Supposed to be overridden to print a synopsys into test output.static intrun(java.lang.String[] argv)Executes a test.static intrun(java.lang.String[] argv, java.io.PrintStream output)Executes a test.static intrun(java.lang.String[] argv, java.io.PrintStream output, java.io.PrintStream errput)Executes a test.static intrun(java.lang.String[] argv, java.io.PrintWriter output)Executes a test.static intrun(java.lang.String[] argv, java.io.PrintWriter output, java.io.PrintWriter errput)Executes a test.intrunIt(java.lang.Object param)Defines a way to execute thisTest.voidsetOutput(TestOut out)Set the streams or writers used for print output.voidsetTimeouts(Timeouts timeouts)Set the timeouts used by thisTest.intstartTest(java.lang.Object param)Executes test.ScenariotestForName(java.lang.String testName)Creates an instance of a class named by the parameter.-
Methods inherited from class org.netbeans.jemmy.ActionProducer
actionProduced, getException, getFinished, getResult, produceAction, run, setActionPriority
-
Methods inherited from class java.lang.Thread
activeCount, checkAccess, clone, countStackFrames, currentThread, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, onSpinWait, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, suspend, toString, yield
-
-
-
-
Field Detail
-
WRONG_PARAMETERS_STATUS
public static int WRONG_PARAMETERS_STATUS
Status returned by test if wrong parameter was passed.
-
SCENARIO_EXCEPTION_STATUS
public static int SCENARIO_EXCEPTION_STATUS
Status returned by test if exception appeared inside scenario.
-
TEST_PASSED_STATUS
public static int TEST_PASSED_STATUS
Positive test status.
-
timeouts
protected Timeouts timeouts
Test timeouts.
-
output
protected TestOut output
Test output.
-
-
Constructor Detail
-
Test
public Test(java.lang.String testClassName)
Constructor for tests requiring only a class instance. Creates a subclass ofActionProducerandjava.lang.Threadthat runs in a separate thread of execution and waits for execution to finish. The current output stream assignments and timeouts are used.- Parameters:
testClassName- Full test class name
-
Test
public Test(Scenario scenario)
Constructor for scenarios that require an instance and might require an argument. Creates a subclass ofActionProducerandjava.lang.Threadthat runs in a separate thread of execution and waits for execution to finish. The current output stream assignments and timeouts are used.- Parameters:
scenario- a test scenario- See Also:
Scenario
-
Test
protected Test()
No argument constructor. Used by subclasses of thisTestclass. Creates a subclass ofActionProducerandjava.lang.Threadthat runs in a separate thread of execution and waits for execution to finish. The current output stream assignments and timeouts are used.
-
-
Method Detail
-
closeDown
public static void closeDown(int status)
Throws TestCompletedException exception. The exception thrown contains a pass/fail status and a short statusjava.lang.String. Can by invoked from test to abort test execution.- Parameters:
status- If 0 - test passed, otherwise failed.- Throws:
TextCompletedException- all of the time.
-
run
public static int run(java.lang.String[] argv)
Executes a test.- Parameters:
argv- First element should be a test class name, all others - test args.- Returns:
- test status.
-
run
public static int run(java.lang.String[] argv, java.io.PrintStream output)Executes a test.- Parameters:
argv- First element should be a test class name, all others - test args.output- Stream to put test output and errput into.- Returns:
- test status.
-
run
public static int run(java.lang.String[] argv, java.io.PrintStream output, java.io.PrintStream errput)Executes a test.- Parameters:
argv- First element should be a test class name, all others - test args.output- Stream to put test output into.errput- Stream to put test errput into.- Returns:
- test status.
-
run
public static int run(java.lang.String[] argv, java.io.PrintWriter output)Executes a test.- Parameters:
argv- First element should be a test class name, all others - test args.output- Writer to put test output and errput into.- Returns:
- test status.
-
run
public static int run(java.lang.String[] argv, java.io.PrintWriter output, java.io.PrintWriter errput)Executes a test.- Parameters:
argv- First element should be a test class name, all others - test args.output- Writer to put test output into.errput- Writer to put test errput into.- Returns:
- test status.
-
main
public static void main(java.lang.String[] argv)
Invoke thisTest. The call might be directly from the command line.- Parameters:
argv- First element should be a test class name, all others - test args.
-
testForName
public Scenario testForName(java.lang.String testName)
Creates an instance of a class named by the parameter.- Parameters:
testName- Full test class name- Returns:
- an instance of the test
Scenarioto launch. - See Also:
Scenario
-
setTimeouts
public void setTimeouts(Timeouts timeouts)
Set the timeouts used by thisTest.- Specified by:
setTimeoutsin interfaceTimeoutable- Overrides:
setTimeoutsin classActionProducer- Parameters:
timeouts- A collection of timeout assignments.- See Also:
Timeoutable,Timeouts,getTimeouts()
-
getTimeouts
public Timeouts getTimeouts()
Get the timeouts used by thisTest.- Specified by:
getTimeoutsin interfaceTimeoutable- Overrides:
getTimeoutsin classActionProducer- Returns:
- an object containing information about timeouts.
- See Also:
Timeoutable,Timeouts,setTimeouts(org.netbeans.jemmy.Timeouts)
-
setOutput
public void setOutput(TestOut out)
Set the streams or writers used for print output.- Specified by:
setOutputin interfaceOutputable- Overrides:
setOutputin classActionProducer- Parameters:
out- An object used to identify both output and error print streams.- See Also:
Outputable,TestOut,getOutput()
-
getOutput
public TestOut getOutput()
Get the streams or writers used for print output.- Specified by:
getOutputin interfaceOutputable- Returns:
- an object containing references to both output and error print streams.
- See Also:
Outputable,TestOut,setOutput(org.netbeans.jemmy.TestOut)
-
startTest
public int startTest(java.lang.Object param)
Executes test.- Parameters:
param- Object to be passed into this test's launch(Object) method.- Returns:
- test status.
-
launch
public final java.lang.Object launch(java.lang.Object obj)
Launch an action. Pass arguments to and execute a testScenario.- Specified by:
launchin interfaceAction- Overrides:
launchin classActionProducer- Parameters:
obj- An argument object that controls test execution. This might be ajava.lang.String[]containing command line arguments.- Returns:
- an Integer containing test status.
- See Also:
Action
-
printSynopsis
public void printSynopsis()
Supposed to be overridden to print a synopsys into test output.
-
getDescription
public final java.lang.String getDescription()
Description copied from interface:ActionReturns the description value.- Specified by:
getDescriptionin interfaceAction- Specified by:
getDescriptionin interfaceWaitable- Overrides:
getDescriptionin classActionProducer- Returns:
- this
ActionProducer's description. - See Also:
Action
-
runIt
public int runIt(java.lang.Object param)
Defines a way to execute thisTest.- Specified by:
runItin interfaceScenario- Parameters:
param- An object passed to configure the test scenario execution. For example, this parameter might be ajava.lang.String[]object that lists the command line arguments to the Java application corresponding to a test.- Returns:
- an int that tells something about the execution. For, example, a status code.
- See Also:
Scenario
-
doSleep
protected void doSleep(long time)
Sleeps.- Parameters:
time- The sleep time in milliseconds.
-
-