UIautomator中的UiDevice相關的方法知識點

UiDevice


1.UiDevice :在測試中可以通過UiDevice對象去對設備的控制,如點亮屏幕、鎖屏、旋轉方向、截圖等,點擊home鍵、back鍵、menu鍵等。可以通過getUiDevice()來獲取UiDevice對象。UiDevice=getUiDevice()  
如:getUiDevice.pressHome();點擊home鍵
總結:UIDevice就是獲取android真是的設備。可以執行和其他因素無關的操作,就是可以執行設備硬件本來就具有的操作。
void clearLastTraversedText()   從上一個用戶界面遍歷事件中清除文本
boolean click(int x, int y)  按用戶指定的任意座標執行點擊事件
boolean drag(int startX, int startY, int endX, int endY, int steps) 從一個位置拖拽到另外一個位置
steps爲拖拽的步數
void dumpWindowHierarchy(File dest)  存儲當前的window界面層次信息到一個文件中。
void dumpWindowHierarchy(String fileName) 方法已經過時,使用 dumpWindowHierarchy(File) or dumpWindowHierarchy(OutputStream) 來替代。
void dumpWindowHierarchy(OutputStream out) 同樣是輸出一個當前的window的層次信息
UiObject2 findObject(BySelector selector) 返回第一個符合標準的第一個對象。(第一個對象)
UiObject findObject(UiSelector selector)返回一個對象代表的是一個界面,匹配指定的標準。(界面對象)
List<UiObject2> findObjects(BySelector selector) 返回所有符合標準的對象(所有的對象)
void freezeRotation() 禁用該傳感器和凍結設備的旋轉在當前的旋轉的方向的狀態下。
String getCurrentActivityName()  當前activity的名字,方法過時,結果不可靠
String getCurrentPackageName() 獲取當前包的名字
int getDisplayHeight() 獲取顯示器的高度,以像素爲單位,根據顯示器的當前的方向調整大小。
int getDisplayRotation() 獲取顯示器的方向
Point getDisplaySizeDp()  返回在DP顯示尺寸(設備獨立像素)返回的顯示大小調整每個屏幕旋轉。這也將返回屏幕的實際大小,而不是調整每個系統的裝飾(如狀態欄)。
int getDisplayWidth() 返回顯示器的寬度
static UiDevice getInstance(Instrumentation instrumentation)
檢索一個UIDevice的單例實例。
String getLastTraversedText() 檢索文本從最後UI界面的遍歷中獲得。
String getLauncherPackageName() 獲取默認的啓動包的名字
String getProductName() 獲取設別產品的名字的名字
boolean hasAnyWatcherTriggered() 檢查是否有任何註冊uiwatcher引發。
(應該是ui對監聽者的註冊)
boolean hasObject(BySelector selector) 返回是否有相應的對象進行匹配。
boolean hasWatcherTriggered(String watcherName) 返回是否有相應的uI觀察着已經觸發
boolean isNaturalOrientation() 返回設備的自然的方向
boolean isScreenOn()  檢查電源管理器是否在屏幕上。
boolean openNotification() 打開通知。
boolean openQuickSettings()  打開快速設置陰影。(即爲從上面拉下來的界面?)
<R> R performActionAndWait(Runnable action, EventCondition<R> condition, long timeout)執行所提供的操作,並等待要滿足的條件。
boolean pressBack() 返回鍵
boolean pressDPadCenter() 回車鍵
boolean pressDPadDown()  模擬一個短按下按鈕。
boolean pressDPadLeft() 模擬左鍵短按。
boolean pressDPadRight() 模擬右鍵短按。
boolean pressDPadUp() 模擬上鍵短按。
boolean pressDelete()  模擬一個簡短的按上按鈕。
boolean pressEnter() 模擬輸入鍵的短按。
boolean pressHome() home鍵短按
boolean pressKeyCode(int keyCode, int metaState) 
boolean pressKeyCode(int keyCode)  使用一個密鑰代碼模擬短按下。
boolean pressMenu()  模擬菜單按鈕的短按下。
boolean pressRecentApps() 模擬最近的apps按鈕的短按下
boolean pressSearch()  模擬搜索按鈕的短按下(段按下就是就是點擊)
void registerWatcher(String name, UiWatcher watcher) 註冊一個uiwatcher自動運行,測試框架1是無法使用uiselector找到匹配。
void removeWatcher(String name) 移除一個已經和註冊的 UiWatcher
void resetWatcherTriggers() 從新設置已經觸發的Uiwatcher
void runWatchers() 強迫所有的已經註冊的watcher運行。
void setCompressedLayoutHeirarchy(boolean compressed) 啓用或禁用佈局層次壓縮。
void setOrientationLeft() 模擬設備定向想做和同時凍結方向通過是傳感器不可使用。
void setOrientationNatural()  設置屏幕的方向爲自然的方向
void setOrientationRight() 設置屏幕的方向向右邊
void sleep() 這種方法只需按power按鈕,如果屏幕是開的,變成了關的,然後其他事情都是不可以做的。
boolean swipe(Point[] segments, int segmentSteps)執行點在點數組中
boolean swipe(int startX, int startY, int endX, int endY, int steps)
執行從一個座標到另一個使用的步驟,以確定平滑度和速度的一個座標。
boolean takeScreenshot(File storePath)
採取截圖當前窗口並將其存儲爲1.0f png默認尺度(原始尺寸)和90%質量是使用截圖調整每個屏幕旋轉
boolean takeScreenshot(File storePath, float scale, int quality)
採取截圖當前串口並且將它保存成爲png格式的圖片,截圖適配滅一個方向的屏幕。
void unfreezeRotation()
重新使傳感器和聯合國凍結裝置旋轉使其內容與設備的物理旋轉。
<R> R wait(SearchCondition<R> condition, long timeout)
等待得到滿足的條件。
void waitForIdle(long timeout)
void waitForIdle() 等待當前引用程序的關閉
boolean waitForWindowUpdate(String packageName, long timeout)
等待窗口內容的更新時間發生
void wakeUp() 按下power按鈕,如果屏幕是關閉的,就會打開。



總結:UiDevice就是對物理手機設備的操作。





發佈了144 篇原創文章 · 獲贊 11 · 訪問量 24萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章