自己在使用activityinstrumentationtestcase2 遇到的问题。
首先 ,继承了activityinstrumentationtestcase2的test要写在ADNROIDTEST文件夹下面,其次,要在gradle里面引入
</pre><pre name="code" class="html"> testInstrumentationRunner = "android.support.test.runner.AndroidJUnitRunner"
这个是必要的环境
此外跑起来后遇到一个问题,主页面怎么也不执行测试代码,后来经过发现是 我的主界面无法进入IDLE状态,因为主页面有PROGRESSBAR。根据网上说的在手机设置里把三种动画都关了,还是不行。最后找到一个替代方案:重写GETACTIVITY()方法。因为就是这个方法会挂起测试。
@Override
public MainActivity getActivity() {
if (mainActivity == null) {
Intent intent = new Intent(getInstrumentation().getTargetContext(), MainActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
// register activity that need to be monitored.
Instrumentation.ActivityMonitor monitor = getInstrumentation().addMonitor(MainActivity.class.getName(), null, false);
getInstrumentation().getTargetContext().startActivity(intent);
mainActivity = (MainActivity) getInstrumentation().waitForMonitor(monitor);
setActivity(mainActivity);
}
return mainActivity;
}