在测试活动时,我遇到了针对真实设备运行单元测试的小问题。
问题是当屏幕未开启时它们会失败。
这个问题有优雅的解决方案吗?除了稍微向右移动我的手臂并自行按下电源按钮。我对WakeLock或任何其他代码都不感兴趣。
答案 0 :(得分:3)
Settings|Applications|Development|Stay Awake
可以提供帮助(手机上有)吗?它禁用手机屏幕进入睡眠状态
答案 1 :(得分:3)
实际上非常简单。我所要做的只是在getWindow
上用Activity
拨打一些标志来打开屏幕并解锁键盘。
public class MyActivityTest extends ActivityInstrumentationTestCase2<MyActivity> {
private MyActivity mActivity;
public MyActivityTest() {
super("com.example.app", MyActivity.class);
}
@Override
protected void setUp() throws Exception {
super.setUp();
mActivity = getActivity();
}
public void testMyActivity() throws InterruptedException {
mActivity.runOnUiThread(
new Runnable() {
public void run() {
mActivity.getWindow().addFlags(
WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON |
WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD);
}
}
);
// Start testing
....
}
}