# Class DeviceRunner

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

public abstract class DeviceRunner extends java.lang.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 java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## 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