JankTestBase

public class JankTestBase
extends InstrumentationTestCase

java.lang.Object
   ↳ junit.framework.Assert
     ↳ junit.framework.TestCase
       ↳ android.test.InstrumentationTestCase
         ↳ androidx.test.jank.JankTestBase


Base test class for measuring Jank. This test class automatically monitors jank while executing each test method. Each test method is executed several times in a loop, according to the 'iterations' command line parameter. To perform additional setup / tear down steps for each iteration, subclasses can optionally override beforeLoop() and afterLoop() methods. Test methods must be configured with the JankTest annotation. At minimum, the type of jank to measure and the number of expected frames must be specified.

Summary

Public constructors

JankTestBase()

Public methods

void afterLoop()

Called after each iteration of the test method.

void afterTest(Bundle metrics)

Called once after all iterations have completed.

void beforeLoop()

Called before each iteration of the test method.

void beforeTest()

Called once before executing a test method.

final int getCurrentIteration()

Return the index of the currently executing iteration.

Protected methods

IMonitorFactory createMonitorFactory()

Creates an IMonitorFactory instance that should be used to construct IMonitor(s) for the test methods in this class.

final Bundle getArguments()

Returns a Bundle containing the command line parameters.

IMonitorFactory getMonitorFactory()

Returns the IMonitorFactory instance that should be used to construct applicable IMonitor(s) for a given test method.

List<IMonitor> getMonitors(Method method)

Returns the list of IMonitors that should be applied to the given method.

void runTest()

Inherited methods

Public constructors

JankTestBase

public JankTestBase ()

Public methods

afterLoop

public void afterLoop ()

Called after each iteration of the test method.

Throws
Exception

afterTest

public void afterTest (Bundle metrics)

Called once after all iterations have completed.

Note: default implementation reports the aggregated jank metrics via Instrumentation.sendStatus(int, Bundle)

Parameters
metrics Bundle: the aggregated jank metrics after looped execution

beforeLoop

public void beforeLoop ()

Called before each iteration of the test method.

Throws
Exception

beforeTest

public void beforeTest ()

Called once before executing a test method.

Throws
Exception

getCurrentIteration

public final int getCurrentIteration ()

Return the index of the currently executing iteration.

Returns
int

Protected methods

createMonitorFactory

protected IMonitorFactory createMonitorFactory ()

Creates an IMonitorFactory instance that should be used to construct IMonitor(s) for the test methods in this class.

Returns
IMonitorFactory

getArguments

protected final Bundle getArguments ()

Returns a Bundle containing the command line parameters.

Returns
Bundle

getMonitorFactory

protected IMonitorFactory getMonitorFactory ()

Returns the IMonitorFactory instance that should be used to construct applicable IMonitor(s) for a given test method.

Returns
IMonitorFactory

getMonitors

protected List<IMonitor> getMonitors (Method method)

Returns the list of IMonitors that should be applied to the given method.

Parameters
method Method

Returns
List<IMonitor>

runTest

protected void runTest ()

Throws
Throwable