Articles of эспрессо

«Не удалось запустить активность» в тесте эспрессо

Вот мой полный код , когда я тестирую следующий код с помощью «Android Tests», он вызывает ошибку «Не удалось запустить активность», //TestPlayer.kt public class PlayerTest : ActivityInstrumentationTestCase2<Player>(Player::class.java) { override fun setUp() { super.setUp() getActivity() } fun testPlayer() { onView(withId(R.id.player)).perform(doubleClick()) } } Я не нахожу выход в мониторе Android, как его отлаживать?

Приложение; использовал другой AppComponent; во время предварительной проверки

У меня возникают проблемы с запуском моих эспрессо-тестов на одном устройстве – я получаю следующую ошибку: W/dalvikvm(10180): Class resolved by unexpected DEX: Lorg/ligi/passandroid/App;(0x43876120):0x660f9000 ref [Lorg/ligi/passandroid/AppComponent;] Lorg/ligi/passandroid/AppComponent;(0x43876120):0x64e2f000 W/dalvikvm(10180): (Lorg/ligi/passandroid/App; had used a different Lorg/ligi/passandroid/AppComponent; during pre-verification) D/AndroidRuntime(10180): Shutting down VM W/dalvikvm(10180): threadid=1: thread exiting with uncaught exception (group=0x433101a0) E/MonitoringInstrumentation(10180): Exception encountered by: Thread[main,5,main]. Dumping thread state […]

Что делать в Espresso, когда recyclerView сам возвращает AmbiguousViewMatcherException?

Проблема в том, что у меня есть вкладка, и каждая страница содержит один и тот же recyclerView с разными данными, относящимися к этой вкладке. Если я не слишком хорошо описываю это, это по существу то же самое, что описано в этом уроке: https://github.com/codepath/android_guides/wiki/ViewPager-with-FragmentPagerAdapter Я создаю контрольно-измерительные тесты с использованием Espresso, и когда я пытаюсь позвонить […]

java.lang.NoClassDefFoundError: kotlin.jvm.internal.Intrinsics – newApplication

вопрос Я просто пытаюсь преобразовать пользовательский класс AndroidJUnitRunner из Java в Kotlin. Код CustomTestRunner.java public class CustomTestRunner extends AndroidJUnitRunner { @Override public Application newApplication(ClassLoader cl, String className, Context context) throws IllegalAccessException, ClassNotFoundException, InstantiationException { return super.newApplication(cl, TestApp.class.getName(), context); } } CustomTestRunner.kt – (вызывает ошибку – см. Таблицу stacktrace ниже) class CustomTestRunner : AndroidJUnitRunner() { override […]

Обновление Kotlin от 1.0.2 до 1.0.3: java.lang.NoSuchMethodError: виртуальный метод не предоставленInjectedData $ app_compileDebugKotlin ()

У меня есть небольшой проект Kotlin Espresso Dagger2. Хорошо работает, когда я использую Kotlin 1.0.2. После миграции в Kotlin 1.0.3 при запуске инструментального теста Espresso (по MainActivityTest), это ошибка, как указано выше. Мой тестовый модуль Dagger2 выглядит следующим образом: @Module open class ApplicationTestModule(protected val mApplication: Application) { @Provides internal fun provideApplication(): Application { return mApplication […]

@ Прежде чем аннотация игнорируется котлином в эспрессо-тесте?

У меня есть этот инструментальный класс тестов, написанный в kotlin, и использует эспрессо для выполнения тестов. Однако, когда я запускаю его, функция, аннотированная с помощью @Before, полностью игнорируется. Даже при отладке теста и размещении в нем точки останова он не прошел бы через этот момент. Вы не знаете, почему это происходит? Я искал в google, […]

Android Espresso – как запустить настройку только один раз для всех тестов

Я использую Espresso / Kotlin для запуска тестов для нашего Android-приложения, и я хочу запустить настройку один раз для всех тестов в данном тестовом классе. Я создал объект-компаньон для запуска приложения один раз (что он делает), однако он затем закрывается и не остается открытым, пока выполняется каждый тест. Как я могу запустить приложение, запустить все […]

Google Espresso: удалять данные пользователя по каждому тесту

Я ищу способ удалить базу данных из приложения перед каждым тестом, используя Google Espresso. У меня есть эта часть кода в функции @Before (код kotlin): @Before fun setUp() { val appCtx = InstrumentationRegistry.getTargetContext().applicationContext DBPrefsManager.getInstance(appCtx).resetAll() val client = appCtx.contentResolver.acquireContentProviderClient("fr.geobert.radis.db") val provider = client.localContentProvider as DbContentProvider provider.deleteDatabase(appCtx) client.release() val i = Intent() i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP) activityRule.launchActivity(i) } Раньше это […]

Тайм-аут в тестах эспрессо, тест не запускается

Существует вспомогательный класс DialogIdlingResource, с помощью которого я пытаюсь выполнить свои тесты. Испытания проходят, за исключением этого. После нажатия кнопки все останавливается. AcceptanceHelper.clickOnButtonInLayout(R.id.mainSignButton, R.string.common_signin_button_text, R.id.inputLayout) Фрагмент кода с двумя вспомогательными методами: @Test fun signInUserWithInvalidEmail() { goToSignIn() AcceptanceHelper.updateValidationTextView(R.string.ui_data_attribute_email, "kokojambo@mail.ru") AcceptanceHelper.updateValidationTextView(R.string.ui_data_attribute_password, VALID_PASSWORD) AcceptanceHelper.clickOnButtonInLayout(R.id.mainSignButton, R.string.common_signin_button_text, R.id.inputLayout) val idlingResource = DialogIdlingResource() registerDialogIdlingResource() unregisterDialogIdlingResource() } private fun registerDialogIdlingResource() { val […]

Кнопка «Обзор прессы» в Android Espresso

Я хочу создать тест для моего приложения для Android. Каждый раз, когда он теряет фокус, он должен что-то делать. Поэтому я хочу проверить это, нажав кнопку обзора 2 раза (кнопка рядом с кнопкой «домой»). Но как я могу это сделать с эспрессо? Я попробовал некоторые клавиши для нажатия, но никто из них не работал (к […]