Вопрос или проблема
Я пытался запустить тест на своем MacBook Pro M1. Тест Espresso работает нормально на компьютере моего коллеги с такой же конфигурацией. SDK установлен на 34, и я использую Pixel 7 API 34 для тестирования. Изначально тест работал нормально, но сYesterday он начал вызывать сбои
вот журнал
> Task :qa-automation:connectedDebugAndroidTest
Запуск 0 тестов на Pixel_7_API_34(AVD) - 14
Завершено 0 тестов на Pixel_7_API_34(AVD) - 14
> Task :qa-automation:connectedDebugAndroidTest FAILED
Запуск тестов не удалось завершить. Нет результатов тестирования
FAILURE:
Сборка завершилась с исключением.
* Что пошло не так:
Ошибка выполнения задачи ':qa-automation:connectedDebugAndroidTest'.
* Попробуйте:
Запустите с опцией --stacktrace, чтобы получить трассировку стека.
Запустите с опцией --info или --debug, чтобы получить больше вывода журнала.
Запустите с опцией --scan, чтобы получить полную информацию.
Получить дополнительную помощь можно по адресу
https://help.gradle.org
В этой сборке использовались устаревшие функции Gradle, что делает ее несовместимой с Gradle 9.0.
Вы можете использовать '--warning-mode all', чтобы показать предупреждения об устаревании и определить, исходят ли они из ваших собственных скриптов или плагинов.
Для получения дополнительной информации обратитесь к https://docs.gradle.org/8.7/userguide/command_line_interface.html#sec:command_line_warnings в документации Gradle.
BUILD FAILED
за 12с
216 выполнимых задач: 9 выполнено, 207 актуально
Журнал логов устройства
.orchestrator/androidx.test.orchestrator.AndroidTestOrchestrator
2024-09-17 17:50:30.986 10630-10630 DEBUG pid-10630 A Cmdline: app_process / androidx.test.services.shellexecutor.ShellMain am instrument -w -r --no-window-animation -e clearPackageData true -e class veeva.vault.mobile.qaautomation.test.dashboard.DashboardTest#dashboardSortFilterTest -e additionalTestOutputDir /sdcard/Android/media/com.veeva.vault.mobile.debug/additional_test_output -e testTimeoutSeconds 31536000 -e targetInstrumentation veeva.vault.mobile.qaautomation.test/veeva.vault.mobile.qaautomation.testutil.QaAutomationRunner androidx.test.orchestrator/androidx.test.orchestrator.AndroidTestOrchestrator
- переустановить Android Studio
- клонировать новый репозиторий
- сбросить и отформатировать ноутбук
- проверил на ноутбуке моего коллеги, и он работает нормально
Ответ или решение
Для решения проблемы с падением тестов Android на вашем MacBook Pro M1, вы можете выполнить следующие шаги:
-
Проверьте конфигурацию вашего окружения:
- Убедитесь, что вы используете ту же версию Android Studio и Gradle, что и ваш коллега.
- Попробуйте обновить плагины и библиотеки до последних версий, совместимых с SDK 34.
-
Очистите кэш проекта:
- Выполните команду
./gradlew clean
в корневой директории вашего проекта. Это очистит кэш и временные файлы, которые могут вызывать проблемы.
- Выполните команду
-
Проверьте настройки эмулятора:
- Убедитесь, что ваш эмулятор Pixel 7 API 34 правильно настроен и работает. Возможно, стоит удалить и заново создать AVD (Android Virtual Device).
- Проверьте, достаточно ли ресурсов выделено для эмулятора (например, памяти и процессорного времени).
-
Запуск тестов с дополнительными логами:
- Запустите тесты с параметрами
--info
и--stacktrace
для получения дополнительной информации об ошибках. Это может помочь понять, в чем именно заключается проблема../gradlew connectedDebugAndroidTest --stacktrace --info
- Запустите тесты с параметрами
-
Депрецированные функции Gradle:
- Обратите внимание на предупреждения о депрекации в логах. Вам следует обновить все скрипты и плагины Gradle, чтобы устранить проблемы совместимости с Gradle 9.0.
-
Проверьте целостность кода:
- Сравните код и конфигурацию с рабочей версией на вашем коллегином ноутбуке. В некоторых случаях ошибка может быть связана с изменениями в коде, которые не были должным образом протестированы.
-
Логи устройства:
- Проверьте логи Logcat более внимательно, чтобы понять, не исключаются ли другие возможные ошибки или исключения, которые могут указывать на проблему, связанную с конкретными тестами или компонентами вашего приложения.
- Тестирование на реальном устройстве:
- Если у вас есть возможность, попробуйте запустить тесты на реальном устройстве вместо эмулятора. Это может помочь определить, является ли проблема связанной с эмуляцией.
Если после выполнения всех этих шагов проблема сохраняется, пожалуйста, опишите подробно любые новые ошибки или изменения в логах, чтобы можно было предложить дальнейшие шаги.