Изменение ориентации экрана во время бега обезьян

Я использую команду обезьяны, чтобы провести стресс-тестирование в моем приложении. Но я хочу проверить это больше в отношении ориентации экрана, чтобы обнаружить и зафиксировать некоторые heapupdates при изменении ориентации. Я искал по всему официальному сайту Android о командах / аргументах обезьяны, которые будут выполнять ориентацию экрана при запуске в любом приложении / действии. Но не повезло и подумал спросить профессионалов вроде тебя.

Если идея об этом, пожалуйста, дайте мне знать.

3 ответа

Решение

Обезьяна имеет ряд недокументированных вариантов, в том числе --pct-rotation, Добавьте этот переключатель в вашу команду и наблюдайте, как ваш экран вращается, как будто он одержим демонами:

До (включая) версию ADB 1.0.31:

adb shell monkey -p com.example.app -v --pct-rotation=70 500

Начиная с версии ADB 1.0.32:

adb shell monkey -p com.example.app -v --pct-rotation 70 500

Просмотрите метод processOptions() команды monkey, чтобы увидеть все поддерживаемые параметры: https://android.googlesource.com/platform/development.git/+/master/cmds/monkey/src/com/android/commands/monkey/Monkey.java

Посмотрите на конструктор класса MonkeySourceRandom, чтобы увидеть проценты по умолчанию для всех типов событий. Это текущие значения в основной ветке на момент публикации. Обратите внимание, что по умолчанию для вращения - 0:

    // default values for random distributions
    // note, these are straight percentages, to match user input (cmd line args)
    // but they will be converted to 0..1 values before the main loop runs.
    mFactors[FACTOR_TOUCH] = 15.0f;
    mFactors[FACTOR_MOTION] = 10.0f;
    mFactors[FACTOR_TRACKBALL] = 15.0f;
    // Adjust the values if we want to enable rotation by default.
    mFactors[FACTOR_ROTATION] = 0.0f;
    mFactors[FACTOR_NAV] = 25.0f;
    mFactors[FACTOR_MAJORNAV] = 15.0f;
    mFactors[FACTOR_SYSOPS] = 2.0f;
    mFactors[FACTOR_APPSWITCH] = 2.0f;
    mFactors[FACTOR_FLIP] = 1.0f;
    mFactors[FACTOR_ANYTHING] = 13.0f;
    mFactors[FACTOR_PINCHZOOM] = 2.0f;

https://android.googlesource.com/platform/development.git/+/master/cmds/monkey/src/com/android/commands/monkey/MonkeySourceRandom.java

Test Monkey использует случайный ввод. Это изменит ориентацию экрана, но нет никакой гарантии, что это будет происходить при любом тестовом прогоне.

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

# monkey -h
usage: monkey [-p ALLOWED_PACKAGE [-p ALLOWED_PACKAGE] ...]
              ...
              [-s SEED] [-v [-v] ...]
              ...
Другие вопросы по тегам