Articles of андроид эспрессо

Android Espresso IntentsMatcher работает на новом устройстве, но не в старом

У меня есть единичный тест Espresso, который, похоже, работает на более новых устройствах, но не работает на устройстве API 17. Вот тест: Intents.init() [… more setup] onView(withId(R.id.username)) .perform(typeText("username")) .perform(closeSoftKeyboard()) onView(withId(android.R.id.button1)).perform((click())) // This part fails intended(hasComponent(AcceptedActivity::class.java.name)) Ошибка: android.support.test.espresso.base.DefaultFailureHandler$AssertionFailedWithCauseError: Wanted to match 1 intents. Actually matched 0 intents. Я пробовал спящий поток за 1000 мс до того, […]

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 […]

Android, тест Espresso не может работать с записью активности на Kotlin

org.jetbrains.kotlin:kotlin-gradle-plugin:1.1.3 com.android.support.test.espresso:espresso-core:2.2.2 Процедура: Фрагмент имеет просмотр списка (новости) Когда вы нажмете на какой-то элемент в списке, откройте мероприятие (NewsDetailsActivity), в котором отображаются новости с заголовком «Одинокие новости», Код фрагмента: Integer newsId = 1234; Intent intent = new Intent(context, NewsDetailsActivity.class); intent.putExtra(NewsDetailsActivity.ID newsId); startActivity(intent); Код java для NewsDetailsActivity: public class NewsDetailsActivity extends AppCompatActivity { @Override protected void […]

java.lang.AbstractMethodError: абстрактный метод при запуске espresso на Kotlin с Mockito

У меня есть инструментальный тест эспрессо, который использует mockito. Класс тестирования, как показано ниже. import android.support.test.InstrumentationRegistry import android.support.test.rule.ActivityTestRule import org.junit.Before import org.junit.Rule import org.junit.Test import org.junit.rules.RuleChain import org.junit.rules.TestRule import android.support.test.espresso.Espresso.onView import android.support.test.espresso.assertion.ViewAssertions.matches import android.support.test.espresso.matcher.ViewMatchers.withId import android.support.test.espresso.matcher.ViewMatchers.withText import org.mockito.Mockito.`when` class MainActivityTest { val component = TestComponentRule(InstrumentationRegistry.getTargetContext()) val main = ActivityTestRule(MainActivity::class.java, false, false) // TestComponentRule needs to […]

Не удается найти вид в нижнем листе с эспрессо

У меня есть Fragmant, который содержит CoordinatorLayout с двумя детьми: MapView (API Карт Google) и RelativeLayout , последний макет содержит некоторые кнопки, которые я хочу проверить с помощью Espresso . Итак, вот мой тест: @Test fun randomButtonTest() { try { Thread.sleep(2000) } catch (e: InterruptedException) { e.printStackTrace() } // Find the button and perform a […]

ActivityTestRule.getActivity возвращает значение null в методе Before

Мне нужно очистить данные моего пользователя перед каждым тестом // Kotlin code fun getActivity() = activityRule.getActivity() Before fun setUp() { cleanUp(getActivity()) } Мне нужно получить контекст, чтобы сделать это, но в setUp, activityRule.getActivity () возвращает null. Я также пробовал: Before fun setUp() { val i = Intent() i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP) activityRule.lauchActivity(i) cleanUp(getActivity()) } У меня есть активность, […]

Тесты эспрессо с Котлином

Каждый раз, когда я пытаюсь проверить свое приложение для Android, и я переписываю свои тесты в Котлин, я всегда получаю: Класс не найден: «my.package.modules.container.ContainerViewInstrumentedTest» Пустой набор тестов. Я пытаюсь сделать все, чтобы Espresso увидел мои тесты … но не повезло. Кто-нибудь знает, что может быть неправильным?

Тесты Espresso на Android (написанные в Котлине) не могут видеть основные классы и пакеты

У меня проблема с тестами Kotlin Espresso. Я применил плагин Kotlin-Android Gradle в скрипте сборки модуля, и тесты запускаются без проблем в Android Studio (тестовый класс аннотируется и запускается бегуном AndroidJUnit4 ), но выполнение задачи Gradle «assembleDebugAndroidTest» из терминала не позволяет найти мой основные классы и пакеты (классы, используемые в тестах). Он генерирует ошибку Unresolved […]

Тест инструмента Android с помощью Espresso не работает: NoSuchMethodError get () в javax.inject.Provider

Когда я запускаю свой Android-инструмент, инициализация класса Espresso завершается неудачей со следующей командой stacktrace: java.lang.NoSuchMethodError: No interface method get()Ljava/lang/Object; in class Ljavax/inject/Provider; or its super classes (declaration of 'javax.inject.Provider' appears in /data/app/com.myapp.mock.debug-2/base.apk) at android.support.test.espresso.DaggerBaseLayerComponent.idlingResourceRegistry(DaggerBaseLayerComponent.java:101) at android.support.test.espresso.Espresso.<clinit>(Espresso.java:52) … Я не знаю, насколько это актуально, но мой проект использует Котлин. Есть идеи?

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

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