Глобальное отключение неаниматорной анимации для тестирования эспрессо - PullRequest
0 голосов
/ 30 января 2019

В настоящее время я разрабатываю набор тестов пользовательского интерфейса в Espresso для приложения, которое содержит множество процедурных анимаций.Многие из этих анимаций фактически бесконечно зациклены, что заставляет Espresso зависать на неопределенное время в ожидании бездействия.

Теперь, к сожалению, эти анимации не были разработаны с использованием библиотечных классов Animator, поэтому обычный способ отключения масштаба анимации(через настройки разработчика) здесь не дает никакого эффекта.В то же время, команда разработчиков настороженно относится к добавлению кода, связанного с тестами, в код приложения (что не позволяет мне использовать, например, флаги / переменные среды для ручной остановки анимации).

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

1 Ответ

0 голосов
/ 06 февраля 2019

Лучшее решение, которое мне удалось найти, - это использование командной строки для отключения анимации устройства перед выполнением теста.То есть.создать небольшой скрипт оболочки, который выполняет эти команды

настройки оболочки adb поставить глобальные window_animation_scale 0 настройки оболочки adb поставить глобальные transition_animation_scale 0 настройки оболочки adb поставить глобальные animator_duration_scale 0

...