在测试活动时,我遇到了一个在真实设备上运行单元测试的小问题。
问题是,当屏幕没有打开时,它们会失败。
有没有一个优雅的解决方案来解决这个问题?除了把我的手臂稍微向右移动然后自己按下电源按钮。我对WakeLock或任何其他将进入主应用程序的代码不感兴趣。
发布于 2011-11-25 16:28:14
Settings|Applications|Development|Stay Awake能帮上忙吗(在电话里)?它禁止手机屏幕进入睡眠状态
发布于 2011-11-26 04:56:48
实际上,这非常简单。我所要做的就是用一些标志调用Activity上的getWindow来打开屏幕并解锁键盘。
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
....
}
}https://stackoverflow.com/questions/8266257
复制相似问题