Over time, many contributors have added UI tests to cover various scenarios. While most of these tests work without issue, a handful still must pass CI consistently. To combat this, I would like to incrementally improve the underpinnings of the test suite in a few ways:
Improve consistency of failure diagnostics. We propagate file/line parameters to assertion functions most of the time, but not always.
Throw when expectations are unmet. This is optional, but it does solve a few problems, such as return values in helper functions when a failure occurs.
Improve consistency around tapping an element after waiting for it to exist. This is the biggest source of failure on CI. Most of the time, we correctly wait for the element to exist before attempting to tap on it, but the function signature is long and requires a timeout to be explicitly provided. It's a modest adjustment, but this could be made more succinct, and a default value for the timeout parameter should be included.
Over time, many contributors have added UI tests to cover various scenarios. While most of these tests work without issue, a handful still must pass CI consistently. To combat this, I would like to incrementally improve the underpinnings of the test suite in a few ways: