Articles of android testing

Единичные тесты NPE, когда я добавляю пользовательские переходы фрагментов

OnBackPressed () проверяет NPE при добавлении пользовательских переходов . Это нормально без пользовательских переходов. Зачем? ЭТО ТОЛЬКО NPE ПРОДОЛЖАЕТСЯ В ТЕСТЕ ЕДИНИЦЫ, а НЕ ПРИЛОЖЕНИЙ. class MyActivity { @Override public void onBackPressed() { ……. super.onBackPressed(); } private void putFragment(Fragment fragment) { String tag = fragment.getClass().getName(); FragmentTransaction transaction = getSupportFragmentManager().beginTransaction(); // TEST FAILED IF I ADD […]

Ошибка инструментальных тестов с AndroidJUnitRunner 1.0.0 и AssertJ

Я пытаюсь обновить свой проект до недавно выпущенной библиотеки поддержки тестирования Android версии 1.0.0 . Но если я добавлю зависимость assertj-core тестовые задачи Gradle с инструментами начнут сбой с сообщением «Нет тестов». Однако я могу успешно запускать отдельные тесты из IDE. Легко воспроизвести проблему: Создайте новый проект из Android Studio 3 с пустой активностью. Добавьте […]

Как протестировать корпоративное приложение Android на разных устройствах

Я работаю над большим корпоративным андроидным приложением, и нам интересно, как другие компании тестируют свои приложения. У нас есть около 10 видов устройств, которые мы рекомендуем нашим клиентам, потому что на них невозможно иметь всевозможные устройства и тестовое приложение. Я слышал, что у Eset и Sygic есть также некоторые основные поддерживаемые устройства, на которых протестировано […]

Эспрессо, как подождать некоторое время (1 час)?

В моем тестовом примере мне приходится записывать в течение 1 часа, в robotium solo.sleep (600000) выполнил мою работу, но в эспрессо меня путают с концепцией IdlingResource. Я должен начать запись и подождать некоторое время (в зависимости от типа теста) 15 минут, 60 минут и т. Д. Эквивалентный код в роботизме solo.clickOnView(solo.getView("start_record")); solo.sleep(duration * 60 * […]

Как я могу выполнить единичный тест (с помощью JUnit или mockito) кликов элементов recyclerview

В настоящее время я пытаюсь выполнить unit recyclerview addonitemclick listner с помощью junit или mockito. Вот мой код: private void mypicadapter(TreeMap<Integer, List<Photos>> photosMap) { List<PhotoListItem> mItems = new ArrayList<>(); for (Integer albumId : photosMap.keySet()) { ListHeader header = new ListHeader(); header.setAlbumId(albumId); mItems.add(header); for (Photos photo : photosMap.get(albumId)) { mItems.add(photo); } pAdapter = new PhotoViewerListAdapter(MainActivity.this, mItems); […]

Как переключить / изменить testInstrumentationRunner динамически с помощью gradle

Мой проект состоит из двух разных групп тестов. Одна группа работает только с AndroidJUnitRunner по умолчанию, другой должен быть запущен с помощью специальной реализации. TestRunner extends MonitoringInstrumentation . В настоящее время я переключаю testInstrumentationRunner , редактируя build.gradle каждый раз, когда мне нужно запустить другую группу тестов: android{ defaultConfig { //testInstrumentationRunner "my.custom.TestRunner" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } } […]

Разрешения только для Android с разрешением gradle

Я запускаю ./gradlew connectedAndroidTest и мне нужен мой APK для тестирования, чтобы иметь разрешение, которое не должно быть в любом не тестировании APK (debug, release). Я создал манифест с разрешения: <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.mypackage"> <uses-permission android:name="android.permission.SET_ANIMATION_SCALE"/> </manifest> Затем я скопировал этот манифест в каталог src/androidTest , поскольку примечания к выпуску из плагина android-плагин: 0.13.0 (2014/09/18) Требуется […]

Тестирование интеграции Android: Robotium или UIAutomator?

Я хочу настроить интеграционное тестирование для Android-приложения, и мне интересно, что лучше для этого: Robotium или недавно представил uiautomator . У меня был предыдущий опыт использования Robotium, и эта структура действительно потрясающая для тестирования интеграции. Но недавно введенный uiautomator выглядит неплохо. В настоящее время я вижу несколько ограничений на uiautomator: Нет отчета об анализе xml […]

Когда я запускаю свой код UIAutomator для Android, он показывает ошибку

Когда я запускаю свой код UIAutomator для Android, он показывает следующую ошибку. INSTRUMENTATION_RESULT: shortMsg = java.lang.RuntimeException INSTRUMENTATION_RESULT: longMsg = com.android.ui.testing INSTRUMENTATION_CODE: 0 Я просто запускал образец кода, указанный в файле developer.android.com Как решить эту ошибку? Вход в систему приведен ниже: 01-05 01:07:53.559: D/AndroidRuntime(5712): >>>>>> AndroidRuntime START com.android.internal.os.RuntimeInit <<<<<< 01-05 01:07:53.559: D/AndroidRuntime(5712): CheckJNI is ON 01-05 […]

Могу ли я установить флаг BuildConfig, который возвращает, будет ли apk построена с помощью задачи «connectedAndroidTest»?

У меня есть части моего приложения, которые я не хочу запускать, если мы запускаем тестовые тесты Android, поэтому я хочу окружить их чем-то вроде if (!BuildConfig.TESTING) { // Code here that I don't want to run during tests. } Можно ли заполнить этот флаг BuildConfig зависимости от того, используется ли connectedAndroidTest этим задача? Является ли […]