# Class DeviceRunner

java.lang.Object
com.codename1.testing.DeviceRunner

public abstract class DeviceRunner extends Object
Runs the test cases from the test build of the app, notice that this class is abstract since device/app specific code can exist in the implementation

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `DeviceRunner()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `runTest(String testClassName)`
  Runs the given test case
  `void`
  `runTests()`
  Run all the test cases
  `protected abstract void`
  `startApplicationInstance()`
  This method starts a new application instance
  `protected abstract void`
  `stopApplicationInstance()`
  This method should cleanup the application so the next test case can run on a clean application instance

  ### Methods inherited from class Object

  `clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`
  Modifier and Type
  Method
  Description
  `protected Object`
  `clone()`
  `boolean`
  `equals(Object obj)`
  Indicates whether some other object is "equal to" this one.
  `final Class`
  `getClass()`
  Returns the runtime class of an object.
  `int`
  `hashCode()`
  Returns a hash code value for the object.
  `final void`
  `notify()`
  Wakes up a single thread that is waiting on this object's monitor.
  `final void`
  `notifyAll()`
  Wakes up all threads that are waiting on this object's monitor.
  `String`
  `toString()`
  Returns a string representation of the object.
  `final void`
  `wait()`
  Causes current thread to wait until another thread invokes the method or the method for this object.
  `final void`
  `wait(long timeout)`
  Causes current thread to wait until either another thread invokes the method or the method for this object, or a specified amount of time has elapsed.
  `final void`
  `wait(long timeout, int nanos)`
  Causes current thread to wait until another thread invokes the method or the method for this object, or some other thread interrupts the current thread, or a certain amount of real time has elapsed.

- ## Constructor Details

  - ### DeviceRunner

    public DeviceRunner()

- ## Method Details

  - ### runTests

    public void runTests()
    Run all the test cases

  - ### startApplicationInstance

    protected abstract void startApplicationInstance()
    This method starts a new application instance

  - ### stopApplicationInstance

    protected abstract void stopApplicationInstance()
    This method should cleanup the application so the next test case can run on a clean application instance

  - ### runTest

    public void runTest(String testClassName)

    Runs the given test case

    ###### Parameters

    - `testClassName`: the class name of the test case