回傳值 |
方法名 |
說明 |
|
|
|
UiCollection: |
|
|
UiObject |
getChildByDescription(UiSelector
childPattern, String text) |
在群集中找尋符合條件的子物件 [特殊描述] |
UiObject |
getChildByInstance(UiSelector
childPattern, int instance) |
在群集中找尋符合條件的子物件 [同一種物件中第幾個物件] |
UiObject |
getChildByText(UiSelector
childPattern, String text) |
在群集中找尋符合條件的子物件 [文字內容] |
UiObject |
getChild(UiSelector
childPattern) |
在群集中找尋符合條件的子物件 [自訂條件] |
int |
getChildCount(UiSelector
childPattern) |
取得群集中的指定子物件個數 |
int |
getChildCount() |
取得群集中的子物件個數 |
|
|
|
UiWatcher: |
|
|
boolean |
checkForCondition() |
檢查條件 |
boolean |
hasAnyWatcherTriggered () |
是否有監聽器觸發過 |
boolean |
hasWatcherTriggered (String watcherName) |
是否有指定的監聽器觸發過 |
void |
registerWatcher (String name, UiWatcher watcher) |
設置監聽器 [名字] |
void |
removeWatcher (String name) |
移除指定監聽器 [名字] |
void |
resetWatcherTriggers () |
重置所有監聽器 [消除所有觸發過的紀錄] |
void |
runWatchers () |
強制執行所有監聽器 |
| | |
Configurator: |
|
|
long |
getActionAcknowledgmentTimeout() |
取得動作與動作的時間間隔 [默認3秒] |
Configurator |
getInstance() |
Configurator實例化 |
long |
getKeyInjectionDelay() |
取得輸入文字內容的時間間隔 [默認0秒] |
long |
getScrollAcknowledgmentTimeout() |
取得每次滾動的時間間隔 [默認0.2秒] |
int |
getToolType() |
取得使用的工具類型
[0/1/2/3/4 unknown/finger/stylus/mouse/eraser ] |
long |
getWaitForIdleTimeout() |
取得等待空閒的所需時間 [默認10秒] |
long |
getWaitForSelectorTimeout() |
取得尋找物件時的所需時間 [默認10秒] |
Configurator |
setActionAcknowledgmentTimeout(long timeout) |
設定動作與動作的時間間隔 |
Configurator |
setKeyInjectionDelay(long delay) |
設定輸入文字內容的時間間隔 |
Configurator |
setScrollAcknowledgmentTimeout(long timeout) |
設定每次滾動的時間間隔 |
Configurator |
setToolType(int toolType) |
設定使用的工具類型
[0/1/2/3/4 unknown/finger/stylus/mouse/eraser ] |
Configurator |
setWaitForIdleTimeout(long timeout) |
設定等待空閒的所需時間 |
Configurator |
setWaitForSelectorTimeout(long timeout) |
設定尋找物件時的所需時間 |
@RunWith(AndroidJUnit4.class)
public class ExampleInstrumentedTest {
// 初始化/實例化(重要)
UiDevice uiDevice = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation());
final String mTag="mtag";
@Test
public void apitest() throws UiObjectNotFoundException {
//UiCollection相關
UiCollection uiCollection=new UiCollection(new UiSelector().text("test"));
//在群集中找尋符合條件的子物件 (雙重條件)
uiCollection.getChildByText(new UiSelector().className("testClass"),"text").click();
//在群集中找尋符合條件的子物件 (自訂條件)
uiCollection.getChild(new UiSelector().text("SUBtest")).click();
//取得子物件個數
int count=uiCollection.getChildCount();
//UiWatcher相關
UiWatcher uiWatcher = new UiWatcher() {
@Override
public boolean checkForCondition() {
if (uiDevice.hasObject(By.text("test"))) {
uiDevice.pressBack();
return true;
}
return false;
}
};
uiDevice.registerWatcher("debug",uiWatcher);
//這裡強制讓它執行 (一般會是在執行腳本時 如果找不到物件時即會觸發)
uiDevice.runWatchers();
//Log會印出False (如果將上述返回值設定相反 會印出True)
if(uiDevice.hasWatcherTriggered("debug"))
Log.i(mTag, "deugtest: has true");
else
Log.i(mTag, "deugtest: has false");
if(uiDevice.hasAnyWatcherTriggered())
Log.i(mTag, "deugtest: has any true");
else
Log.i(mTag, "deugtest: has any false");
//Configurator相關
Configurator configurator=Configurator.getInstance();
//一般都會是1 (模擬手指) 但是設定別種依然不影響畫面滑動和選取
configurator.getToolType();
//取得各種時間 (毫秒)
long a=configurator.getActionAcknowledgmentTimeout();
long b=configurator.getKeyInjectionDelay();
long c=configurator.getScrollAcknowledgmentTimeout();
long d=configurator.getWaitForIdleTimeout();
long e=configurator.getWaitForSelectorTimeout();
Log.i(mTag, "apitest: "+a+" "+b+" "+c+" "+d+" "+e);
}
}