Class 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)
    • Nested Class Summary

      • Nested classes/interfaces inherited from class java.lang.Thread

        java.lang.Thread.State, java.lang.Thread.UncaughtExceptionHandler
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      protected Test()
      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 void closeDown​(int status)
      Throws TestCompletedException exception.
      protected void doSleep​(long time)
      Sleeps.
      java.lang.String getDescription()
      Returns the description value.
      TestOut getOutput()
      Get the streams or writers used for print output.
      Timeouts getTimeouts()
      Get the timeouts used by this Test.
      java.lang.Object launch​(java.lang.Object obj)
      Launch an action.
      static void main​(java.lang.String[] argv)
      Invoke this Test.
      void printSynopsis()
      Supposed to be overridden to print a synopsys into test output.
      static int run​(java.lang.String[] argv)
      Executes a test.
      static int run​(java.lang.String[] argv, java.io.PrintStream output)
      Executes a test.
      static int run​(java.lang.String[] argv, java.io.PrintStream output, java.io.PrintStream errput)
      Executes a test.
      static int run​(java.lang.String[] argv, java.io.PrintWriter output)
      Executes a test.
      static int run​(java.lang.String[] argv, java.io.PrintWriter output, java.io.PrintWriter errput)
      Executes a test.
      int runIt​(java.lang.Object param)
      Defines a way to execute this Test.
      void setOutput​(TestOut out)
      Set the streams or writers used for print output.
      void setTimeouts​(Timeouts timeouts)
      Set the timeouts used by this Test.
      int startTest​(java.lang.Object param)
      Executes test.
      Scenario testForName​(java.lang.String testName)
      Creates an instance of a class named by the parameter.
      • 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
      • Methods inherited from class java.lang.Object

        equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • 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 of ActionProducer and java.lang.Thread that 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 of ActionProducer and java.lang.Thread that 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 this Test class. Creates a subclass of ActionProducer and java.lang.Thread that 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 status java.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 this Test. 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 Scenario to launch.
        See Also:
        Scenario
      • 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 test Scenario.
        Specified by:
        launch in interface Action
        Overrides:
        launch in class ActionProducer
        Parameters:
        obj - An argument object that controls test execution. This might be a java.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.
      • runIt

        public int runIt​(java.lang.Object param)
        Defines a way to execute this Test.
        Specified by:
        runIt in interface Scenario
        Parameters:
        param - An object passed to configure the test scenario execution. For example, this parameter might be a java.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.