准備工作
要求:
Android版本 4.4+ Python版本3.6+ 連接手機: 開啟開發者選項, 開啟usb調試, 連接電腦,adb devices可以看到設備號 安裝uiautomator2:python -m pip install -U uiautomator2 驗證是否連接成功: import uiautomator2 as u2 driver = u2.connect() # connect to device print(driver.info) 執行以上代碼有正確輸出 安裝: 1、Install uiautomator2 python -m pip install --upgrade --pre uiautomator2 測試是否安裝成功 uiautomator2 --help 2、Install weditor (UI Inspector) python -m pip install -U weditor 在命令行運行weditor --help 確認是否安裝成功 3、Install daemons to a device (Optional) 電腦連接上一個手機或多個手機, 確保adb已經添加到環境變量中,執行下面的命令會自動安裝本庫所需要的設備端程序 python -m uiautomator2 init 安裝提示success即可 4、【可選】AppetizerIO 所見即所得腳本編輯器 AppetizerIO 提供了對uiautomator2的深度集成,可以圖形化管理ATX設備,還有所見即所得腳本編輯器 到網站下載直接打開,首次使用需要注冊賬號 設備管理 界面里可以檢查設備是否正常init,起停atx-agent,抓取atx-agent.log文件 測試腳本調出腳本助手,實時界面同步,點擊界面直接插入各種代碼,同時支持uiautomator和Appium
連接設備
1、通過wifi,需確保同一網絡 import uiautomator2 as u2 driver = u2.connect('10.0.0.1')
打開weditor UI查看器
cmd命令:weditor
1、瀏覽器打開
2、輸入設備號點擊連接
3、成功連接設備后刷新獲取最新頁面
4、鼠標點擊要找的元素,進行定位
cmd命令操作
1、截圖
uiautomator2 screenshot screenshot.jpg 截圖保存至當前文件夾,命名為screenshot.jpg
uiautomator2 screenshot E:\liang\tools\screenshot.jpg 截圖保存至指定文件夾,命名為screenshot.jpg
2、獲取當前包名和activity
uiautomator2 current
{
"package": "com.android.browser",
"activity": "com.uc.browser.InnerUCMobile",
"pid": 28478
}
3、卸載
uiautomator2 uninstall <package-name> # 卸載一個包
uiautomator2 uninstall <package-name-1> <package-name-2> # 卸載多個包
uiautomator2 uninstall --all # 全部卸載
4、stop: 停止應用
uiautomator2 stop com.example.app # 停止一個app
uiautomator2 stop --all # 停止所有的app
API Documents:
1、啟動/關閉APP
5、 運行/關閉app
d.app_start('包名')
d.app_stop('包名')
d.app_clear('包名')
擴展:不知道怎么獲取包名的可以打開一個app,doc下輸入uiautomator2 current獲取
{
"package": "com.android.browser",
"activity": "com.uc.browser.InnerUCMobile",
"pid": 28478
}
連接手機,啟動APP
import uiautomator2 as u2 d = u2.connect('M9N7N15930001618')
API
手勢交互
點擊屏幕(坐標,支持相對坐標)
d.click(x, y) d.click(0.5, 0.5)