Как я могу ускорить анимацию, чтобы ускорить мой набор тестов EarlGrey?

Я видел ниже API в GREYConfiguration это говорит о том, что EarlGrey по умолчанию обрезает анимации CALayer более чем на 10 секунд -

/**
 *  Configuration for setting max allowable animation duration (in seconds) for any CALayer based
 *  animation. Animations exceeding the specified time will have their duration truncated to value
 *  specified by this config.
 *
 *  Accepted values: @c double (negative values shouldn't be used)
 *  Default value: 10.0
 */
GREY_EXTERN NSString *const kGREYConfigKeyCALayerMaxAnimationDuration;

Я занимаюсь разработкой небольшого игрового приложения, в котором есть множество подобных анимаций. Я заметил, что мои тесты занимают много времени, когда у меня включена анимация, что требуется для тестов пользовательского интерфейса. Я знаю, что могу изменить скорость анимации для всего приложения, используя UIApplication.sharedApplication.keyWindow.layer.speed, Есть ли способ, которым я могу изменить это только для моих тестов EarlGrey?

1 ответ

Решение

Положить ваши UIApplication.sharedApplication.keyWindow.layer.speed за условным заявлением:

#if EARLGREY_ENV
UIApplication.sharedApplication.keyWindow.layer.speed = 100
#endif

Строка кода будет выполняться только при запуске приложения через Эрла Грея.

Для получения дополнительной информации о работе с анимацией в Earl Grey см. Как мне обрабатывать анимацию? под их часто задаваемые вопросы.

Другие вопросы по тегам