androidlistviewrobotiumoptions-menu

Robotium testing on options menu item click


I want to write a test class where i have to test on click of optionsmenu item(I have 3 items in options menu). so onclicking the options menu item I m showing the list view with the data which I am retrieving from the sd card.

the application should crash if run time exception occurs.

Kindly help me with some code snippet/example.

Here is my code but its not working.

private Solo solo;

@SuppressWarnings("deprecation")
public Mytest(
    super("com.attt.ui",Activity.class);
}

@Override
protected void setUp() throws Exception {
    super.setUp();
    solo = new Solo(getInstrumentation(), getActivity());
}

public void TestOptionsmenuItemclick() {
    solo.sendKey(Solo.MENU);
    solo.sendKey(KeyEvent.KEYCODE_MENU);
    solo.clickOnMenuItem("view");
    solo.assertCurrentActivity("hai", getName());

}

@Override
public void tearDown() throws Exception {
    solo.finishOpenedActivities();
}

     }

Help is always appreciated!

Thanks


Solution

  • Of course it doesn't work, because it's not C# - test methods should start with "test". By the way calling:

    solo.sendKey(Solo.MENU);
    solo.sendKey(KeyEvent.KEYCODE_MENU);
    solo.clickOnMenuItem("Review");
    

    also doesn't make sense as clickOnMenuItem opens menu and clicks proper text.

    Your test method should be like this:

    public void testOptionsmenuItemclick() {
        solo.clickOnMenuItem("Review");
        solo.sleep(1000); // give it time to change activity
        solo.assertCurrentActivity("some message", SomeActivity.class);
    }