|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.jayway.android.robotium.solo.Solo
com.baidu.cafe.local.LocalLib
public class LocalLib
It can help you as below. 1.get or set a object's private property and invoke a object's private function 2.find view by text or resid 3.get views which is generated dynamically 4.record human operations and generate Cafe codes
Nested Class Summary | |
---|---|
static interface |
LocalLib.WaitCallBack
|
Field Summary | |
---|---|
protected java.lang.Object |
mActivitiyUtils
|
protected java.lang.Object |
mAsserter
|
protected java.lang.Object |
mChecker
|
protected java.lang.Object |
mClicker
|
protected java.lang.Object |
mDialogUtils
|
static android.app.Instrumentation |
mInstrumentation
|
static java.lang.String |
mPackageName
|
protected java.lang.Object |
mPresser
|
protected java.lang.Object |
mScroller
|
protected java.lang.Object |
mSearcher
|
protected java.lang.Object |
mSender
|
protected java.lang.Object |
mSetter
|
protected java.lang.Object |
mSleeper
|
static java.lang.String |
mTestCaseName
|
protected java.lang.Object |
mTextEnterer
|
static int[] |
mTheLastClick
|
protected static java.lang.Object |
mViewFetcher
|
protected java.lang.Object |
mWaiter
|
protected java.lang.Object |
mWebUtils
|
static int |
SEARCHMODE_COMPLETE_MATCHING
|
static int |
SEARCHMODE_DEFAULT
|
static int |
SEARCHMODE_INCLUDE_MATCHING
|
static int |
WAIT_INTERVAL
|
Fields inherited from class com.jayway.android.robotium.solo.Solo |
---|
activityUtils, asserter, checker, clicker, CLOSED, DELETE, dialogUtils, DOWN, ENTER, getter, instrumentation, LANDSCAPE, LEFT, MENU, OPENED, PORTRAIT, presser, RIGHT, screenshotTaker, scroller, searcher, sender, setter, sleeper, textEnterer, UP, viewFetcher, waiter, webUrl, webUtils |
Constructor Summary | |
---|---|
LocalLib(android.app.Instrumentation instrumentation,
android.app.Activity activity)
|
Method Summary | ||
---|---|---|
void |
beginRecordCode()
add listeners on all views for generating Cafe code automatically |
|
void |
clickInListWithFamilyString(int position,
java.lang.String familyString)
|
|
void |
clickOn(java.lang.String className,
java.lang.String familyString,
boolean longClick)
Clicks on a View of a specific class, with a certain
familyString. |
|
boolean |
clickOnExpandableListView(java.lang.String familyString,
int flatListPosition)
|
|
void |
clickOnScreenDown()
click on screen, the point is on the down |
|
void |
clickOnScreenLeft()
click on screen, the point is on the left |
|
void |
clickOnScreenRight()
click on screen, the point is on the right |
|
void |
clickOnScreenUp()
click on screen, the point is on the up |
|
void |
clickOnTab(int index,
int item)
Click on a tab with a certain item |
|
void |
clickOnViewWithoutScroll(android.view.View view,
boolean longClick)
|
|
void |
clickOnWebElementByFamilyString(java.lang.String familyString)
Clicks on the WebElement by the given family string. |
|
void |
clickViaPerformClick(android.view.View view,
boolean longClick)
|
|
boolean |
clickViewById(java.lang.String resId)
click a specified view |
|
boolean |
clickViewById(java.lang.String resId,
int index)
|
|
void |
clickViewWithoutAssert(android.view.View view)
|
|
int |
countLevelFromViewToFather(android.view.View view,
java.lang.Class<?> father)
find parent until parent is father or java.lang.Object(to the end) |
|
void |
dragPercent(float fromXPersent,
float toXPersent,
float fromYPersent,
float toYPersent,
int stepCount)
Simulate touching a specific location and dragging to a new location. |
|
void |
dragScreenToDown(int stepCount)
drag on screen to Down |
|
void |
dragScreenToLeft(int stepCount)
drag on screen to Left |
|
void |
dragScreenToRight(int stepCount)
drag on screen to right |
|
void |
dragScreenToUp(int stepCount)
drag on screen to up |
|
void |
dumpActivityText(boolean saveDuplicate)
dump text of activity including webview |
|
void |
dumpPage()
|
|
void |
enterText(java.lang.String familyString,
java.lang.String text,
boolean keepPreviousText)
Sets an EditText text |
|
void |
enterTextInWebElementByFamilyString(java.lang.String familyString,
java.lang.String text)
Enters text in a WebElement by family string |
|
static com.baidu.cafe.utils.ShellExecute.CommandResult |
executeOnDevice(java.lang.String command,
java.lang.String directory)
run shell command with tested app's permission |
|
static com.baidu.cafe.utils.ShellExecute.CommandResult |
executeOnDevice(java.lang.String command,
java.lang.String directory,
long timeout)
run shell command with tested app's permission |
|
void |
finalize()
|
|
java.util.ArrayList<android.view.View> |
findViewsByText(java.lang.String text)
Deprecated. |
|
android.content.pm.ActivityInfo[] |
getActivitiesFromPackage(java.lang.String packageName)
|
|
android.app.Activity |
getActivityAsync(java.lang.String activityName)
you can use this function when getActivtiy is hang. |
|
java.util.ArrayList<java.lang.String> |
getAllClassNamesFromPackage(java.lang.String packageName)
get all class names from a package via its dex file |
|
java.lang.String |
getAppNameByPID(int pid)
|
|
java.util.ArrayList<android.widget.TabWidget> |
getCurrentTabs()
Returns an ArrayList with the Tab located in the current activity |
|
int |
getCurrentViewIndex(android.view.View view)
get view index by its class at current activity |
|
|
getCurrentViews(java.lang.Class<T> classToFilterBy,
boolean visible)
|
|
float |
getDisplayX()
|
|
float |
getDisplayY()
|
|
static double |
getDistance(float x1,
float y1,
float x2,
float y2)
|
|
java.lang.String |
getFamilyString(android.view.View v)
|
|
protected java.lang.Object |
getField(java.lang.Object arg0,
java.lang.String arg1)
|
|
android.view.View |
getFocusView(java.util.ArrayList<android.view.View> views)
|
|
android.app.Instrumentation |
getInstrumentation()
|
|
java.lang.Object |
getListener(android.view.View view,
java.lang.Class<?> targetClass,
java.lang.String fieldName)
Get listener from view. |
|
void |
getNewViewsBegin()
call this function before new views appear |
|
java.util.ArrayList<android.view.View> |
getNewViewsEnd()
call this function after new views appear |
|
static java.lang.Object |
getObjectProperty(java.lang.Object owner,
int classLevel,
java.lang.String fieldName)
get object's private property |
|
static int |
getPackageRcv(java.lang.String packageName)
count how many bytes from tcp app received until now |
|
static int |
getPackageSnd(java.lang.String packageName)
count how many bytes from tcp app sent until now |
|
static java.util.ArrayList<java.lang.String> |
getPropertyNameByType(java.lang.Object owner,
int classLevel,
java.lang.Class<?> type)
get object's private property by type |
|
static java.util.ArrayList<java.lang.String> |
getPropertyNameByValue(java.lang.Object owner,
int classLevel,
java.lang.Class<?> valueType,
java.lang.Object value)
|
|
android.view.View |
getRecentDecorView()
|
|
static android.view.View |
getRecentDecorView(android.view.View[] views)
Returns the most recent DecorView |
|
java.lang.String |
getRIdNameByValue(java.lang.String packageName,
int value)
|
|
java.lang.String |
getStringFromArguments(java.lang.String key)
|
|
android.widget.TabWidget |
getTab(int index)
This method returns a tab with a certain index. |
|
java.lang.String |
getTestedRString(java.lang.String stringName)
Deprecated. |
|
java.lang.String |
getTestRString(java.lang.String stringName)
get R.string.yourTargetString from test package |
|
android.view.View |
getViewByFamilyString(java.lang.String familyString,
java.lang.String className)
This method is protected by assert. |
|
android.view.View |
getViewById(java.lang.String resId)
Get view by ID |
|
android.view.View |
getViewById(java.lang.String resId,
int index)
Get view by ID |
|
android.view.View |
getViewById(java.lang.String resId,
int index,
int searchMode)
Get View By Id |
|
android.view.View |
getViewByRString(java.lang.String R)
|
|
static int[] |
getViewCenter(android.view.View view)
|
|
|
getViews(java.lang.Class<T> classToFilterBy,
boolean onlySufficientlyVisible)
|
|
java.lang.String |
getViewText(android.view.View view)
|
|
java.util.ArrayList<java.lang.String> |
getWebElementsString()
|
|
static android.view.View[] |
getWindowDecorViews()
Returns the WindorDecorViews shown on the screen |
|
void |
hideInputMethod()
|
|
void |
hideInputMethod(android.widget.EditText editText)
|
|
protected static java.lang.Object |
invoke(java.lang.Object arg0,
java.lang.String arg1)
|
|
protected static java.lang.Object |
invoke(java.lang.Object arg0,
java.lang.String arg1,
java.lang.Class<?>[] arg2,
java.lang.Object[] arg3)
|
|
java.lang.Object |
invokeObjectMethod(java.lang.Object owner,
int classLevel,
java.lang.String methodName,
java.lang.Class<?>[] parameterTypes,
java.lang.Object[] parameters)
invoke object's private method |
|
void |
isInputMethodShown()
|
|
boolean |
isInScreen(android.view.View view)
|
|
boolean |
isMenu(android.view.View view)
|
|
boolean |
isScrollStoped(android.widget.ScrollView scrollView)
This method will cost 100ms to judge whether scrollview stoped. |
|
boolean |
isSize0(android.view.View view)
|
|
boolean |
isViewCovered(android.view.View view)
|
|
|
removeInvisibleViews(java.util.ArrayList<T> viewList)
|
|
|
removeOutOfScreenViews(java.util.ArrayList<T> viewList)
|
|
boolean |
requestFocus(android.view.View view)
|
|
void |
runOnMainSync(java.lang.Runnable r)
|
|
void |
runOnUiThread(java.lang.Runnable r)
|
|
void |
screenShot(java.lang.String fileName)
|
|
void |
screenShotNamedCaseName(java.lang.String suffix)
|
|
void |
screenShotNamedSuffix(java.lang.String suffix)
|
|
void |
screenShotNamedTimeStamp()
Take an activity snapshot named 'timestamp', and you can get it by adb pull /data/data/ |
|
void |
scrollListToLineWithFamilyString(int line,
java.lang.String familyString)
|
|
void |
scrollScrollViewToWithFamilyString(java.lang.String familyString,
int x,
int y)
|
|
boolean |
searchTextFromParent(android.view.View parent,
java.lang.String text,
int searchMode)
Search text from parent view |
|
void |
sendMultiTouchMotionEvent(int pointerNumber,
int[] start,
int[] end,
int step,
int downDelay,
int moveDelay,
int upDelay)
send a Multi-Touch Motion Event |
|
boolean |
setCheckedTextView(int index,
boolean checked)
set CheckedTextView checked or not |
|
void |
setListener(android.view.View view,
java.lang.Class<?> targetClass,
java.lang.String fieldName,
java.lang.Object value)
This method is used to replace listener.setOnListener(). |
|
void |
setObjectProperty(java.lang.Object owner,
int classLevel,
java.lang.String fieldName,
java.lang.Object value)
set object's private property with custom value |
|
void |
showInputMethod(android.widget.EditText editText)
|
|
void |
takeActivitySnapshot(java.lang.String path)
Take an activity snapshot. |
|
void |
takeWebViewSnapshot(android.webkit.WebView webView,
java.lang.String savePath)
|
|
float |
toPercentX(float x)
|
|
float |
toPercentY(float y)
|
|
float |
toScreenX(float persent)
|
|
float |
toScreenY(float persent)
|
|
void |
traceFPS()
print FPS of current activity at logcat with TAG FPS |
|
void |
travel()
|
|
void |
travel(int depth)
|
|
void |
travel(int depth,
java.lang.String username,
java.lang.String password)
|
|
boolean |
waitEqual(java.lang.String expect,
LocalLib.WaitCallBack callBack)
Waits for value from WaitCallBack.getActualVaule() equaling to expect value until time is out. |
|
boolean |
waitEqual(java.lang.String expect,
LocalLib.WaitCallBack callBack,
long timeout)
Waits for value from WaitCallBack.getActualVaule() equaling to expect value until time is out. |
|
void |
waitForTextByFamilyString(java.lang.String familyString,
java.lang.String text)
This method is protected by assert. |
|
boolean |
waitForTextVanish(java.lang.String text)
Waits for a text to vanish. |
|
boolean |
waitForTextVanish(java.lang.String text,
int minimumNumberOfMatches)
Waits for a text to vanish. |
|
boolean |
waitForTextVanish(java.lang.String text,
int minimumNumberOfMatches,
long timeout)
Waits for a text to vanish. |
|
boolean |
waitForTextVanish(java.lang.String text,
int minimumNumberOfMatches,
long timeout,
boolean scroll)
Waits for a text to vanish. |
|
boolean |
waitForView(java.lang.String className,
int index,
int timeout,
boolean scroll)
|
|
android.view.View |
waitForViewByFamilyString(java.lang.String familyString,
java.lang.String className)
This method is protected by assert. |
|
boolean |
waitforViewById(java.lang.String resId)
wait for a specified view |
|
boolean |
waitforViewById(java.lang.String resId,
long timeout)
wait for a specified view |
|
boolean |
waitforViewById(java.lang.String resId,
long timeout,
boolean scroll)
wait for a specified view |
|
boolean |
waitforViewById(java.lang.String resId,
long timeout,
boolean scroll,
boolean onlyVisible)
wait for a specified view |
|
boolean |
waitForViewVanishById(java.lang.String resId)
Waits for a view to vanish |
|
boolean |
waitForViewVanishById(java.lang.String resId,
long timeout)
Waits for a view to vanish |
|
boolean |
waitForViewVanishById(java.lang.String resId,
long timeout,
boolean scroll)
Waits for a view to vanish |
|
boolean |
waitForViewVanishById(java.lang.String resId,
long timeout,
boolean scroll,
boolean onlyvisible)
Waits for a view vanished |
|
com.jayway.android.robotium.solo.WebElement |
waitForWebElementByFamilyString(java.lang.String familyString,
int timeout,
boolean scroll)
Waits for a WebElement by family string. |
|
void |
zoom(int[] start,
int[] end)
zoom screen |
Methods inherited from class com.jayway.android.robotium.solo.Solo |
---|
assertCurrentActivity, assertCurrentActivity, assertCurrentActivity, assertCurrentActivity, assertMemoryNotLow, clearEditText, clearEditText, clearTextInWebElement, clickInList, clickInList, clickLongInList, clickLongInList, clickLongInList, clickLongOnScreen, clickLongOnScreen, clickLongOnText, clickLongOnText, clickLongOnText, clickLongOnText, clickLongOnTextAndPress, clickLongOnView, clickLongOnView, clickOnActionBarHomeButton, clickOnActionBarItem, clickOnButton, clickOnButton, clickOnCheckBox, clickOnEditText, clickOnImage, clickOnImageButton, clickOnMenuItem, clickOnMenuItem, clickOnRadioButton, clickOnScreen, clickOnText, clickOnText, clickOnText, clickOnToggleButton, clickOnView, clickOnView, clickOnWebElement, clickOnWebElement, clickOnWebElement, clickOnWebElement, drag, enterText, enterText, enterTextInWebElement, finishOpenedActivities, getActivityMonitor, getButton, getButton, getButton, getCurrentActivity, getCurrentViews, getCurrentViews, getCurrentViews, getCurrentWebElements, getCurrentWebElements, getEditText, getEditText, getEditText, getImage, getImageButton, getString, getText, getText, getText, getTopParent, getView, getView, getView, getViews, getViews, getWebElement, getWebUrl, goBack, goBackToActivity, hideSoftKeyboard, isCheckBoxChecked, isCheckBoxChecked, isRadioButtonChecked, isRadioButtonChecked, isSpinnerTextSelected, isSpinnerTextSelected, isTextChecked, isToggleButtonChecked, isToggleButtonChecked, pressMenuItem, pressMenuItem, pressSpinnerItem, scrollDown, scrollDownList, scrollDownList, scrollListToBottom, scrollListToBottom, scrollListToLine, scrollListToLine, scrollListToTop, scrollListToTop, scrollToBottom, scrollToSide, scrollToTop, scrollUp, scrollUpList, scrollUpList, scrollViewToSide, searchButton, searchButton, searchButton, searchButton, searchEditText, searchText, searchText, searchText, searchText, searchText, searchToggleButton, searchToggleButton, sendKey, setActivityOrientation, setDatePicker, setDatePicker, setProgressBar, setProgressBar, setSlidingDrawer, setSlidingDrawer, setTimePicker, setTimePicker, sleep, takeScreenshot, takeScreenshot, takeScreenshot, typeText, typeText, typeTextInWebElement, typeTextInWebElement, typeTextInWebElement, waitForActivity, waitForActivity, waitForActivity, waitForActivity, waitForCondition, waitForDialogToClose, waitForDialogToOpen, waitForFragmentById, waitForFragmentById, waitForFragmentByTag, waitForFragmentByTag, waitForLogMessage, waitForLogMessage, waitForText, waitForText, waitForText, waitForText, waitForView, waitForView, waitForView, waitForView, waitForView, waitForWebElement, waitForWebElement, waitForWebElement |
Methods inherited from class java.lang.Object |
---|
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final int SEARCHMODE_COMPLETE_MATCHING
public static final int SEARCHMODE_DEFAULT
public static final int SEARCHMODE_INCLUDE_MATCHING
public static final int WAIT_INTERVAL
public static java.lang.String mTestCaseName
public static java.lang.String mPackageName
public static int[] mTheLastClick
public static android.app.Instrumentation mInstrumentation
protected java.lang.Object mAsserter
protected static java.lang.Object mViewFetcher
protected java.lang.Object mChecker
protected java.lang.Object mClicker
protected java.lang.Object mPresser
protected java.lang.Object mSearcher
protected java.lang.Object mActivitiyUtils
protected java.lang.Object mDialogUtils
protected java.lang.Object mTextEnterer
protected java.lang.Object mScroller
protected java.lang.Object mSleeper
protected java.lang.Object mWaiter
protected java.lang.Object mSetter
protected java.lang.Object mWebUtils
protected java.lang.Object mSender
Constructor Detail |
---|
public LocalLib(android.app.Instrumentation instrumentation, android.app.Activity activity)
Method Detail |
---|
public java.lang.Object invokeObjectMethod(java.lang.Object owner, int classLevel, java.lang.String methodName, java.lang.Class<?>[] parameterTypes, java.lang.Object[] parameters) throws java.lang.SecurityException, java.lang.NoSuchMethodException, java.lang.IllegalArgumentException, java.lang.IllegalAccessException, java.lang.reflect.InvocationTargetException
owner
- : target objectclassLevel
- : 0 means itself, 1 means it's father, and so on...methodName
- : name of the target methodparameterTypes
- : types of the target method's parametersparameters
- : parameters of the target method
java.lang.NoSuchMethodException
java.lang.SecurityException
java.lang.reflect.InvocationTargetException
java.lang.IllegalAccessException
java.lang.IllegalArgumentException
public void setObjectProperty(java.lang.Object owner, int classLevel, java.lang.String fieldName, java.lang.Object value) throws java.lang.SecurityException, java.lang.NoSuchFieldException, java.lang.IllegalArgumentException, java.lang.IllegalAccessException
owner
- : target objectclassLevel
- : 0 means itself, 1 means it's father, and so on...fieldName
- : name of the target fieldvalue
- : new value of the target field
java.lang.NoSuchFieldException
java.lang.SecurityException
java.lang.IllegalAccessException
java.lang.IllegalArgumentException
public static java.lang.Object getObjectProperty(java.lang.Object owner, int classLevel, java.lang.String fieldName) throws java.lang.SecurityException, java.lang.NoSuchFieldException, java.lang.IllegalArgumentException, java.lang.IllegalAccessException
owner
- : target objectclassLevel
- : 0 means itself, 1 means it's father, and so on...fieldName
- : name of the target field
java.lang.NoSuchFieldException
java.lang.SecurityException
java.lang.IllegalAccessException
java.lang.IllegalArgumentException
public static java.util.ArrayList<java.lang.String> getPropertyNameByType(java.lang.Object owner, int classLevel, java.lang.Class<?> type)
owner
- target objectclassLevel
- 0 means itself, 1 means it's father, and so on...typeString
- e.g. java.lang.String
public static java.util.ArrayList<java.lang.String> getPropertyNameByValue(java.lang.Object owner, int classLevel, java.lang.Class<?> valueType, java.lang.Object value) throws java.lang.IllegalArgumentException, java.lang.IllegalAccessException
owner
- target objectclassLevel
- 0 means itself, 1 means it's father, and so on...valueType
- e.g. String.classvalue
- value of the target fields
java.lang.IllegalAccessException
java.lang.IllegalArgumentException
public void beginRecordCode()
public java.lang.Object getListener(android.view.View view, java.lang.Class<?> targetClass, java.lang.String fieldName)
view
- target viewtargetClass
- the class which fieldName belong tofieldName
- target listener. e.g. mOnClickListener, mOnLongClickListener,
mOnTouchListener, mOnKeyListener
public void setListener(android.view.View view, java.lang.Class<?> targetClass, java.lang.String fieldName, java.lang.Object value)
view
- targetClass
- fieldName
- value
- public int countLevelFromViewToFather(android.view.View view, java.lang.Class<?> father)
view
- target viewfather
- target father
public java.lang.String getViewText(android.view.View view)
@Deprecated public java.util.ArrayList<android.view.View> findViewsByText(java.lang.String text)
text
- the text of the view
public void getNewViewsBegin()
public java.util.ArrayList<android.view.View> getNewViewsEnd()
public java.lang.String getRIdNameByValue(java.lang.String packageName, int value)
public java.lang.String getTestRString(java.lang.String stringName)
stringName
- name of your target string
@Deprecated public java.lang.String getTestedRString(java.lang.String stringName)
stringName
- name of your target string
public android.app.Activity getActivityAsync(java.lang.String activityName)
activityName
- example: the activity "TestAcy" you wanted, the param is
"TestAcy.class.getName()"
public static com.baidu.cafe.utils.ShellExecute.CommandResult executeOnDevice(java.lang.String command, java.lang.String directory)
command
- e.g. new String[]{"ls", "-l"}directory
- e.g. "/sdcard"
public static com.baidu.cafe.utils.ShellExecute.CommandResult executeOnDevice(java.lang.String command, java.lang.String directory, long timeout)
command
- e.g. new String[]{"ls", "-l"}directory
- e.g. "/sdcard"timeout
- Millis. e.g. 5000 means 5s
public boolean waitForViewVanishById(java.lang.String resId)
resId
- the id you see in hierarchy . for example in Launcher
"id/workspace" timeout is default 8000 scroll is default true
only visible is default true
public boolean waitForViewVanishById(java.lang.String resId, long timeout)
resId
- the id you see in hierarchy. for example in Launcher
"id/workspace"timeout
- the delay milliseconds scroll is default true only visible is
default true
public boolean waitForViewVanishById(java.lang.String resId, long timeout, boolean scroll)
resId
- the id you see in hierarchy . for example in Launcher
"id/workspace"timeout
- the delay millisecondsscroll
- true you want to scroll onlyvisible is default true
public boolean waitForViewVanishById(java.lang.String resId, long timeout, boolean scroll, boolean onlyvisible)
resId
- the id you see in hierarchy. for example in Launcher
"id/workspace"timeout
- the delay millisecondsscroll
- true you want to scrollonlyvisible
- true we only deal with the view visible
public boolean waitForTextVanish(java.lang.String text)
text
- the text to wait for
true
if text is shown and false
if it is not
shown before the timeoutpublic boolean waitForTextVanish(java.lang.String text, int minimumNumberOfMatches)
text
- the text to wait forminimumNumberOfMatches
- the minimum number of matches that are expected to be shown.
0
means any number of matches
true
if text is shown and false
if it is not
shown before the timeoutpublic boolean waitForTextVanish(java.lang.String text, int minimumNumberOfMatches, long timeout)
text
- the text to wait forminimumNumberOfMatches
- the minimum number of matches that are expected to be shown.
0
means any number of matchestimeout
- the amount of time in milliseconds to wait
true
if text is shown and false
if it is not
shown before the timeoutpublic boolean waitForTextVanish(java.lang.String text, int minimumNumberOfMatches, long timeout, boolean scroll)
text
- the text to wait forminimumNumberOfMatches
- the minimum number of matches that are expected to be shown.
0
means any number of matchestimeout
- the amount of time in milliseconds to waitscroll
- true
if scrolling should be performed
true
if text is shown and false
if it is not
shown before the timeoutpublic boolean waitEqual(java.lang.String expect, LocalLib.WaitCallBack callBack)
expect
- callBack
-
public boolean waitEqual(java.lang.String expect, LocalLib.WaitCallBack callBack, long timeout)
expect
- callBack
- timeout
-
public void zoom(int[] start, int[] end)
start
- the start position e.g. new int[]{0,0,1,2}; means two pointers
start at {0,0} and {1,2}end
- the end position e.g. new int[]{100,110,200,220}; means two
pointers end at {100,110} and {200,220}public void sendMultiTouchMotionEvent(int pointerNumber, int[] start, int[] end, int step, int downDelay, int moveDelay, int upDelay)
pointerNumber
- the number of pointerstart
- the start position e.g. new int[]{0,0,1,2}; means two pointers
start at {0,0} and {1,2}end
- the end position e.g. new int[]{100,110,200,220}; means two
pointers end at {100,110} and {200,220}step
- the move stepdownDelay
- the delay after down event was sentmoveDelay
- the delay after each move event was sentupDelay
- the delay before sending up eventpublic boolean setCheckedTextView(int index, boolean checked)
index
- checked
-
public java.util.ArrayList<android.widget.TabWidget> getCurrentTabs()
public android.widget.TabWidget getTab(int index)
index
- the index of the Tab
public void clickOnTab(int index, int item)
index
- the index of the tabitem
- the item of the tab will be clickedpublic void clickOnScreenRight()
public void clickOnScreenLeft()
public void clickOnScreenUp()
public void clickOnScreenDown()
public void dragScreenToRight(int stepCount)
public void dragScreenToLeft(int stepCount)
public void dragScreenToUp(int stepCount)
public void dragScreenToDown(int stepCount)
public boolean waitforViewById(java.lang.String resId)
resId
- the id you see in hierarchy. for example in Launcher
"id/workspace" timeout is default 3000 scroll is default true
onlyVisible is default true
public boolean waitforViewById(java.lang.String resId, long timeout)
resId
- the id you see in hierarchy. for example in Launcher
"id/workspace"timeout
- the delay millisecond scroll is default true onlyVisible is
default true
public boolean waitforViewById(java.lang.String resId, long timeout, boolean scroll)
resId
- the id you see in hierarchy. for example in Launcher
"id/workspace"timeout
- the delay millisecondscroll
- true you want to scroll onlyVisible is default true
public boolean waitforViewById(java.lang.String resId, long timeout, boolean scroll, boolean onlyVisible)
resId
- the id you see in hierarchy. for example in Launcher
"id/workspace"timeout
- the delay millisecondscroll
- true you want to scrollonlyVisible
- true we only deal with the view visible
public boolean clickViewById(java.lang.String resId)
resId
- the id you see in hierarchy. for example in Launcher
"id/workspace"
public boolean clickViewById(java.lang.String resId, int index)
resId
- the id you see in hierarchy. for example in Launcher
"id/workspace"index
- Clicks on an resId with a given index.
public android.view.View getViewById(java.lang.String resId)
resId
- resource ID
public android.view.View getViewById(java.lang.String resId, int index)
resId
- resource IDindex
- the index of views
public android.view.View getViewById(java.lang.String resId, int index, int searchMode)
resId
- index
- the index of viewssearchMode
- include SEARCHMODE_COMPLETE_MATCHING, SEARCHMODE_DEFAULT and
SEARCHMODE_INCLUDE_MATCHING
public boolean searchTextFromParent(android.view.View parent, java.lang.String text, int searchMode)
parent
- parent viewtext
- text you want to searchsearchMode
- include SEARCHMODE_COMPLETE_MATCHING, SEARCHMODE_DEFAULT and
SEARCHMODE_INCLUDE_MATCHING
public void screenShotNamedTimeStamp()
public void screenShotNamedCaseName(java.lang.String suffix)
public void screenShotNamedSuffix(java.lang.String suffix)
public void screenShot(java.lang.String fileName)
public void takeWebViewSnapshot(android.webkit.WebView webView, java.lang.String savePath)
public void takeActivitySnapshot(java.lang.String path)
public android.view.View getRecentDecorView()
public java.util.ArrayList<java.lang.String> getAllClassNamesFromPackage(java.lang.String packageName)
packageName
- e.g. "com.baidu.chunlei.exercise.test"
public void hideInputMethod()
public void hideInputMethod(android.widget.EditText editText)
public void showInputMethod(android.widget.EditText editText)
public void isInputMethodShown()
public android.content.pm.ActivityInfo[] getActivitiesFromPackage(java.lang.String packageName)
public static android.view.View[] getWindowDecorViews()
public static android.view.View getRecentDecorView(android.view.View[] views)
views
- the views to check
public void traceFPS()
public static int getPackageRcv(java.lang.String packageName)
packageName
-
public static int getPackageSnd(java.lang.String packageName)
packageName
-
public java.lang.String getAppNameByPID(int pid)
public float getDisplayX()
public float getDisplayY()
public float toScreenX(float persent)
public float toScreenY(float persent)
public float toPercentX(float x)
public float toPercentY(float y)
public <T extends android.view.View> java.util.ArrayList<T> removeInvisibleViews(java.util.ArrayList<T> viewList)
public boolean requestFocus(android.view.View view)
public boolean isMenu(android.view.View view)
public <T extends android.view.View> java.util.ArrayList<T> getCurrentViews(java.lang.Class<T> classToFilterBy, boolean visible)
public void clickOn(java.lang.String className, java.lang.String familyString, boolean longClick)
View
of a specific class, with a certain
familyString.
This method is protected by assert.
className
- what kind of View
to click, e.g. Button.class
or ImageView.class
familyString
- the family relationship of the View
to be clickedlongClick
- true means long clickpublic <T extends android.view.View> java.util.ArrayList<T> getViews(java.lang.Class<T> classToFilterBy, boolean onlySufficientlyVisible)
public void clickViaPerformClick(android.view.View view, boolean longClick)
public void clickOnViewWithoutScroll(android.view.View view, boolean longClick)
public static int[] getViewCenter(android.view.View view)
public android.view.View getViewByFamilyString(java.lang.String familyString, java.lang.String className)
public android.view.View waitForViewByFamilyString(java.lang.String familyString, java.lang.String className)
familyString
- className
-
public void waitForTextByFamilyString(java.lang.String familyString, java.lang.String text)
familyString
- text
- public void enterText(java.lang.String familyString, java.lang.String text, boolean keepPreviousText)
EditText
text
familyString
- the familyString of the EditText
text
- the text that should be setpublic boolean clickOnExpandableListView(java.lang.String familyString, int flatListPosition)
public void runOnMainSync(java.lang.Runnable r)
public void runOnUiThread(java.lang.Runnable r)
public android.app.Instrumentation getInstrumentation()
public android.view.View getViewByRString(java.lang.String R)
R
-
public android.view.View getFocusView(java.util.ArrayList<android.view.View> views)
public boolean isInScreen(android.view.View view)
public <T extends android.view.View> java.util.ArrayList<T> removeOutOfScreenViews(java.util.ArrayList<T> viewList)
public void scrollListToLineWithFamilyString(int line, java.lang.String familyString)
public void scrollScrollViewToWithFamilyString(java.lang.String familyString, int x, int y)
public boolean isViewCovered(android.view.View view)
view
-
public boolean isScrollStoped(android.widget.ScrollView scrollView)
scrollView
-
public boolean isSize0(android.view.View view)
public boolean waitForView(java.lang.String className, int index, int timeout, boolean scroll)
public java.lang.String getFamilyString(android.view.View v)
public void clickInListWithFamilyString(int position, java.lang.String familyString)
public void dragPercent(float fromXPersent, float toXPersent, float fromYPersent, float toYPersent, int stepCount)
TouchUtils.java
in the Android Open
Source Project, and modified here.
fromX
- X coordinate of the initial touch, in screen coordinatestoX
- Xcoordinate of the drag destination, in screen coordinatesfromY
- X coordinate of the initial touch, in screen coordinatestoY
- Y coordinate of the drag destination, in screen coordinatesstepCount
- stepCount How many move steps to include in the dragpublic static double getDistance(float x1, float y1, float x2, float y2)
public int getCurrentViewIndex(android.view.View view)
view
-
public com.jayway.android.robotium.solo.WebElement waitForWebElementByFamilyString(java.lang.String familyString, int timeout, boolean scroll)
familyString
- timeout how long the function waits if there is no satisfied
web element scroll true if need to scroll the screen, false
otherwise
public void clickOnWebElementByFamilyString(java.lang.String familyString)
webElement
- the WebElement to clickpublic void enterTextInWebElementByFamilyString(java.lang.String familyString, java.lang.String text)
familyString
- the String object, used to locates an identified elementtext
- the text to enterpublic void dumpPage()
public java.util.ArrayList<java.lang.String> getWebElementsString()
public void dumpActivityText(boolean saveDuplicate)
saveDuplicate
- true means save duplicate textpublic void clickViewWithoutAssert(android.view.View view)
public void travel(int depth, java.lang.String username, java.lang.String password)
depth
- username
- password
- public void travel(int depth)
public void travel()
public java.lang.String getStringFromArguments(java.lang.String key)
public void finalize() throws java.lang.Throwable
finalize
in class com.jayway.android.robotium.solo.Solo
java.lang.Throwable
protected java.lang.Object getField(java.lang.Object arg0, java.lang.String arg1)
protected static java.lang.Object invoke(java.lang.Object arg0, java.lang.String arg1)
protected static java.lang.Object invoke(java.lang.Object arg0, java.lang.String arg1, java.lang.Class<?>[] arg2, java.lang.Object[] arg3)
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |