use of jp.mixi.sample.test.SubActivity in project AndroidTraining by mixi-inc.
the class SampleRobotiumTestCase method testCallSubActivityAndReturn.
public void testCallSubActivityAndReturn() throws Exception {
Activity activity = getActivity();
Solo solo = new Solo(getInstrumentation(), activity);
// MainActivity が立ち上がってフォアグラウンドにいる
solo.assertCurrentActivity("MainActivity now.", MainActivity.class);
// カウンタの数字が 0 であることを確認する
// 0 と書かれた TextView を画面上から探し出し、あればその TextView オブジェクトを返すメソッド
assertTrue(solo.searchText("0"));
// Count up と書かれたボタンをクリックする (View の id を知る必要はない)
solo.clickOnButton("Count up");
// 0 と書かれた TextView はなくなり、1 と書かれたTextView になるはず
assertFalse(solo.searchText("0"));
assertTrue(solo.searchText("1"));
// Launch SubActivity ボタンを押す
solo.clickOnButton("Launch SubActivity");
// SubActivity が起動し、フォアグラウンドに居るはず
solo.assertCurrentActivity("SubActivity now.", SubActivity.class);
// メニューキーを押した
solo.sendKey(KeyEvent.KEYCODE_MENU);
// ActionBarを使っているなら、以下でも良い
// solo.clickOnActionBarItem(0);
// 戻る
solo.getCurrentActivity().finish();
// 状態復帰できているはず
assertTrue(solo.searchText("1"));
}
use of jp.mixi.sample.test.SubActivity in project AndroidTraining by mixi-inc.
the class SampleActivityInstrumentationTestCase method testCallSubActivityAndReturn.
public void testCallSubActivityAndReturn() throws Exception {
Activity activity = getActivity();
// UI 操作による View の状態を見るために、View のインスタンスを取り出す
TextView counter = (TextView) activity.findViewById(R.id.ClickCounter);
Button button = (Button) activity.findViewById(R.id.CountEventTrigger);
Button button2 = (Button) activity.findViewById(R.id.CallSubActivity);
// 最初は 0
assertEquals("0", counter.getText().toString());
// ボタンのクリックをシミュレート
TouchUtils.clickView(this, button);
// クリックしたら、カウンタの値がインクリメントされる
assertEquals("1", counter.getText().toString());
// Activity の起動を監視する(厳密には Intent を監視する)オブジェクトを作る
ActivityMonitor monitor = new ActivityMonitor(SubActivity.class.getCanonicalName(), null, true);
// 監視オブジェクトを登録
getInstrumentation().addMonitor(monitor);
// Launch SubActivity をクリック
TouchUtils.clickView(this, button2);
// 起動を待つ
Activity newActivity = getInstrumentation().waitForMonitorWithTimeout(monitor, 3000L);
// 1 つの Activity が起動しているはず
assertEquals(1, monitor.getHits());
// 終わる
if (newActivity != null)
newActivity.finish();
// 戻ってきても状態が復帰できるはず
assertEquals("1", counter.getText().toString());
}
Aggregations