blob: 7429250f5cc011a2c152b745195353a47215823d [file] [log] [blame] [view]
Vishnu Nair8248b7c2018-08-01 10:13:36 -07001# Flicker Test Library
2
3## Motivation
Nataniel Borges53f93012020-07-02 10:35:49 +02004This 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`).
Vishnu Nair8248b7c2018-08-01 10:13:36 -07007
8## Adding a Test
Vishnu Nair8248b7c2018-08-01 10:13:36 -07009
Nataniel Borges0e9bb5a2024-04-05 12:56:36 +000010By default, tests should inherit from `TestBase` and override the variable `transition` (Kotlin) or the function `getTransition()` (Java).
Nataniel Borges53f93012020-07-02 10:35:49 +020011
Nataniel Borges0e9bb5a2024-04-05 12:56:36 +000012Inheriting from this class ensures the common assertions will be executed, namely:
Nataniel Borges53f93012020-07-02 10:35:49 +020013
Nataniel Borges53f93012020-07-02 10:35:49 +020014* all regions on the screen are covered
15* status bar is always visible
Nataniel Borges0e9bb5a2024-04-05 12:56:36 +000016* status bar is at the correct position at the start and end of the transition
Nataniel Borges53f93012020-07-02 10:35:49 +020017* nav bar is always visible
Nataniel Borges0e9bb5a2024-04-05 12:56:36 +000018* nav bar is at the correct position at the start and end of the transition
Nataniel Borges53f93012020-07-02 10:35:49 +020019
20The default tests can be disabled by overriding the respective methods and including an `@Ignore` annotation.
21
Nataniel Borges0e9bb5a2024-04-05 12:56:36 +000022For more examples of how a test looks like check `ChangeAppRotationTest` within the `Rotation` subdirectory.
Nataniel Borges53f93012020-07-02 10:35:49 +020023