我为Android应用程序进行了Robotium测试,该测试扩展了ActivityInstrumentationTestCase2。测试在循环上运行,随机单击活动视图。我想在每次迭代开始时验证哪个Activity当前是关注的。这种行为对我很重要,因为其中一个按钮能够启动另一个Activity,在循环中进行进一步的操作是不可能的,因为它们引用了测试中的Activity(这是我停止Robotium测试的时候)。
我想要一个适用于任何Activity的通用解决方案,而无需更改onDestroy()方法。当按下主页按钮时,此解决方案也必须有效。
答案 0 :(得分:2)
你应该可以使用
solo.getCurrentActivity()
为此目的,这不适合你吗?如果没有生病,可以先解决潜在的问题,并在构建独立对象时使用您的代码以及您正在使用的roborium版本。
答案 1 :(得分:1)
我们发现,this链接包含此问题的答案。
ActivityManager am = (ActivityManager) this .getSystemService(ACTIVITY_SERVICE);
List<RunningTaskInfo> taskInfo = am.getRunningTasks(1);
ComponentName componentInfo = taskInfo.get(0).topActivity;
Log.d(WebServiceHelper.TAG, "CURRENT Activity ::" + taskInfo.get(0).topActivity.getClassName()+" Package Name : "+componentInfo.getPackageName());
答案 2 :(得分:0)
这个适用于我,最低SDK级别为18
s