1# Flicker Test Library
2
3## Motivation
4This set of tests use the flickerlib from `platform_testing/libraries/flicker` to execute a set of common UI transitions to detect discontinuous or unpredictable behavior.
5
6The tests are organized in packages according to the transitions they test (e.g., `rotation`, `splitscreen`).
7
8## Adding a Test
9
10By default, tests should inherit from `TestBase` and override the variable `transition` (Kotlin) or the function `getTransition()` (Java).
11
12Inheriting from this class ensures the common assertions will be executed, namely:
13
14* all regions on the screen are covered
15* status bar is always visible
16* status bar is at the correct position at the start and end of the transition
17* nav bar is always visible
18* nav bar is at the correct position at the start and end of the transition
19
20The default tests can be disabled by overriding the respective methods and including an `@Ignore` annotation.
21
22For more examples of how a test looks like check `ChangeAppRotationTest` within the `Rotation` subdirectory.
23
24