我正在使用猴子命令对我的应用程序进行一些压力测试。但我想在屏幕方向方面对其进行更多测试,以在更改方向时检测和捕获一些堆更新。我在 android 官方网站上搜索了有关在任何应用程序/活动上运行时将执行屏幕方向的猴子命令/参数。但是没有运气,也没有想过问像你这样的专业人士。
如果对此有想法,请告诉我。
我正在使用猴子命令对我的应用程序进行一些压力测试。但我想在屏幕方向方面对其进行更多测试,以在更改方向时检测和捕获一些堆更新。我在 android 官方网站上搜索了有关在任何应用程序/活动上运行时将执行屏幕方向的猴子命令/参数。但是没有运气,也没有想过问像你这样的专业人士。
如果对此有想法,请告诉我。
Monkey 有许多未记录的选项,包括--pct-rotation
. 将该开关添加到您的命令中,然后观看您的屏幕像被恶魔附身一样旋转:
直到(包括)adb 版本 1.0.31:
adb shell monkey -p com.example.app -v --pct-rotation=70 500
从亚行 1.0.32 版开始:
adb shell monkey -p com.example.app -v --pct-rotation 70 500
查看猴子命令的processOptions()方法以查看所有支持的选项: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;
测试猴子使用随机输入。它会改变屏幕方向,但不能保证它会在任何给定的测试运行中这样做。
尽管不能保证 Monkey 在给定运行期间会改变方向,但您可以通过找出会导致 Monkey 改变方向的 SEED 并在以后的运行中重新使用该 SEED 来达到您想要的结果。
# monkey -h
usage: monkey [-p ALLOWED_PACKAGE [-p ALLOWED_PACKAGE] ...]
...
[-s SEED] [-v [-v] ...]
...