1、uiautomator2常用語法


uiautomator2常用語法

連接設備

使用USB連接:

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

d是給當前連接設備定位一個變量

獲取設備的信息:

print(d.info)

獲取當前APP的活動窗口和包名:

print(d.current_app())

獲取窗口的大小:

print(d.window_size())

 

打開關閉app

打開app:

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

關閉app

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

 

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

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

停止所有正在運行的程序設置白名單d.app_stop_all(excludes=[‘’])引號里面傳入一個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()

等待元素出現,返回True為出現false為沒有出現:可用於做判斷處理

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

 

輸入

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

 

手機屏幕和按鍵的操作

屏幕的操作

#打開屏幕:

d.screen_on()

#關閉屏幕:

d.screen_off()

獲取當前屏幕狀態:

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)傳入開始坐標和結束坐標

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()

打開通知欄的設置

d.open_quick_settings()

shell命令

d.adb_shell(‘‘)直接傳入shell命令即可

e)文件的導入導出

把文件從電腦導入手機

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

把文件從手機導入電腦

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

 

d)針對彈窗的操作

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

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

詳情

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM