Предоставление разрешений в интеграционных тестах на Android с помощью командной строки adb
Привет, разработчики Flutter! 👋 Сегодня мы поделимся с вами полезным советом о том, как предоставлять разрешения в интеграционных тестах на Android с помощью командной строки adb. 📱💻
Зачем это нужно?
При выполнении интеграционных тестов на Android ваше приложение может требовать определённые разрешения. Без этих разрешений тесты могут завершиться неудачей. 🤕
Решение
Используйте команду
Этот код сначала предоставляет необходимые разрешения, затем запускает интеграционные тесты, и, наконец, отзывает разрешения после завершения тестов. 🔄
Оцените нашу новую рубрику советов для Flutter-разработчиков! 👍 Ваши отзывы помогут нам сделать её ещё лучше. 💬
Все подобные новости вы можете найти по хэштегу #FlutterPulseTips
#flutter #dart #flutterpulse #FlutterPulseTips #MobileDev #AndroidDev #IntegrationTesting #FlutterTips
Привет, разработчики Flutter! 👋 Сегодня мы поделимся с вами полезным советом о том, как предоставлять разрешения в интеграционных тестах на Android с помощью командной строки adb. 📱💻
Зачем это нужно?
При выполнении интеграционных тестов на Android ваше приложение может требовать определённые разрешения. Без этих разрешений тесты могут завершиться неудачей. 🤕
Решение
Используйте команду
adb для предоставления разрешений вашему приложению перед выполнением тестов. Вот пример кода на Dart, который демонстрирует, как это можно сделать:
const List<String> permissions = [
'android.permission.WRITE_EXTERNAL_STORAGE', // Разрешение на запись во внешнее хранилище
'android.permission.RECORD_AUDIO', // Разрешение на запись аудио
];
const String _examplePackage = 'com.apparence.example'; // Имя пакета вашего приложения
Future<void> main() async {
// Предоставляем разрешения перед запуском тестов
permissions.forEach((permission) => Process.runSync(
'adb', ['shell', 'pm', 'grant', _examplePackage, permission]));
print('Starting test.'); // Начало теста
await integrationDriver(); // Запуск интеграционных тестов
print('Test finished. Revoking permissions...'); // Окончание теста и отзыв разрешений
// Отзываем разрешения после завершения тестов
permissions.forEach((permission) => Process.runSync(
'adb', ['shell', 'pm', 'revoke', _examplePackage, permission]));
}
Этот код сначала предоставляет необходимые разрешения, затем запускает интеграционные тесты, и, наконец, отзывает разрешения после завершения тестов. 🔄
Оцените нашу новую рубрику советов для Flutter-разработчиков! 👍 Ваши отзывы помогут нам сделать её ещё лучше. 💬
Все подобные новости вы можете найти по хэштегу #FlutterPulseTips
#flutter #dart #flutterpulse #FlutterPulseTips #MobileDev #AndroidDev #IntegrationTesting #FlutterTips
👍2
Интеграционное тестирование Flutter на реальных устройствах: примеры и автоматизация CI
Выпустили сборку, всё протестировали, но пользователи столкнулись с ошибками? 🤔 Интеграционное тестирование — ваш спасательный круг! Оно имитирует реальное поведение пользователей на реальных устройствах, проверяя функциональность приложения от начала до конца.
В этой статье вы узнаете, как настроить интеграционное тестирование в Flutter, какие приёмы и фишки использовать для тестирования различных сценариев, таких как авторизация, навигация, взаимодействие с API и обработка ошибок. Вы также узнаете, как автоматизировать тестирование с помощью GitHub Actions и других инструментов CI.
Читайте подробнее в статье:
🇷🇺На русском
🇬🇧In English
🌐Original article
Все подобные новости ищите по хэштегу #FlutterPulseMedium ✨ Оцените новую рубрику! 👍
FlutterPulse — канал о мире Flutter!
#flutter #dart #flutterpulse #FlutterPulseMedium #integrationtesting #mobiledevelopment #testing #CI #automation
Выпустили сборку, всё протестировали, но пользователи столкнулись с ошибками? 🤔 Интеграционное тестирование — ваш спасательный круг! Оно имитирует реальное поведение пользователей на реальных устройствах, проверяя функциональность приложения от начала до конца.
В этой статье вы узнаете, как настроить интеграционное тестирование в Flutter, какие приёмы и фишки использовать для тестирования различных сценариев, таких как авторизация, навигация, взаимодействие с API и обработка ошибок. Вы также узнаете, как автоматизировать тестирование с помощью GitHub Actions и других инструментов CI.
Читайте подробнее в статье:
🇷🇺На русском
🇬🇧In English
🌐Original article
Все подобные новости ищите по хэштегу #FlutterPulseMedium ✨ Оцените новую рубрику! 👍
FlutterPulse — канал о мире Flutter!
#flutter #dart #flutterpulse #FlutterPulseMedium #integrationtesting #mobiledevelopment #testing #CI #automation