Created
September 30, 2011 10:35
-
-
Save uscheller/1253395 to your computer and use it in GitHub Desktop.
Robotium UI Test
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public class PhotoTest extends ActivityInstrumentationTestCase2 <LoginActivity> { | |
private static final int ACTIVITY_WAIT_TIME = 2000; | |
private Solo solo; | |
public PhotoTest() { | |
super("mypackage.activity", LoginActivity.class); | |
} | |
@Override | |
protected void setUp() throws Exception { | |
super.setUp(); | |
solo = new Solo(getInstrumentation(), getActivity()); | |
String accept = solo.getString(mypackage.R.string.eula_accept); | |
if (solo.searchButton(accept)) { | |
// if the eula dialog is shown - accept | |
solo.clickOnButton(accept); | |
} | |
} | |
public void testLoginLogout() throws InterruptedException { | |
loginUser("foto82@mydomain.de","wrongpass"); | |
String text = solo.getString(mypackage.R.string.alert_title_login_failed); | |
solo.waitForText(text); | |
String okButton = solo.getString(mypackage.R.string.action_ok); | |
Assert.assertTrue("Kein Loginfehler trotz falschem Login", solo.searchButton(okButton)); | |
solo.clickOnButton(okButton); | |
loginUser("foto82@mydomain.de","asdfasdf"); | |
solo.waitForActivity(FolderViewActivity.class.getName(), ACTIVITY_WAIT_TIME); | |
solo.assertCurrentActivity("Login was not sucessfull", FolderViewActivity.class); | |
logout(); | |
} | |
public void testLoginLogoutUTF8() throws InterruptedException { | |
loginUser("joku10052@mydomain.de","Utf8üß$%!wrongpass"); | |
String text = solo.getString(mypackage.R.string.alert_title_login_failed); | |
solo.waitForText(text); | |
String okButton = solo.getString(mypackage.R.string.action_ok); | |
Assert.assertTrue("Kein Loginfehler trotz falschem Login", solo.searchButton(okButton)); | |
solo.clickOnButton(okButton); | |
loginUser("joku10052@mydomain.de","Utf8üß$%!"); | |
solo.waitForActivity(FolderViewActivity.class.getName(), ACTIVITY_WAIT_TIME); | |
solo.assertCurrentActivity("Login was not sucessfull", FolderViewActivity.class); | |
logout(); | |
} | |
public void testInfo() { | |
solo.assertCurrentActivity("Did not start into LoginActivity", LoginActivity.class); | |
Button infoButton = (Button)solo.getView(mypackage.R.id.infoButton); | |
solo.clickLongOnView(infoButton); | |
solo.assertCurrentActivity("InfoActivity did not load", InfoActivity.class); | |
Button continueButton = solo.getButton(solo.getString(mypackage.R.string.action_continue)); | |
Assert.assertEquals(View.VISIBLE, continueButton.getVisibility()); | |
solo.goBack(); | |
solo.waitForActivity(LoginActivity.class.getName(), ACTIVITY_WAIT_TIME); | |
solo.assertCurrentActivity("Going back from InfoActivity failed", LoginActivity.class); | |
} | |
private void logout() { | |
solo.pressMenuItem(4); | |
solo.assertCurrentActivity("Logout was not sucessfull", LoginActivity.class); | |
} | |
private void loginUser(String username,String password) { | |
EditText usernameEditText = (EditText) solo.getView(mypackage.R.id.username_edit); | |
EditText passwordEditText = (EditText) solo.getView(mypackage.R.id.password_edit); | |
solo.clearEditText(usernameEditText); | |
solo.clearEditText(passwordEditText); | |
solo.enterText(usernameEditText, username); | |
solo.enterText(passwordEditText, password); | |
solo.clickOnButton(solo.getString(mypackage.R.string.action_login)); | |
// Dialog "Zum Backup" | |
String notNow = solo.getString(mypackage.R.string.action_not_now); | |
if (solo.searchButton(notNow)) { | |
solo.clickOnButton(notNow); | |
} | |
} | |
@Override | |
protected void tearDown() throws Exception { | |
try { | |
solo.finalize(); | |
} catch (Throwable e) { | |
e.printStackTrace(); | |
} | |
getActivity().finish(); | |
super.tearDown(); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment