У меня есть следующий фрагмент кода:
- щелкните переключатель из Firefox приложение
- переключатель открывает меню приложений по умолчанию из системных настроек
- Я открываю список браузеров, выбираю свой браузер и возвращаюсь в приложение, нажимая назад.
Эта часть прекрасно работает в моем локальном Android студийном эмуляторе и реальном устройстве, но когда я его запускаю в тестовой лаборатории Firebase с той же конфигурацией виртуального устройства: Pixel 2 API 28, он не обнаружит текст «Приложение браузера» и завершится ошибкой.
Есть идеи, почему на виртуальном устройстве Firebase он ведет себя по-другому?
fun selectDefaultBrowser() {
clickSetDefaultBrowserToggle()
mDevice.waitNotNull(
Until.findObject(By.text("Browser app")),
TestAssetHelper.waitingTime
)
assertAndroidSettingsPackage()
defaultBrowserAppList().waitForExists(waitingTime)
defaultBrowserAppList().clickAndWaitForNewWindow()
fenixDebugOption().click()
mDevice.pressBack()
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
mDevice.pressBack()
}
}
fun clickSetDefaultBrowserToggle() =
setDefaultBrowserToggle().clickAndWaitForNewWindow()
fun setDefaultBrowserToggle() = mDevice.findObject(
UiSelector().resourceId("org.mozilla.fenix.debug:id/switch_widget")
)
fun defaultBrowserAppList() = mDevice.findObject(
(UiSelector()
.className("android.widget.TextView"))
.resourceId("android:id/title")
.text("Browser app")
)
fun assertAndroidSettingsPackage() = assertTrue(
mDevice.findObject(
(UiSelector().packageName("com.android.settings"))
).waitForExists(waitingTime)
)
fun fenixDebugOption() = mDevice.findObject(UiSelector().text("Firefox Preview"))```