На Android Автоматизированное тестированиечас,Нам часто приходится проходитьadb
Инструмент в устройство Толкатьдокумент,Например, Толкать видеофайлы в каталог альбома. Однако механизм сканирования мультимедиа системы не может идентифицировать новые файлы в режиме реального времени.,В результате наши тесты не могут обнаружить изменения в файлах.
Чтобы оптимизировать эффективность и упростить процесс автоматического тестирования, в этой статье рассказывается, как использовать adb для принудительного запуска сканирования мультимедиа для наблюдения за изменениями файлов в реальном времени.
Android
система Есть сервис сканирования мультимедиа.MediaScannerService
,Он периодически сканирует пространство на вашем устройстве на наличие мультимедийных файлов.,извлекатьдокументбаза данных средств массовой информации для создания информации。Различные мультимедийные приложения, такие как фотоальбомы.、Все музыкальные проигрыватели используют эту базу данных для отображения.документ。когдачерез При добавлении файлов через АБР и другими способами, поскольку сканирование не происходит в режиме реального времени, вам необходимо дождаться следующего автоматического сканирования или ручного обновления, прежде чем новые файлы смогут отобразиться в приложении. Это наше Автоматизированное тестированиепричинять неудобства。
Androidсистема предоставляет множество способов принудительного запуска сканирования мультимедиа.,проходитьadb
Команды просты в использовании。
adb shell
использоватьmedia scanner
Заказв АБР shellможет быть выполнен непосредственно внутриmedia scanner
Заказ,Сканировать указанные файлы или каталоги:
//Сканируем один файл
media scanner file /sdcard/DCIM/camera/test.jpg
//Сканируем весь каталог
media scanner file /sdcard/DCIM/camera/
Этот метод сканирует только определенные файлы или каталоги, подходящие для мест, где мы уже знаем файлы.
am broadcast
Заказ Отправить рассылку сканированиямы также можемпроходитьam(Activity Manager)
Ксистема Отправить рассылку сканирования,Запустите службу сканирования мультимедиа.
Часто используемые команды широковещательной рассылки каталога сканирования:
adb shell am broadcast -a android.intent.action.MEDIA_MOUNTED -d file:///sdcard/
Команда для сканирования одного файла:
adb shell am broadcast -a android.intent.action.MEDIA_SCANNER_SCAN_FILE -d file:///sdcard/DCIM/camera/test.jpg
Значение каждого параметра в приведенной выше команде следующее:
adb shell //Вводим адб среда оболочки
am //Активность вызова Manager
broadcast //Отправить трансляцию
-a //Указываем действие для сканирования медиафайлов
-d //Указываем каталог сканирования
объединить
broadcast
и параметры,Мы можем отправить все видысистематранслировать наActivity Manager
。
Зная вышеуказанные принципы,в нас"Скрипт для автоматизации пакетной публикации видео"Добавьте их в Заказ,Например:
//Толкатьдокумент
adb.push(filename, '/sdcard/DCIM/Camera')
sleep(1)
//Отправляем трансляцию сканирования
shell('am broadcast -a android.intent.action.MEDIA_SCANNER_SCAN_FILE -d file:///sdcard/DCIM/Camera/')
//Открываем альбом и выбираем последнее видео для публикации
...
...
...
Это позволяет выполнять сканирование сразу после отправки файла, при этом ошибка контролируется в течение 1 секунды, что эквивалентно сканированию изменений файла в реальном времени.
Кроме того, регулярное выполнение указанной выше команды сканирования также можно использовать для отслеживания изменений в файлах целевого каталога и выполнения соответствующей логики после обнаружения новых файлов.
Применение этой техники принудительного сканирования может значительно оптимизировать наши сценарии автоматического тестирования:
При выполнении принудительного сканирования носителя также необходимо обратить внимание на некоторые моменты:
Используйте умелоadb shell
сканирование мультимедиа Заказможет значительно улучшить нашуAndroid
Автоматизированное Повышение эффективности, особенно в сценариях, где вам необходимо часто проверять изменения файлов. Изменения файлов Автоматизированное свадьба Ключевая точка наблюдения.
Конечно, чрезмерное сканирование будет иметь влияние на производительность, и его все равно следует использовать соответствующим образом, исходя из реальных потребностей. Но преимущества правильного применения команд сканирования значительны.
как Автоматизированное Друзья, овладение этими Навыками может помочь нам писать умнее и надежнее. Автоматизированное тестирование Скрипт。Выращивайте и применяйтеadb shell
привычки также позволяют нам лучше пониматьAndroidсистема,стать выдающимся Автоматизированное обучение Инженер.