com.funambol.client.test
Class BasicCommandRunner

java.lang.Object
  extended by com.funambol.client.test.CommandRunner
      extended by com.funambol.client.test.BasicCommandRunner

public abstract class BasicCommandRunner
extends CommandRunner

Implementation of the CommandRunner class that define the full commands set available to the tester in order to create automatic test script.


Field Summary
static java.lang.String BACK_KEY_NAME
           
static java.lang.String BEGIN_TEST_COMMAND
           
static java.lang.String CHECK_ALERTED_SYNC_MODE_COMMAND
           
static java.lang.String CHECK_EXCHANGED_DATA_COMMAND
           
static java.lang.String CHECK_ITEMS_COUNT_COMMAND
           
static java.lang.String CHECK_ITEMS_COUNT_SERVER_COMMAND
           
static java.lang.String CHECK_REMOTE_URI_COMMAND
           
static java.lang.String CHECK_REQUESTED_SYNC_MODE_COMMAND
           
 java.lang.String currentTestName
           
static java.lang.String DEL_KEY_NAME
           
static java.lang.String DOWN_KEY_NAME
           
static java.lang.String END_TEST_COMMAND
           
static java.lang.String FIRE_KEY_NAME
           
static java.lang.String FORCE_SLOW_SYNC_COMMAND
           
static java.lang.String INTERRUPT_SYNC_AFTER_PHASE_COMMAND
           
static java.lang.String KEY_PRESS_COMMAND
           
static java.lang.String LEFT_KEY_NAME
           
static java.lang.String MENU_KEY_NAME
           
static java.lang.String REFRESH_SERVER_COMMAND
           
static java.lang.String RIGHT_KEY_NAME
           
static java.lang.String START_MAIN_APP_COMMAND
           
static java.lang.String UP_KEY_NAME
           
static java.lang.String WAIT_COMMAND
           
static java.lang.String WAIT_FOR_AUTH_TO_COMPLETE_COMMAND
           
static java.lang.String WAIT_FOR_SYNC_TO_COMPLETE_COMMAND
           
static java.lang.String WRITE_STRING_COMMAND
           
 
Fields inherited from class com.funambol.client.test.CommandRunner
authSyncMonitor, checkSyncClient, robot, syncMonitor
 
Constructor Summary
BasicCommandRunner(BasicRobot robot)
          Constructor
 
Method Summary
 void checkItemsCount(java.lang.String command, java.lang.String args)
          Command to check the items count on the device
 void checkItemsCountOnServer(java.lang.String command, java.lang.String args)
          Command to check the items count on server
protected  BasicRobot getBasicRobot()
          Accessor method
protected  java.lang.String getCurrentTestName()
          Return the name of the test that is executing.
 boolean runCommand(java.lang.String command, java.lang.String pars)
          Core method of this class.
protected abstract  void startMainApp(java.lang.String command, java.lang.String args)
          The automatic test common method to start the main application.
protected  void waitForSyncToComplete(java.lang.String command, java.lang.String args)
          Uses the SyncMonitor object to wait that for specific sync action and validate it as completed after a given amount of time.
 
Methods inherited from class com.funambol.client.test.CommandRunner
checkArgument, checkObject, getParameter, getParametersCount, parseBoolean, setAuthSyncMonitor, setCheckSyncClient, setSyncMonitor
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

BEGIN_TEST_COMMAND

public static final java.lang.String BEGIN_TEST_COMMAND
See Also:
Constant Field Values

END_TEST_COMMAND

public static final java.lang.String END_TEST_COMMAND
See Also:
Constant Field Values

START_MAIN_APP_COMMAND

public static final java.lang.String START_MAIN_APP_COMMAND
See Also:
Constant Field Values

WAIT_COMMAND

public static final java.lang.String WAIT_COMMAND
See Also:
Constant Field Values

KEY_PRESS_COMMAND

public static final java.lang.String KEY_PRESS_COMMAND
See Also:
Constant Field Values

WRITE_STRING_COMMAND

public static final java.lang.String WRITE_STRING_COMMAND
See Also:
Constant Field Values

WAIT_FOR_SYNC_TO_COMPLETE_COMMAND

public static final java.lang.String WAIT_FOR_SYNC_TO_COMPLETE_COMMAND
See Also:
Constant Field Values

WAIT_FOR_AUTH_TO_COMPLETE_COMMAND

public static final java.lang.String WAIT_FOR_AUTH_TO_COMPLETE_COMMAND
See Also:
Constant Field Values

CHECK_EXCHANGED_DATA_COMMAND

public static final java.lang.String CHECK_EXCHANGED_DATA_COMMAND
See Also:
Constant Field Values

CHECK_REQUESTED_SYNC_MODE_COMMAND

public static final java.lang.String CHECK_REQUESTED_SYNC_MODE_COMMAND
See Also:
Constant Field Values

