3
我有一个简单的活动,其中包含一个按钮。当我按下按钮时,第二个活动运行。现在我是Android Instrumentation Testing的新手。到目前为止,这是我写Android仪器启动活动
public class TestSplashActivity extends
ActivityInstrumentationTestCase2<ActivitySplashScreen> {
private Button mLeftButton;
private ActivitySplashScreen activitySplashScreen;
private ActivityMonitor childMonitor = null;
public TestSplashActivity() {
super(ActivitySplashScreen.class);
}
@Override
protected void setUp() throws Exception {
super.setUp();
final ActivitySplashScreen a = getActivity();
assertNotNull(a);
activitySplashScreen=a;
mLeftButton=(Button) a.findViewById(R.id.btn1);
}
@SmallTest
public void testNameOfButton(){
assertEquals("Press Me", mLeftButton.getText().toString());
this.childMonitor = new ActivityMonitor(SecondActivity.class.getName(), null, true);
this.getInstrumentation().addMonitor(childMonitor);
activitySplashScreen.runOnUiThread(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
mLeftButton.performClick();
}});
Activity childActivity=this.getInstrumentation().waitForMonitorWithTimeout(childMonitor, 5000);
assertEquals(childActivity, SecondActivity.class);
}
}
现在第一个断言哪里获得按钮作品的文本。但是,当我打电话进行点击,我得到一个异常
Only the original thread that created a view hierarchy can touch its views.
现在我明白了这个例外的Android应用程序上下文,但现在在仪器检测的条件。如何在按钮上执行点击事件,以及如何检查我的第二个活动是否已加载。
在我的应用程序中,点击按钮启动新的活动。我想测试这种情况,如果第二个活动启动或没有,我点击一个按钮后?我如何测试这种情况? – user1730789 2013-03-17 13:36:31
我已编辑的问题将我的部分代码。 – user1730789 2013-03-17 14:05:44
我明白了。不要发送那样的点击。您应该使用检测类发送点击。我编辑了我的帖子。 – 2013-03-17 14:50:38