使用Android Monkey进行测试..保留在首选项屏幕上?

我开发了一个应用程序,并一直使用Monkey来测试它.

我的应用程序有一个主屏幕和一个打开首选项屏幕的菜单选项.我已经意识到的一件事是,一旦猴子打开我的偏好屏幕,它往往会在偏好活动中保持很长时间.它退出的唯一时间是它重新启动我的整个活动,一旦它进入首选项活动,它就会再次停留在那里,大力测试我的偏好活动而不会退出它.

这导致我的偏好活动从猴子完全锻炼,但我的主要活动没有得到它的太多关注.我知道猴子的行为是完全随机的,但可能是因为我的偏好活动有问题吗?来自猴子的重复测试表明这种行为是一致的.

以下是我的偏好活动的代码

    public class MyPreferences extends PreferenceActivity {
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);

            addPreferencesFromresource(R.xml.my_preference);
        }
   }

而我的宣言:

    

哦,我用以下代码运行猴子:

    adb shell monkey -p com.myapp.android.testapp -v 100000
最佳答案
您的PreferenceActivity可能只有一条路径 – BACK按钮.因此,在Monkey碰巧碰到BACK按钮之前,Monkey会测试你的PreferenceActivity.

解决此问题的一种方法是将CATEGORY_MONKEY添加到您要测试的主要活动中(除了您的CATEGORY_LAUNCHER之外),并不时使用the -c switch.这将使Monkey保持在您选择的活动中.只需将该类别从PreferenceActivity中删除即可.

您可以尝试增加–pct-syskeys,这将增加BACK被按下的几率,但这会影响您的所有活动,而不仅仅是您的PreferenceActivity.

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...