/**
** Copyright (C) SAS Institute, All rights reserved.
** General Public License: http://www.opensource.org/licenses/gpl-license.php
**/
package com.jayway.android.robotium.remotecontrol.solo;
import java.util.ArrayList;
import java.util.List;
import org.w3c.tools.codec.Base64Decoder;
import org.w3c.tools.codec.Base64Encoder;
/**
* The constants used by both Robotium Remote Control and the Robotium Test Runner to exchange commands and data.
*
* @author Carl Nagle, SAS Institute, Inc.
* @since
* <br>May 17, 2013 (SBJLWA) Update to support Robotium 4.1
* <br>Jun 21, 2013 (SBJLWA) Update to support Robotium 4.1+
* <br>Jun 25, 2013 (CANAGL) Update to support Robotium 4.2
*/
public class Message extends org.safs.sockets.Message{
/** The Property key for the command/method to be executed on the remote device. */
public static final String KEY_COMMAND = "command";
/** The Property key for the name of the target to execute the command. */
public static final String KEY_TARGET = "target";
/**
* Property key from the device-side that the controller should change its timeout.
* Used in {@link SoloRemoteControl#waitForRemoteResult(int)} to extend or shorten the wait
* for the currently running command. If the device-side sends a remoteResult with this key
* present then the waitForRemoteResults should wait again using the new timeout value
* specified in the property value.
* The new timeout there should be specified in seconds.
*/
public static final String KEY_CHANGETIMEOUT = "changetimeout";
/** The charset used to translate the base64 encoded bytes to string,
* and translate that string back to base64 encoded bytes.*/
public static final String KEY_UTF8_CHARSET = "UTF-8";
/** The name for the default Solo target. */
public static final String target_solo = "solo";
/** The name for the default InstrumentationTestRunner target. */
public static final String target_instrument = "instrument";
/** The Property key for a "errormsg" parameter used by Solo for jUnit assertion failure messages. */
public static final String PARAM_ERRORMSG = "errormsg";
/** The Property key for a "class" parameter used by Solo. */
public static final String PARAM_CLASS = "class";
/** The Property key for a "classes" parameter used by Solo.
* this string's content format is: ";classname;classname;classname" */
public static final String PARAM_CLASSES = "classes";
/** The Property key for a "isnewinstance" parameter used by Solo. */
public static final String PARAM_ISNEWINSTANCE = "isnewinstance";
/** The Property key for a "timeout" parameter used by Solo. */
public static final String PARAM_TIMEOUT = "timeout";
/** The Property key for a "timeouttype" parameter used by Solo. */
public static final String PARAM_TIMEOUT_TYPE = "timeouttype";
/** The Property key for an String UID "reference" parameter used by Solo. */
public static final String PARAM_REFERENCE = "reference";
/** The Property key for an String of UIDs "reference" parameter used by Solo.
* this string's content format is: ";UID;UID;UID" */
public static final String PARAM_REFERENCES = "referencelist";
/** The Property key for a "index" parameter used by Solo. */
public static final String PARAM_INDEX = "index";
/** The Property key for a "line" parameter used by Solo. */
public static final String PARAM_LINE = "line";
/** The Property key for a "time" parameter used by Solo. */
public static final String PARAM_TIME = "time";
/** The Property key for a "floatx" parameter used by Solo. */
public static final String PARAM_FLOATX = "floatx";
/** The Property key for a "floaty" parameter used by Solo. */
public static final String PARAM_FLOATY = "floaty";
/** The Property key for a "clicknumber" parameter used by Solo. */
public static final String PARAM_CLICKNUMBER = "clicknumber";
/** The Property key for a "text" parameter used by Solo. */
public static final String PARAM_TEXT = "text";
/** The Property key for a "match" parameter used by Solo. */
public static final String PARAM_MATCH = "match";
/** The Property key for a "minimummatches" parameter used by Solo. */
public static final String PARAM_MINIMUMMATCHES = "minimummatches";
/** The Property key for a "scroll" parameter used by Solo. */
public static final String PARAM_SCROLL = "scroll";
/** The Property key for a "name" parameter used by Solo. */
public static final String PARAM_NAME = "name";
/** The Property key for a "submenu" parameter used by Solo. */
public static final String PARAM_SUBMENU = "submenu";
/** The Property key for a "fromx" parameter used by Solo. */
public static final String PARAM_FROMX = "fromx";
/** The Property key for a "fromy" parameter used by Solo. */
public static final String PARAM_FROMY = "fromy";
/** The Property key for a "tox" parameter used by Solo. */
public static final String PARAM_TOX = "tox";
/** The Property key for a "tox" parameter used by Solo. */
public static final String PARAM_TOY = "toy";
/** The Property key for a "stepcount" parameter used by Solo. */
public static final String PARAM_STEPCOUNT = "stepcount";
/** The Property key for a "onlyvisible" parameter used by Solo. */
public static final String PARAM_ONLYVISIBLE = "onlyvisible";
/** The Property key for a "resid" parameter used by Solo. */
public static final String PARAM_RESID = "resid";
/** The Property key for a "id" parameter used by Solo. */
public static final String PARAM_ID = "id";
/** The Property key for a "itemsperrow" parameter used by Solo. */
public static final String PARAM_ITEMSPERROW = "itemsperrow";
/** The Property key for a "itemindex" parameter used by Solo. */
public static final String PARAM_ITEMINDEX = "itemindex";
/** The Property key for a "side" parameter used by Solo. */
public static final String PARAM_SIDE = "side";
/** The Property key for a "key" parameter used by Solo. */
public static final String PARAM_KEY = "key";
/** The Property key for a "orientation" parameter used by Solo. */
public static final String PARAM_ORIENTATION = "orientation";
/** The Property key for a "year" parameter used by Solo. */
public static final String PARAM_YEAR = "year";
/** The Property key for a "yearmonth" parameter used by Solo. */
public static final String PARAM_YEARMONTH = "yearmonth";
/** The Property key for a "monthday" parameter used by Solo. */
public static final String PARAM_MONTHDAY = "monthday";
/** The Property key for a "hour" parameter used by Solo. */
public static final String PARAM_HOUR = "hour";
/** The Property key for a "minute" parameter used by Solo. */
public static final String PARAM_MINUTE = "minute";
/** The Property key for a "progress" parameter used by Solo. */
public static final String PARAM_PROGRESS = "progress";
/** The Property key for a "status" parameter used by Solo. */
public static final String PARAM_STATUS = "status";
/** The Property key for an "object" parameter (an instance of a class) used by Solo. */
public static final String PARAM_OBJECT = "object_instance";
/** The Property key for a "conditiondefinition" parameter used by Solo. */
public static final String PARAM_CONDITION_DEFINITION = "conditiondefinition";
/** The Property key for a "regexstring" parameter used by Solo. */
public static final String PARAM_REGEX_STRING = "regexstring";
/** The Property key for a "immediately" parameter used by Solo. */
public static final String PARAM_IMMEDIATELY = "immediately";
/** The Property key for a "quality" parameter used by Solo. */
public static final String PARAM_QUALITY = "quality";
/** The Property key for a "yaxisfirst" parameter used by Solo. */
public static final String PARAM_YAXISFIRST = "yaxisfirst";
public static final String NULL_VALUE = "NULL";
/** "assertcurrentactivityname" */
public static final String cmd_assertcurrentactivityname = "assertcurrentactivityname";
/** "assertcurrentactivityclass" */
public static final String cmd_assertcurrentactivityclass = "assertcurrentactivityclass";
/** "assertmemorynotlow" */
public static final String cmd_assertmemorynotlow = "assertmemorynotlow";
/** "assertnewcurrentactivityname" */
public static final String cmd_assertnewcurrentactivityname = "assertnewcurrentactivityname";
/** "assertnewcurrentactivityclass" */
public static final String cmd_assertnewcurrentactivityclass = "assertnewcurrentactivityclass";
/** "clickonactionbarhomebutton" */
public static final String cmd_clickonactionbarhomebutton = "clickonactionbarhomebutton";
/** "clickonactionbaritem" */
public static final String cmd_clickonactionbaritem = "clickonactionbaritem";
/** "clickonscreen" */
public static final String cmd_clickonscreen = "clickonscreen";
/** "clicklongonscreen" */
public static final String cmd_clicklongonscreen = "clicklongonscreen";
/** "clicklongtimeonscreen" */
public static final String cmd_clicklongtimeonscreen = "clicklongtimeonscreen";
/** "clickonbutton" */
public static final String cmd_clickonbutton = "clickonbutton";
/** "clickonbuttonindex" */
public static final String cmd_clickonbuttonindex = "clickonbuttonindex";
/** "clickonradiobuttonindex" */
public static final String cmd_clickonradiobuttonindex = "clickonradiobuttonindex";
/** "clickonimagebutton" */
public static final String cmd_clickonimagebutton = "clickonimagebutton";
/** "clickontogglebutton" */
public static final String cmd_clickontogglebutton = "clickontogglebutton";
/** "clickoncheckboxindex" */
public static final String cmd_clickoncheckboxindex = "clickoncheckboxindex";
/** "clickonedittextindex" */
public static final String cmd_clickonedittextindex = "clickonedittextindex";
/** "clickinlist" */
public static final String cmd_clickinlist = "clickinlist";
/** "clickinlistindex" */
public static final String cmd_clickinlistindex = "clickinlistindex";
/** "clicklonginlist" */
public static final String cmd_clicklonginlist = "clicklonginlist";
/** "clicklonginlistindex" */
public static final String cmd_clicklonginlistindex = "clicklonginlistindex";
/** "clicklongtimeinlistindex" */
public static final String cmd_clicklongtimeinlistindex = "clicklongtimeinlistindex";
/** "clickonmenuitem" */
public static final String cmd_clickonmenuitem = "clickonmenuitem";
/** "clickonsubmenuitem" */
public static final String cmd_clickonsubmenuitem = "clickonsubmenuitem";
/** "clickonview" */
public static final String cmd_clickonview = "clickonview";
/** "clicklongonview" */
public static final String cmd_clicklongonview = "clicklongonview";
/** "clicklongtimeonview" */
public static final String cmd_clicklongtimeonview = "clicklongtimeonview";
/** "clickontext" */
public static final String cmd_clickontext = "clickontext";
/** "clickontextmatch" */
public static final String cmd_clickontextmatch = "clickontextmatch";
/** "clickontextmatchscroll" */
public static final String cmd_clickontextmatchscroll = "clickontextmatchscroll";
/** "clicklongontext" */
public static final String cmd_clicklongontext = "clicklongontext";
/** "clicklongontextmatch" */
public static final String cmd_clicklongontextmatch = "clicklongontextmatch";
/** "clicklongontextmatchscroll" */
public static final String cmd_clicklongontextmatchscroll = "clicklongontextmatchscroll";
/** "clicklongtimeontextmatch" */
public static final String cmd_clicklongtimeontextmatch = "clicklongtimeontextmatch";
/** "clicklongpressontext" */
public static final String cmd_clicklongpressontext = "clicklongpressontext";
/** "clearedittextindex" */
public static final String cmd_clearedittextindex = "clearedittextindex";
/** "clearedittextreference" */
public static final String cmd_clearedittextreference = "clearedittextreference";
/** "clickonimage" */
public static final String cmd_clickonimage = "clickonimage";
/** "drag" */
public static final String cmd_drag = "drag";
/** "entertextindex" */
public static final String cmd_entertextindex = "entertextindex";
/** "entertextreference" */
public static final String cmd_entertextreference = "entertextreference";
/** "finishopenedactivities" */
public static final String cmd_finishopenedactivities = "finishopenedactivities";
/** "finalizeremotesolo" */
public static final String cmd_finalizeremotesolo = "finalizeremotesolo";
/** "goback" */
public static final String cmd_goback = "goback";
/** "getstring" */
public static final String cmd_getstring = "getstring";
/** "getactivitymonitor" */
public static final String cmd_getactivitymonitor = "getactivitymonitor";
/** "getcurrentactivity" */
public static final String cmd_getcurrentactivity = "getcurrentactivity";
/** "getbacktoactivity" */
public static final String cmd_gobacktoactivity = "gobacktoactivity";
/** "getallopenactivities" */
public static final String cmd_getallopenactivities = "getallopenactivities";
/** "getedittext" */
public static final String cmd_getedittext = "getedittext";
/** "getbutton" */
public static final String cmd_getbutton = "getbutton";
/** "gettext" */
public static final String cmd_gettext = "gettext";
/** "getimage" */
public static final String cmd_getimage = "getimage";
/** "getimagebutton" */
public static final String cmd_getimagebutton = "getimagebutton";
/** "gettexttext" */
public static final String cmd_gettexttext = "gettexttext";
/** "gettextvisible" */
public static final String cmd_gettextvisible = "gettextvisible";
/** "getbuttontext" */
public static final String cmd_getbuttontext = "getbuttontext";
/** "getbuttonvisible" */
public static final String cmd_getbuttonvisible = "getbuttonvisible";
/** "getedittexttext" */
public static final String cmd_getedittexttext = "getedittexttext";
/** "getedittextvisible" */
public static final String cmd_getedittextvisible = "getedittextvisible";
/** "getviewid" */
public static final String cmd_getviewid = "getviewid";
/** "getviewclass" */
public static final String cmd_getviewclass = "getviewclass";
/** "getcurrentviews" */
public static final String cmd_getcurrentviews = "getcurrentviews";
/** "getcurrentimageviews" */
public static final String cmd_getcurrentimageviews = "getcurrentimageviews";
/** "getcurrentedittexts" */
public static final String cmd_getcurrentedittexts = "getcurrentedittexts";
/** "getcurrentlistviews" */
public static final String cmd_getcurrentlistviews = "getcurrentlistviews";
/** "getcurrentscrollviews" */
public static final String cmd_getcurrentscrollviews = "getcurrentscrollviews";
/** "getcurrentspinners" */
public static final String cmd_getcurrentspinners = "getcurrentspinners";
/** "getcurrenttextviews" */
public static final String cmd_getcurrenttextviews = "getcurrenttextviews";
/** "getcurrentgridviews" */
public static final String cmd_getcurrentgridviews = "getcurrentgridviews";
/** "getcurrentbuttons" */
public static final String cmd_getcurrentbuttons = "getcurrentbuttons";
/** "getcurrenttogglebuttons" */
public static final String cmd_getcurrenttogglebuttons = "getcurrenttogglebuttons";
/** "getcurrentradiobuttons" */
public static final String cmd_getcurrentradiobuttons = "getcurrentradiobuttons";
/** "getcurrentcheckboxes" */
public static final String cmd_getcurrentcheckboxes = "getcurrentcheckboxes";
/** "getcurrentimagebuttons" */
public static final String cmd_getcurrentimagebuttons = "getcurrentimagebuttons";
/** "getcurrentdatepickers" */
public static final String cmd_getcurrentdatepickers = "getcurrentdatepickers";
/** "getcurrenttimepickers" */
public static final String cmd_getcurrenttimepickers = "getcurrenttimepickers";
// /** "getcurrentnumberpickers" */
// public static final String cmd_getcurrentnumberpickers = "getcurrentnumberpickers";
/** "getcurrentslidingdrawers" */
public static final String cmd_getcurrentslidingdrawers = "getcurrentslidingdrawers";
/** "getcurrentprogressbars" */
public static final String cmd_getcurrentprogressbars = "getcurrentprogressbars";
/** "getguiimage" */
public static final String cmd_getguiimage = "getguiimage";
/** "getviewclassname" */
public static final String cmd_getviewclassname = "getviewclassname";
/** "getobjectclassname" */
public static final String cmd_getobjectclassname = "getobjectclassname";
/** "gettopparent" */
public static final String cmd_gettopparent = "gettopparent";
/** "getparentviews" */
public static final String cmd_getparentviews = "getparentviews";
/** "getviews" */
public static final String cmd_getviews = "getviews";
/** "isradiobuttonchecked" */
public static final String cmd_isradiobuttonchecked = "isradiobuttonchecked";
/** "isradiobuttoncheckedtext" */
public static final String cmd_isradiobuttoncheckedtext = "isradiobuttoncheckedtext";
/** "ischeckboxchecked" */
public static final String cmd_ischeckboxchecked = "ischeckboxchecked";
/** "ischeckboxcheckedtext" */
public static final String cmd_ischeckboxcheckedtext = "ischeckboxcheckedtext";
/** "istogglebuttonchecked" */
public static final String cmd_istogglebuttonchecked = "istogglebuttonchecked";
/** "istogglebuttoncheckedtext" */
public static final String cmd_istogglebuttoncheckedtext = "istogglebuttoncheckedtext";
/** "istextchecked" */
public static final String cmd_istextchecked = "istextchecked";
/** "isspinnertextselected" */
public static final String cmd_isspinnertextselected = "isspinnertextselected";
/** "isspinnertextselectedindex" */
public static final String cmd_isspinnertextselectedindex = "isspinnertextselectedindex";
/** "pressmenuitem" */
public static final String cmd_pressmenuitem = "pressmenuitem";
/** "presssubmenuitem" */
public static final String cmd_presssubmenuitem = "presssubmenuitem";
/** "pressspinneritem" */
public static final String cmd_pressspinneritem = "pressspinneritem";
/** "scrolldown" */
public static final String cmd_scrolldown = "scrolldown";
/** "scrollup" */
public static final String cmd_scrollup = "scrollup";
/** "scrolldownlist" */
public static final String cmd_scrolldownlist = "scrolldownlist";
/** "scrolldownlistuid" */
public static final String cmd_scrolldownlistuid = "scrolldownlistuid";
/** "scrolluplist" */
public static final String cmd_scrolluplist = "scrolluplist";
/** "scrolluplistuid" */
public static final String cmd_scrolluplistuid = "scrolluplistuid";
/** "scrolllisttotop" */
public static final String cmd_scrolllisttotop = "scrolllisttotop";
/** "scrolllisttotopuid" */
public static final String cmd_scrolllisttotopuid = "scrolllisttotopuid";
/** "scrolllisttobottom" */
public static final String cmd_scrolllisttobottom = "scrolllisttobottom";
/** "scrolllisttobottomuid" */
public static final String cmd_scrolllisttobottomuid = "scrolllisttobottomuid";
/** "scrolllisttoline" */
public static final String cmd_scrolllisttoline = "scrolllisttoline";
/** "scrolllisttolineuid" */
public static final String cmd_scrolllisttolineuid = "scrolllisttolineuid";
/** "scrolltoside" */
public static final String cmd_scrolltoside = "scrolltoside";
/** "scrolltotop" */
public static final String cmd_scrolltotop = "scrolltotop";
/** "scrolltobottom" */
public static final String cmd_scrolltobottom = "scrolltobottom";
/** "scrolltobottomuid" */
public static final String cmd_scrolltobottomuid = "scrolltobottomuid";
/** "scrollviewtoside" */
public static final String cmd_scrollviewtoside = "scrollviewtoside";
/** "searchbutton" */
public static final String cmd_searchbutton = "searchbutton";
/** "searchbuttonvisible" */
public static final String cmd_searchbuttonvisible = "searchbuttonvisible";
/** "searchbuttonmatch" */
public static final String cmd_searchbuttonmatch = "searchbuttonmatch";
/** "searchbuttonmatchvisible" */
public static final String cmd_searchbuttonmatchvisible = "searchbuttonmatchvisible";
/** "searchedittext" */
public static final String cmd_searchedittext = "searchedittext";
/** "searchtext" */
public static final String cmd_searchtext = "searchtext";
/** "searchtextvisible" */
public static final String cmd_searchtextvisible = "searchtextvisible";
/** "searchtextmatch" */
public static final String cmd_searchtextmatch = "searchtextmatch";
/** "searchtextmatchscroll" */
public static final String cmd_searchtextmatchscroll = "searchtextmatchscroll";
/** "searchtextmatchscrollvisible" */
public static final String cmd_searchtextmatchscrollvisible = "searchtextmatchscrollvisible";
/** "searchtogglebutton" */
public static final String cmd_searchtogglebutton = "searchtogglebutton";
/** "searchtogglebuttonmatch" */
public static final String cmd_searchtogglebuttonmatch = "searchtogglebuttonmatch";
/** "setactivityorientation" */
public static final String cmd_setactivityorientation = "setactivityorientation";
/** "setdatepickerreference" */
public static final String cmd_setdatepickerreference = "setdatepickerreference";
/** "setdatepickerindex" */
public static final String cmd_setdatepickerindex = "setdatepickerindex";
/** "settimepickerreference" */
public static final String cmd_settimepickerreference = "settimepickerreference";
/** "settimepickerindex" */
public static final String cmd_settimepickerindex = "settimepickerindex";
/** "setprogressbarreference" */
public static final String cmd_setprogressbarreference = "setprogressbarreference";
/** "setprogressbarindex" */
public static final String cmd_setprogressbarindex = "setprogressbarindex";
/** "setslidingdrawerreference" */
public static final String cmd_setslidingdrawerreference = "setslidingdrawerreference";
/** "setslidingdrawerindex" */
public static final String cmd_setslidingdrawerindex = "setslidingdrawerindex";
/** "sendkey" */
public static final String cmd_sendkey = "sendkey";
/** "sleep" */
public static final String cmd_sleep = "sleep";
/** "startmainlauncher" */
public static final String cmd_startmainlauncher = "startmainlauncher";
/** "startscreenshotsequence" */
public static final String cmd_startscreenshotsequence = "startscreenshotsequence";
/** "startscreenshotsequencemax" */
public static final String cmd_startscreenshotsequencemax = "startscreenshotsequencemax";
/** "stopscreenshotsequence" */
public static final String cmd_stopscreenshotsequence = "stopscreenshotsequence";
/** "getscreenshotsequence" */
public static final String cmd_getscreenshotsequence = "getscreenshotsequence";
/** "getscreenshotsequencesize" */
public static final String cmd_getscreenshotsequenceszie = "getscreenshotsequencesize";
/** "getscreenshotsequenceindex" */
public static final String cmd_getscreenshotsequenceindex = "getscreenshotsequenceindex";
/** "takescreenshot" */
public static final String cmd_takescreenshot = "takescreenshot";
/** "typetext" */
public static final String cmd_typetext = "typetext";
/** "typetextuid" */
public static final String cmd_typetextuid = "typetextuid";
/** "waitforactivity" */
public static final String cmd_waitforactivity = "waitforactivity";
/** "waitforactivitytimeout" */
public static final String cmd_waitforactivitytimeout = "waitforactivitytimeout";
/** "waitfordialogtoclose" */
public static final String cmd_waitfordialogtoclose = "waitfordialogtoclose";
/** "waitforfragmentbyid" */
public static final String cmd_waitforfragmentbyid = "waitforfragmentbyid";
/** "waitforfragmentbytag" */
public static final String cmd_waitforfragmentbytag = "waitforfragmentbytag";
/** "waitforlogmessage" */
public static final String cmd_waitforlogmessage = "waitforlogmessage";
/** "waitfortext" */
public static final String cmd_waitfortext = "waitfortext";
/** "waitfortextmatchtimeout" */
public static final String cmd_waitfortextmatchtimeout = "waitfortextmatchtimeout";
/** "waitfortextmatchtimeoutscroll" */
public static final String cmd_waitfortextmatchtimeoutscroll = "waitfortextmatchtimeoutscroll";
/** "waitfortextmatchtimeoutscrollvisible" */
public static final String cmd_waitfortextmatchtimeoutscrollvisible = "waitfortextmatchtimeoutscrollvisible";
/** "waitforviewclass" */
public static final String cmd_waitforviewclass = "waitforviewclass";
/** "waitforviewclassmatchtimeout" */
public static final String cmd_waitforviewclassmatchtimeout = "waitforviewclassmatchtimeout";
/** "waitforviewclassmatchtimeoutscroll" */
public static final String cmd_waitforviewclassmatchtimeoutscroll = "waitforviewclassmatchtimeoutscroll";
/** "waitforviewreference" */
public static final String cmd_waitforviewreference = "waitforviewreference";
/** "waitforviewreferencetimeoutscroll" */
public static final String cmd_waitforviewreferencetimeoutscroll = "waitforviewreferencetimeoutscroll";
/** "getscreensize" */
public static final String cmd_getscreensize = "getscreensize";
/** "getviewlocation" */
public static final String cmd_getviewlocation = "getviewlocation";
/** "gettextviewvalue" */
public static final String cmd_gettextviewvalue = "gettextviewvalue";
/**============================= Support for Robotium 4.x Begin ==============================================*/
/** "cleartextinwebelement" */
public static final String cmd_cleartextinwebelement = "cleartextinwebelement";
/** "clickonviewimmediately" clickOnView(View, boolean) */
public static final String cmd_clickonviewimmediately = "clickonviewimmediately";
/** "clickonwebelement" clickOnWebElement(By)*/
public static final String cmd_clickonwebelement = "clickonwebelement";
/** "clickonwebelementindex" clickOnWebElement(By, int)
* if multiple objects match, index determines which one to click */
public static final String cmd_clickonwebelementindex = "clickonwebelementindex";
/** "clickonwebelementindexscroll" clickOnWebElement(By, int, boolean)
* if multiple objects match, index determines which one to click
* if scrolling should be performed */
public static final String cmd_clickonwebelementindexscroll = "clickonwebelementindexscroll";
/** "clickonwebelementuid" clickOnWebElement(WebElement)*/
public static final String cmd_clickonwebelementuid = "clickonwebelementuid";
/** "entertextinwebelement" enterTextInWebElement(By, String)*/
public static final String cmd_entertextinwebelement = "entertextinwebelement";
/** "getcurrentviewsbyclass" getCurrentViews(Class<T>)*/
public static final String cmd_getcurrentviewsbyclass = "getcurrentviewsbyclass";
/** "getcurrentviewsbyclassandparent" getCurrentViews(Class<T>, View)*/
public static final String cmd_getcurrentviewsbyclassandparent = "getcurrentviewsbyclassandparent";
/** "getcurrentwebelements" getCurrentWebElements()*/
public static final String cmd_getcurrentwebelements = "getcurrentwebelements";
/** "getcurrentwebelementsby" getCurrentWebElements(By)*/
public static final String cmd_getcurrentwebelementsby = "getcurrentwebelementsby";
/** "getwebelement" getWebElement(By, int)*/
public static final String cmd_getwebelement = "getwebelement";
/** "getweburl" getWebUrl()*/
public static final String cmd_getweburl = "getweburl";
/** "hidesoftkeyboard" hideSoftKeyboard()*/
public static final String cmd_hidesoftkeyboard = "hidesoftkeyboard";
/** "takescreenshotquality" takeScreenshot(String, int)*/
public static final String cmd_takescreenshotquality = "takescreenshotquality";
/** "typetextinwebelement" typeTextInWebElement(By, String)*/
public static final String cmd_typetextinwebelement = "typetextinwebelement";
/** "typetextinwebelementindex" typeTextInWebElement(By, String, int)*/
public static final String cmd_typetextinwebelementindex = "typetextinwebelementindex";
/** "typetextinwebelementuid" typeTextInWebElement(WebElement, String)*/
public static final String cmd_typetextinwebelementuid = "typetextinwebelementuid";
/** "waitforactivitybyclass" waitForActivity(Class<? extends Activity>)*/
public static final String cmd_waitforactivitybyclass = "waitforactivitybyclass";
/** "waitforactivitybyclasstimeout" waitForActivity(Class<? extends Activity>, int)*/
public static final String cmd_waitforactivitybyclasstimeout = "waitforactivitybyclasstimeout";
/** "waitforcondition" waitForCondition(Condition, int)*/
public static final String cmd_waitforcondition = "waitforcondition";
/** "waitfordialogtoopen" waitForDialogToOpen(long)*/
public static final String cmd_waitfordialogtoopen = "waitfordialogtoopen";
/** "waitforwebelement" waitForWebElement(By)*/
public static final String cmd_waitforwebelement = "waitforwebelement";
/** "waitforwebelementtimeout" waitForWebElement(By, int, boolean)*/
public static final String cmd_waitforwebelementtimeout = "waitforwebelementtimeout";
/** "waitforwebelementminmatchtimeout" waitForWebElement(By, int, int, boolean)*/
public static final String cmd_waitforwebelementminmatchtimeout = "waitforwebelementminmatchtimeout";
/** "pinchtozoom" pinchToZoom(PointF, PointF, PointF, PointF)*/
public static final String cmd_pinchtozoom = "pinchtozoom";
/** "rotatelarge" rotateLarge(PointF, PointF)*/
public static final String cmd_rotatelarge = "rotatelarge";
/** "rotatesmall" rotateSmall(PointF, PointF)*/
public static final String cmd_rotatesmall = "rotatesmall";
/** "swipe" swipe(PointF, PointF, PointF, PointF)*/
public static final String cmd_swipe = "swipe";
/** "clickonscreenntimes" clickOnScreen(float , float , int )*/
public static final String cmd_clickonscreenntimes = "clickonscreenntimes";
/** "waitforviewid" waitForView(int )*/
public static final String cmd_waitforviewid = "waitforviewid";
/** "waitforviewidtimeout" waitForView(int , int, int)*/
public static final String cmd_waitforviewidtimeout = "waitforviewidtimeout";
/** "waitforviewidtimeoutscroll" waitForView(int , int, int , boolean )*/
public static final String cmd_waitforviewidtimeoutscroll = "waitforviewidtimeoutscroll";
/** "getviewbyname" getView(String )*/
public static final String cmd_getviewbyname = "getviewbyname";
/** "getviewbynamematch" getView(String , int )*/
public static final String cmd_getviewbynamematch = "getviewbynamematch";
/** "clearlog" clearLog()*/
public static final String cmd_clearlog = "clearlog";
/** "utilsfilterviews" filterViews(Class<T>, Iterable<?>)*/
public static final String cmd_utilsfilterviews = "utilsfilterviews";
/** "utilsfilterviewsbytext" filterViewsByText(Iterable<T>, Pattern)*/
public static final String cmd_utilsfilterviewsbytext = "utilsfilterviewsbytext";
/** "utilsfilterviewstoset" filterViewsToSet(Class<View>[], Iterable<View>)*/
public static final String cmd_utilsfilterviewstoset = "utilsfilterviewstoset";
/** "utilsgetnumberofmatches" getNumberOfMatches(String, TextView, Set<TextView>)*/
public static final String cmd_utilsgetnumberofmatches = "utilsgetnumberofmatches";
/** "utilsremoveinvisibleviews" removeInvisibleViews(Iterable<T>)*/
public static final String cmd_utilsremoveinvisibleviews = "utilsremoveinvisibleviews";
/** "utilssortviewsbylocationonscreen" filterViews(Class<T>, Iterable<?>)*/
public static final String cmd_utilssortviewsbylocationonscreen = "utilssortviewsbylocationonscreen";
/** "utilssortviewsbylocationonscreenyfirst" sortViewsByLocationOnScreen(List<? extends View>, boolean)*/
public static final String cmd_utilssortviewsbylocationonscreenyfirst = "utilssortviewsbylocationonscreenyfirst";
/** "getlargetimeout" getLargeTimeout()*/
public static final String cmd_getlargetimeout = "getlargetimeout";
/** "setlargetimeout" setLargeTimeout(int)*/
public static final String cmd_setlargetimeout = "setlargetimeout";
/** "getsmalltimeout" getSmallTimeout()*/
public static final String cmd_getsmalltimeout = "getsmalltimeout";
/** "setsmalltimeout" setSmallTimeout(int)*/
public static final String cmd_setsmalltimeout = "setsmalltimeout";
/**============================= Support for Robotium 4.x End ==============================================*/
/** method_by_xxx represents the static method name of com.jayway.android.robotium.remotecontrol.By class */
public static final String method_by_id = "id";
public static final String method_by_xpath = "xpath";
public static final String method_by_cssSelector = "cssSelector";
public static final String method_by_name = "name";
public static final String method_by_className = "className";
public static final String method_by_textContent = "textContent";
public static final String method_by_tagName = "tagName";
/**
* Encode the object to a string with charset {@value #KEY_UTF8_CHARSET}.<br>
*
* @param object, Object an object must implements interface Serializable.
* @return String, the base64 encoded string with charset {@value #KEY_UTF8_CHARSET}
* @throws IllegalThreadStateException
* @see {@link #decodeBase64Object(String)}
*/
public static String encodeBase64Object(Object object) throws IllegalThreadStateException{
return Base64Encoder.encodeBase64Object(object, KEY_UTF8_CHARSET);
}
/**
* Decode a string to object with charset {@value #KEY_UTF8_CHARSET}.<br>
*
* @param base64String, String, the base64 encoded string with charset {@value #KEY_UTF8_CHARSET}
* @return Object, an object who implements interface Serializable.
* @throws IllegalThreadStateException
* @see {@link #encodeBase64Object(Object)}
*/
public static Object decodeBase64Object(String base64String) throws IllegalThreadStateException{
return Base64Decoder.decodeBase64Object(base64String, KEY_UTF8_CHARSET);
}
/** Array of possible separators: ";",":","|",":","_","#","!","$","^","&","*","~" */
static final String[] SEPS = {";",":","|",":","_","#","!","$","^","&","*","~"};
/**
* Return a usable single character separator string that does NOT exist
* in the provided field.
* Tries each character in SEPS array.
* @param afield String field to keep intact.
* @return unique String separator that does NOT exist in afield.
*/
public static String getUniqueSeparator(String afield){
String debugPrefix = "Message.getUniqueSeparator() ";
for(int d=0;d<SEPS.length;d++){
if(afield.indexOf(SEPS[d])< 0) return SEPS[d];
}
System.err.println(debugPrefix+"Separator options exhausted for:"+ afield);
return null;
}
/**
* Convert the array to a single string of separated values. The first
* character in the returned string defines the delimiter used to separate
* the items. If there are no items in the provided array (length==0) then
* we return a 0-length (empty) String.
*
* @param items
* @return character delimited String of fields
* @see #getUniqueSeparator(String)
*/
public static String convertToDelimitedString(String[] items) throws IllegalThreadStateException{
String debugPrefix = "Message.convertToDelimitedString() ";
StringBuffer result = new StringBuffer();
if(items==null || items.length==0){
System.err.println(debugPrefix+" The array items is null or 0-length!");
return "";
}
for (int i = 0; i < items.length; i++) {
result.append(items[i]);
}
String separator = getUniqueSeparator(result.toString());
if(separator==null){
String message = "Can't deduce a delimiter!!! Add more delimiters to array: "+SEPS;
System.err.println(debugPrefix+message);
throw new IllegalThreadStateException(message);
}else{
result.delete(0, result.length());
for (int i = 0; i < items.length; i++) {
result.append(separator + items[i]);
}
}
return result.toString();
}
/**
* @param UIDList ArrayList, a list of UID<br>
*
* @return String, a string of format: ";UID;UID;UID", The first character is the delimiter
* used to delimit each item followed by each item separated by the delimiter.
*/
public static final String convertToDelimitedString(List<String> UIDList) throws IllegalThreadStateException{
if(UIDList != null && UIDList.size() > 0){
return convertToDelimitedString(UIDList.toArray(new String[0]));
}else{
return "";
}
}
/**
* @param text expected format: ";UID;UID;UID"<br>
* The first character is the delimiter used to delimit each item followed by each item separated by the delimiter.
* @return ArrayList with 0 or more String elements. It is possible that 0-length String elements might exist
* in the returned ArrayList.
*/
public static final ArrayList<String> parseStringArrayList(String text){
ArrayList<String> list = new ArrayList<String>(0);
if(text != null && text.length() > 1){
String sep = String.valueOf(text.charAt(0));
String uids = text.substring(1);
String[] ids = uids.split(sep);
for(int i = 0; i<ids.length;i++) {
//test for null might be over protective :)
list.add(ids[i] != null ? ids[i]: "");
}
}
return list;
}
}