uiautomator2常用語法

連接設(shè)備

使用USB連接:

d=u2.connect_USB('148b4090')輸入手機序列號

d是給當(dāng)前連接設(shè)備定位一個變量

獲取設(shè)備的信息:

print(d.info)

獲取當(dāng)前APP的活動窗口和包名:

print(d.current_app())

獲取窗口的大?。?/a>

print(d.window_size())


打開關(guān)閉app

打開app:

d.app_start(‘’)傳入APP的包名稱

關(guān)閉app

d.app_stop(‘’)傳入APP的包名稱


停止所有正在運行的程序:

d.app_stop_all()只能關(guān)閉已經(jīng)打開正在運行的第三方APP不能關(guān)閉后臺運行的APP,包名只能停止自定義安裝的app

停止所有正在運行的程序設(shè)置白名單d.app_stop_all(excludes=[‘’])引號里面?zhèn)魅胍粋€APP的包名


元素的定位和操作

元素的定位方法:

ResourceId定位:

d(resourceId="com.smartisanos.clock:id/text_stopwatch").click()

Text定位:

d(text="秒表").click()

ClassName定位:

d(ClassName="com.smartisanos.clock:id/text_stopwatch").click()

description定位:

d(description='短信').click

Instance定位到第幾個:

如果頁面存在多個相同的元素可以使用instance進行選擇;

三個相同的元素他們的resourceid和ClassName選擇一個即可,然后在使用instance:

第一個:d(resourceId="com.netease.cloudmusic:id/a6w", className="android.widget.ImageView").click()

第二個:d(resourceId="com.netease.cloudmusic:id/a6w", className="android.widget.ImageView", instance=1).click()

第三個:d(resourceId="com.netease.cloudmusic:id/a6w", className="android.widget.ImageView",?instance=2).click()


元素的操作方法

對定位到的元素點擊:

d(text="Settings").click()?

對定位到的元素長按

d(text="Settings").long_click()

等待元素出現(xiàn),返回True為出現(xiàn)false為沒有出現(xiàn)

d(text="Settings").wait(timeout=10.0)


輸入

d(text="Settings").set_text("你好")



手機屏幕和按鍵的操作

屏幕的操作

#打開屏幕:

d.screen_on()

#關(guān)閉屏幕:

d.screen_off()

獲取當(dāng)前屏幕狀態(tài)

d.info.get(' screenOn ')

解鎖屏幕

d.unlock()

點擊屏幕

d.click(x,y)

雙擊屏幕:

d.double_click(x,y)

d.double_click(X,Y,0.1)雙擊屏幕間隔時間

長按屏幕:

d.long_click(x,y)

d.long_click(X,Y,0.5)0.5為長按屏幕的時間

對屏幕的拖動:

d.swipe(sx, sy, ex, ey)傳入開始坐標(biāo)和結(jié)束坐標(biāo)

d.swipe(sx, sy, ex, ey, 0.5)0.5代表拖動速度

或者

d.drag(sx, sy, ex, ey)

d.drag(sx, sy, ex, ey, 0.5)

滑動點

d.swipe((x0, y0), (x1, y1), (x2, y2), 0.2)

截圖

d.screenshot("home.jpg")傳入路徑和名稱

按鍵的操作:

手機的home鍵

d.press("home")

手機的返回鍵

d.press("back")

通知欄的操作:

打開通知欄

d.open_notification()

打開通知欄的設(shè)置

d.open_quick_settings()

shell命令

d.a(chǎn)db_shell(‘‘)直接傳入shell命令即可

e)文件的導(dǎo)入導(dǎo)出

把文件從電腦導(dǎo)入手機

d.push(‘文件的路徑加文件名’,’/sdcard/’)

把文件從手機導(dǎo)入電腦

d.pull("/sdcard/tmp.txt(手機文件的路徑)", "拉 倒電腦后要改的名字")


d)針對彈窗的操作

d.disable_popups()#自動跳過彈出窗口

d.disable_popups(False)#禁用自動跳過彈出窗口

詳情

更多方法請參考:https://github.com/openatx/uiautomator2

可以使用谷歌瀏覽器訪問對整個頁面進行翻譯,但是翻譯后內(nèi)容會失真,要結(jié)合常用語法詳細版使用;

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,781評論 25 709
  • ¥開啟¥ 【iAPP實現(xiàn)進入界面執(zhí)行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開一個線程,因...
    小菜c閱讀 7,295評論 0 17
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,506評論 19 139
  • 我只有五塊二,借我七塊九毛四,湊一個去你世界的路費。 文|獨妹子 001 看到“張嘉佳”這三個字,隨手翻開了他的這...
    凝霜記憶閱讀 877評論 3 2

友情鏈接更多精彩內(nèi)容