Make sure the ui tests can run on the nightly build
Categories
(Firefox for Android :: General, task)
Tracking
()
| Tracking | Status | |
|---|---|---|
| firefox159 | --- | fixed |
People
(Reporter: polly, Unassigned)
References
(Blocks 1 open bug)
Details
(Whiteboard: [fxdroid][group6])
Attachments
(2 files)
We want the ui tests to be runnable against the nightly or release builds as well as the debug build.
There are places where we hardcode the package name but we should infer those.
Updated•9 days ago
|
| Reporter | ||
Updated•9 days ago
|
Updated•9 days ago
|
Comment 1•9 days ago
|
||
Expand for the findings and list of affected tests (copied from bug 2071826#c1)
Tests that are not compatible with being run against a minified release build type
Tests that use mockk
These tests rely on reflection and the library is not available in a release build type, and so we need to exclude them from whatever runs are happening - or better still, we rewrite the tests
Tests & robots that hardcode package name
Some tests hardcode org.mozilla.fenix.debug package id for finding the resource id. When running a release variant, the package name is different, so our selectors will not find those UI elements.
Tests that duplicate production classes in the androdiTest source set
Tests that provide duplicate classes in alternative source sets. This causes duplicate class problems, because both the test APK and the target APK contain this class, and get obfuscated, but they may end up with different names, and that makes it crash when the instrumentation test is running.
For these classes, we need to move from duplicate classes into using some form of dependency injection, or delegation to contribute additional behaviours specific for tests.
- AppRequestInterceptor
FxaServer
Robots that use specific selection indices and were flaky in my experiments
Tests that behave differently when run against debug build type, vs release build type
top sites, sponsored lists & DefaultTopSitesBinding
- TopSitesTest
- SponsoredShortcutsTest
- HomeScreenTest#homeScreenItemsTest
- SettingsHomepageTest#verifyShortcutOptionTest
- SettingsAddonsTest#noCrashWithAddonInstalledTest
Extensions
We bundle a debug list of extensions that we test against, and those extensions are not in the release build, so we need to either ignore them when testing in release, or implement some code intervention to make it extensible for release
- ExtensionPrivateBrowsingTest
- ExtensionOptionsFilePickerTest
“about settings” UI options
- SettingsAdvancedTest#verifyAdvancedSettingsSectionItemsTest - leak canary does not exist in the release build
- SettingsAboutTest#verifyAboutFirefoxMenuAppDetailsItemTest - VCS hash is empty on debug, but non-empty on a release build.
Comment 2•3 days ago
|
||
Comment 3•2 days ago
|
||
(via GitHub webhook, authenticated as shared-secret)
Comment 5•1 day ago
|
||
| bugherder | ||
Comment 6•1 day ago
|
||
| bugherder | ||
Description
•