CHECK_ALERTED_SYNC_MODE_COMMAND

public static final java.lang.String CHECK_ALERTED_SYNC_MODE_COMMAND
See Also:
Constant Field Values

CHECK_REMOTE_URI_COMMAND

public static final java.lang.String CHECK_REMOTE_URI_COMMAND
See Also:
Constant Field Values

CHECK_ITEMS_COUNT_COMMAND

public static final java.lang.String CHECK_ITEMS_COUNT_COMMAND
See Also:
Constant Field Values

CHECK_ITEMS_COUNT_SERVER_COMMAND

public static final java.lang.String CHECK_ITEMS_COUNT_SERVER_COMMAND
See Also:
Constant Field Values

FORCE_SLOW_SYNC_COMMAND

public static final java.lang.String FORCE_SLOW_SYNC_COMMAND
See Also:
Constant Field Values

REFRESH_SERVER_COMMAND

public static final java.lang.String REFRESH_SERVER_COMMAND
See Also:
Constant Field Values

INTERRUPT_SYNC_AFTER_PHASE_COMMAND

public static final java.lang.String INTERRUPT_SYNC_AFTER_PHASE_COMMAND
See Also:
Constant Field Values

DOWN_KEY_NAME

public static final java.lang.String DOWN_KEY_NAME
See Also:
Constant Field Values

UP_KEY_NAME

public static final java.lang.String UP_KEY_NAME
See Also:
Constant Field Values

LEFT_KEY_NAME

public static final java.lang.String LEFT_KEY_NAME
See Also:
Constant Field Values

RIGHT_KEY_NAME

public static final java.lang.String RIGHT_KEY_NAME
See Also:
Constant Field Values

FIRE_KEY_NAME

public static final java.lang.String FIRE_KEY_NAME
See Also:
Constant Field Values

MENU_KEY_NAME

public static final java.lang.String MENU_KEY_NAME
See Also:
Constant Field Values

BACK_KEY_NAME

public static final java.lang.String BACK_KEY_NAME
See Also:
Constant Field Values

DEL_KEY_NAME

public static final java.lang.String DEL_KEY_NAME
See Also:
Constant Field Values

currentTestName

public java.lang.String currentTestName
Constructor Detail

BasicCommandRunner

public BasicCommandRunner(BasicRobot robot)
Constructor

Parameters:
robot - the BasicRobot object that runs the commands on the given client implementation. This robot should be defined into the high level as it is architecture specific.
Method Detail

runCommand

public boolean runCommand(java.lang.String command,
                          java.lang.String pars)
                   throws java.lang.Throwable
Core method of this class. It parses the command line command and arguments to realize the actions defined in the high level provided script

Specified by:
runCommand in class CommandRunner
Parameters:
command - the String formatted command to be parsed and given to the robot that is defined to execute it
pars - the command string formatted arguments
Returns:
boolean true if the command is valid, false otherwise
Throws:
java.lang.Throwable - if anything goes wrong when the command is run

getCurrentTestName

protected java.lang.String getCurrentTestName()
Return the name of the test that is executing.

Returns:
String the String formatted test name

getBasicRobot

protected BasicRobot getBasicRobot()
Accessor method

Returns:
BasicRobot the BasicRobot instance reference.

startMainApp

protected abstract void startMainApp(java.lang.String command,
                                     java.lang.String args)
                              throws java.lang.Throwable
The automatic test common method to start the main application. See implementation for further details.

Parameters:
command - the String formatted command to be executed
args - the command related and String formatted arguments
Throws:
java.lang.Throwable - if anything goes wrong when the application starts.

waitForSyncToComplete

protected void waitForSyncToComplete(java.lang.String command,
                                     java.lang.String args)
                              throws java.lang.Throwable
Uses the SyncMonitor object to wait that for specific sync action and validate it as completed after a given amount of time. Use the BasicRobot to perform the sync action.

Parameters:
command - the String representation of the command
args - the command's related and String formatted arguments. In particular the script commad must contain the sync startup time and the maximum time for the sync to be completed.
Throws:
java.lang.Throwable - if anything went wrong during the sync

checkItemsCount

public void checkItemsCount(java.lang.String command,
                            java.lang.String args)
                     throws java.lang.Throwable
Command to check the items count on the device

Parameters:
command - the String formatted command to check the client's items count
args - the command's String formatted arguments
Throws:
java.lang.Throwable - if anything went wrong

checkItemsCountOnServer

public void checkItemsCountOnServer(java.lang.String command,
                                    java.lang.String args)
                             throws java.lang.Throwable
Command to check the items count on server

Parameters:
command - the String formatted command to check the server's items count
args - the command's String formatted arguments
Throws:
java.lang.Throwable - if anything went wrong


Copyright © 2001-2009 Funambol.