在使用robotium进行自动化测试过程中,不进行屏幕唤醒解锁case是执行不成功的。这就需要我们在工具类中增加自动唤醒屏幕并解锁的方法。引入相关的包,在Mainfest文件中添加权限:
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
代码:
public static void wakeUpAndUnlock(Context context) {
KeyguardManager km = (KeyguardManager) context.getSystemService(Context.KEYGUARD_SERVICE);
KeyguardManager.KeyguardLock kl = km.newKeyguardLock("unLock");
kl.disableKeyguard();
PowerManager pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE);
PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.ACQUIRE_CAUSES_WAKEUP | PowerManager.SCREEN_DIM_WAKE_LOCK, "log");
wl.acquire();
wl.release();
}
重现setUp方法,添加对该方法的调用。代码已测试通过