ScenarioHelper.connectToServer(): Don't just wait for connection but for successful server login.

This commit is contained in:
Sebastian Kaspari 2012-11-06 20:56:25 +01:00
parent 369fa7f8df
commit be49f407bb
1 changed files with 31 additions and 31 deletions

View File

@ -31,78 +31,78 @@ import com.jayway.android.robotium.solo.Solo;
/** /**
* Scenario helper for performing common actions * Scenario helper for performing common actions
* *
* @author Sebastian Kaspari <sebastian@yaaic.org> * @author Sebastian Kaspari <sebastian@yaaic.org>
*/ */
public class ScenarioHelper public class ScenarioHelper
{ {
private Solo solo; private Solo solo;
public ScenarioHelper(Solo solo) public ScenarioHelper(Solo solo)
{ {
this.solo = solo; this.solo = solo;
} }
/** /**
* Create a test server (RobotiumTest) * Create a test server (RobotiumTest)
* *
* Starting Point: ServersActivity * Starting Point: ServersActivity
* Ending Point: ServersActivity * Ending Point: ServersActivity
* *
* @param solo * @param solo
*/ */
public void createTestServer() public void createTestServer()
{ {
if (!solo.searchText("RobotiumTest")) { if (!solo.searchText("RobotiumTest")) {
solo.assertCurrentActivity("Starting at ServersActivity", "ServersActivity"); solo.assertCurrentActivity("Starting at ServersActivity", "ServersActivity");
View view = solo.getView(R.id.add); View view = solo.getView(R.id.add);
assert view != null; assert view != null;
solo.clickOnView(view); solo.clickOnView(view);
solo.waitForActivity("AddServerActivity"); solo.waitForActivity("AddServerActivity");
solo.assertCurrentActivity("Switched to AddServerActivity", "AddServerActivity"); solo.assertCurrentActivity("Switched to AddServerActivity", "AddServerActivity");
solo.enterText(0, "RobotiumTest"); solo.enterText(0, "RobotiumTest");
solo.enterText(1, "irc.epd-me.net"); solo.enterText(1, "irc.epd-me.net");
solo.enterText(4, "YaaicBotium"); solo.enterText(4, "YaaicBotium");
// Somehow robotium doesn't detect the field when using index 5 // Somehow robotium doesn't detect the field when using index 5
EditText realname = (EditText) solo.getView(R.id.realname); EditText realname = (EditText) solo.getView(R.id.realname);
solo.enterText(realname, "Robotium and Yaaic"); solo.enterText(realname, "Robotium and Yaaic");
solo.clickOnButton(solo.getString(R.string.server_save)); solo.clickOnButton(solo.getString(R.string.server_save));
solo.waitForActivity("ServersActivity", 2000); solo.waitForActivity("ServersActivity", 2000);
} }
} }
/** /**
* Connect to the test server * Connect to the test server
* *
* Starting Point: ServersActivity * Starting Point: ServersActivity
* Ending Point: ConversationsActivity * Ending Point: ConversationsActivity
* *
* @param solo * @param solo
*/ */
public void connectToServer() public void connectToServer()
{ {
solo.clickOnText("RobotiumTest"); solo.clickOnText("RobotiumTest");
solo.waitForActivity("ConversationActivity", 3000); solo.waitForActivity("ConversationActivity", 3000);
solo.assertCurrentActivity("Assert is ConversationActivity", ConversationActivity.class); solo.assertCurrentActivity("Assert is ConversationActivity", ConversationActivity.class);
solo.waitForText("Connected to RobotiumTest"); solo.waitForText(solo.getString(R.string.message_login_done));
} }
/** /**
* Disconnect from the test server * Disconnect from the test server
* *
* Starting Point: ConversationsActivity * Starting Point: ConversationsActivity
* Ending Point: ServersActivity * Ending Point: ServersActivity
* *
* @param solo * @param solo
*/ */
public void disconnectFromServer() public void disconnectFromServer()
@ -115,17 +115,17 @@ public class ScenarioHelper
// Disconnect // Disconnect
solo.clickLongOnText("RobotiumTest"); solo.clickLongOnText("RobotiumTest");
solo.clickOnText("Disconnect"); solo.clickOnText("Disconnect");
solo.waitForActivity("ServersActivity", 1000); solo.waitForActivity("ServersActivity", 1000);
solo.assertCurrentActivity("Assert is ServersActivity", ServersActivity.class); solo.assertCurrentActivity("Assert is ServersActivity", ServersActivity.class);
} }
/** /**
* Delete the test server (RobotiumTest) * Delete the test server (RobotiumTest)
* *
* Starting Point: ServersActivity * Starting Point: ServersActivity
* Ending Point: ServersActivity * Ending Point: ServersActivity
* *
* @param solo * @param solo
*/ */
public void deleteTestServer() public void deleteTestServer()
@ -134,18 +134,18 @@ public class ScenarioHelper
// Delete server again // Delete server again
solo.clickLongOnText("RobotiumTest"); solo.clickLongOnText("RobotiumTest");
solo.clickOnText("Delete"); solo.clickOnText("Delete");
solo.waitForActivity("ServersActivity", 1000); solo.waitForActivity("ServersActivity", 1000);
solo.assertCurrentActivity("Assert is ServersActivity", ServersActivity.class); solo.assertCurrentActivity("Assert is ServersActivity", ServersActivity.class);
} }
} }
/** /**
* Join the test channel * Join the test channel
* *
* Starting Point: ConversationsActivity * Starting Point: ConversationsActivity
* Ending Point: ConversationsActivity * Ending Point: ConversationsActivity
* *
* @param solo * @param solo
*/ */
public void joinTestChannel() public void joinTestChannel()
@ -156,13 +156,13 @@ public class ScenarioHelper
// Wait for channel joined // Wait for channel joined
solo.waitForText("#yaaic-test"); solo.waitForText("#yaaic-test");
} }
/** /**
* Send a message via the command line * Send a message via the command line
* *
* Starting Point: ConversationsActivity * Starting Point: ConversationsActivity
* Ending Point: ConversationsActivity * Ending Point: ConversationsActivity
* *
* @param solo * @param solo
* @param message * @param message
*/ */