package com.android.iliConnect.test; import com.android.iliConnect.MainActivity; import android.app.Instrumentation; import android.test.ActivityInstrumentationTestCase2; import android.test.UiThreadTest; import android.view.KeyEvent; import android.widget.Button; import android.widget.EditText; public class MainActivityTest extends ActivityInstrumentationTestCase2<MainActivity> { private MainActivity mActivity; private EditText userId; private EditText password; private EditText url; private Button button_login; public MainActivityTest() { super("com.android.iliConnect",MainActivity.class); } @Override protected void setUp() throws Exception { super.setUp(); //Touch mode abschalten um tasteneingaben simulieren zu koennen setActivityInitialTouchMode(false); //Referenzen auf UI Elemente holen und Activity starten mActivity = getActivity(); userId = (EditText) mActivity.findViewById(com.android.iliConnect.R.id.editText1); password = (EditText) mActivity.findViewById(com.android.iliConnect.R.id.editText2); url = (EditText) mActivity.findViewById(com.android.iliConnect.R.id.urlText); button_login = (Button) mActivity.findViewById(com.android.iliConnect.R.id.button1); } private void enterUserId(){ //fokus auf erstes Textfeld legen mActivity.runOnUiThread( new Runnable(){ public void run(){ userId.requestFocus(); } } ); this.sendKeys(KeyEvent.KEYCODE_F); this.sendKeys(KeyEvent.KEYCODE_R); this.sendKeys(KeyEvent.KEYCODE_I); this.sendKeys(KeyEvent.KEYCODE_I); this.sendKeys(KeyEvent.KEYCODE_S); } public void testMainActivityUI() { enterUserId(); //pruefen ob mit Enter zum richtigen feld gesprungen wird this.sendKeys(KeyEvent.KEYCODE_ENTER); this.sendKeys(KeyEvent.KEYCODE_1); this.sendKeys(KeyEvent.KEYCODE_2); this.sendKeys(KeyEvent.KEYCODE_3); this.sendKeys(KeyEvent.KEYCODE_4); this.sendKeys(KeyEvent.KEYCODE_5); this.sendKeys(KeyEvent.KEYCODE_6); assertEquals(userId.getText().toString(),"friis"); assertEquals(password.getText().toString(),"123456"); } public void testLogin(){ } public void testStateDestroy() { enterUserId(); //activity stoppen und neu starten mActivity.finish(); mActivity = this.getActivity(); assertEquals(userId.getText().toString(),"swe"); } @UiThreadTest public void testStatePause() { Instrumentation mInstr = this.getInstrumentation(); userId.setText("swe"); mInstr.callActivityOnPause(mActivity); //feldinhalt loeschen, um sicherzustellen dass Inhalt wiederhergestellt anstatt //nur beibehalten wird userId.setText(""); mInstr.callActivityOnResume(mActivity); assertEquals("swe",userId.getText().toString()); } }