Тесты проходят на локальном эмуляторе AS, но не проходят в тестовой лаборатории Firebase - PullRequest
0 голосов
/ 01 февраля 2020

У меня есть следующий фрагмент кода:

  • щелкните переключатель из 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"))```

1 Ответ

0 голосов
/ 07 февраля 2020

Нашли виновника. Этого недостаточно: fun defaultBrowserAppList () = mDevice.findObject ((UiSelector (). Text ("Browser app")). По какой-то причине он не соответствует тексту.

Должен быть заменен на UiSelector (.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...