Robotium supports various functions to test Android menu items. in Android applications Menu items appear on the pressing the menu button after launching the application.
- pressMenuItem(int index)
- pressMenuItem(int index, int itemsPerRow)
- clickOnMenuItem(String text)
- clickOnMenuItem(String text, boolean subMenu)

Let us write sample code to handle the menu items.
Test case for Android Menu items :
Steps:- Launch application, verify the current activity
- open Menu item 'Add note'
- add new note
- go back to previous activity
- take screenshot
public void testAddNote() throws Exception {
solo.clickOnMenuItem("Add note");
//Assert that NoteEditor activity is opened
solo.assertCurrentActivity("Expected NoteEditor activity", "NoteEditor");
//In text field 0, add Note 1
solo.enterText(0, "Note 1");
solo.clickOnMenuItem("Save");
//Clicks on menu item
solo.clickOnMenuItem("Add note");
//In text field 0, add Note 2
solo.enterText(0, "Note 2");
solo.clickOnMenuItem("Save");
//Go back to first activity named "NotesList"
solo.goBackToActivity("NotesList");
//Takes a screenshot and saves it in "/sdcard/Robotium-Screenshots/".
solo.takeScreenshot();
boolean expected = true;
boolean actual = solo.searchText("Note 1") && solo.searchText("Note 2");
//Assert that Note 1 & Note 2 are found
assertEquals("Note 1 and/or Note 2 are not found", expected, actual);
}
Explanation:
- Verify the current activity : ‘solo.assertCurrentActivity()’ is used to verify the current opened activity, which returns a boolean value based on the comparison.
- Open Menu item : ‘solo.clickOnMenuItem()’ is used to Open the Manu and click on the menu item with a given name.
- ‘solo.goBackToActivity()’ is used to go back to the activity with a given name.
- take screenshot : ‘solo.takescreenshot()’ will capture the android screen and save to SD card under “/sdcard/Robotium-Screenshots/”. Function supports two arguments
- with “no arguments” – this will save the screenshot with current date/time
- with “name” as an argument – this will save the screenshot with the specified name (String)
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.