Reputation: 2394
I'm using robotium to write tests for our android application. I'm looking to execute a command if a certain view or text exists. It would be ideal to check if the view/button exists, but I'm open to checking if the logout
text exists as well
My (incorrect) pseudocode would be something like this:
if solo.getView("logoutButton")) //if the logout button exists
solo.clickOnView(solo.getView("logoutButton")); //click it
end
I'm not familiar with robotium or android and would appreciate any insight.
Upvotes: 1
Views: 762
Reputation: 44158
What about the good old findViewById:
View view = solo.getCurrentActivity().findViewById(R.id.logout_button);
Assert.assertNotNull(view);
solo.clickOnView(view);
Edit:
import android.test.ActivityInstrumentationTestCase2;
import android.view.View;
import com.robotium.solo.Solo;
import junit.framework.Assert;
public class MainActivityTest extends ActivityInstrumentationTestCase2<MainActivity> {
private Solo solo;
public MainActivityTest() {
super(MainActivity.class);
}
@Override
public void setUp() throws Exception {
solo = new Solo(getInstrumentation(), getActivity());
}
public void testView() throws Exception {
View view = solo.getCurrentActivity().findViewById(R.id.tv);
Assert.assertNotNull(view);
solo.clickOnView(view);
}
@Override
public void tearDown() throws Exception {
solo.finishOpenedActivities();
}
}
Upvotes: 3