Class Test

All Implemented Interfaces:
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 Details

    • 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 Details

    • Test

      public Test(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:
    • 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 Details

    • 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(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(String[] argv, 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(String[] argv, PrintStream output, 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(String[] argv, 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(String[] argv, PrintWriter output, 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(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(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:
    • setTimeouts

      public void setTimeouts(Timeouts timeouts)
      Set the timeouts used by this Test.
      Specified by:
      setTimeouts in interface Timeoutable
      Overrides:
      setTimeouts in class ActionProducer
      Parameters:
      timeouts - A collection of timeout assignments.
      See Also:
    • getTimeouts

      public Timeouts getTimeouts()
      Get the timeouts used by this Test.
      Specified by:
      getTimeouts in interface Timeoutable
      Overrides:
      getTimeouts in class ActionProducer
      Returns:
      an object containing information about timeouts.
      See Also:
    • setOutput

      public void setOutput(TestOut out)
      Set the streams or writers used for print output.
      Specified by:
      setOutput in interface Outputable
      Overrides:
      setOutput in class ActionProducer
      Parameters:
      out - An object used to identify both output and error print streams.
      See Also:
    • getOutput

      public TestOut getOutput()
      Get the streams or writers used for print output.
      Specified by:
      getOutput in interface Outputable
      Returns:
      an object containing references to both output and error print streams.
      See Also:
    • startTest

      public int startTest(Object param)
      Executes test.
      Parameters:
      param - Object to be passed into this test's launch(Object) method.
      Returns:
      test status.
    • launch

      public final Object launch(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:
    • printSynopsis

      public void printSynopsis()
      Supposed to be overridden to print a synopsys into test output.
    • getDescription

      public final String getDescription()
      Description copied from interface: Action
      Returns the description value.
      Specified by:
      getDescription in interface Action
      Specified by:
      getDescription in interface Waitable
      Overrides:
      getDescription in class ActionProducer
      Returns:
      this ActionProducer's description.
      See Also:
    • runIt

      public int runIt(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:
    • doSleep

      protected void doSleep(long time)
      Sleeps.
      Parameters:
      time - The sleep time in milliseconds.