要求:
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即可
裝置管理 介面裡可以檢查裝置是否正常init,起停atx-agent,抓取atx-agent.log檔案
1、通過wifi,需確保同一網路
import uiautomator2 as u2
driver = u2.connect('10.0.0.1') # alias for u2.connect_wifi('10.0.0.1')
print(driver.info)
2、通過usb線
import uiautomator2 as u2
d = u2.connect('m9n7n15930001618') # 括號內為adb devices 獲取的裝置號
print(d.info)
cmd命令:weditor
1、瀏覽器開啟
2、輸入裝置號點選連線
3、成功連線裝置後重新整理獲取最新頁面
4、滑鼠點選要找的元素,進行定位
1、截圖
uiautomator2 screenshot screenshot.jpg 截圖儲存至當前資料夾,命名為screenshot.jpg
uiautomator2 screenshot e:\liang\tools\screenshot.jpg 截圖儲存至指定資料夾,命名為screenshot.jpg
2、獲取當前包名和activity
uiautomator2 current
3、解除安裝
uiautomator2 uninstall # 解除安裝乙個包
uiautomator2 uninstall # 解除安裝多個包
uiautomator2 uninstall --all # 全部解除安裝
4、stop: 停止應用
import uiautomator2 as u2
d = u2.connect('m9n7n15930001618') #括號內為adb devices獲取的裝置號
手勢互動
點選螢幕(座標,支援相對座標)
d.click(x, y)
d.click(0.5, 0.5) #其中(0.235, 0.456) 代表 x(50%) y(50%)
雙擊d.double_click(x, y) #預設兩次點選相隔0.1秒
d.double_click(x, y, 1) #兩次點選相隔1秒
長按d.long_click(x, y) #預設按0.5秒
d.long_click(x, y, 5) # l長按5秒
滑動(滑動螢幕)
d.swipe(sx, sy, ex, ey) 從座標(sx,sy)滑動至座標(ex,ey),支援相對座標
d.swipe(sx, sy, ex, ey, 0.5) # 預設滑動時間0.5秒,可修改
swipeext 擴充套件功能
d.swipe_ext("right") # 螢幕右滑,4選1 "left", "right", "up", "down"
d.swipe_ext("right", scale=0.9) # 預設0.9, 滑動距離為螢幕寬度的90%
d.swipe_ext("right", box=(0, 0, 100, 100)) # 在 (0,0) -> (100, 100) 這個區域做滑動
d.drag(sx, sy, ex, ey) #支援相對座標
d.drag(sx, sy, ex, ey, 0.5) # 預設滑動時間0.5秒,可修改
多個點連續滑動(典型案例:9宮格解鎖)
從point(x0, y0) 滑動到point(x1, y1)然後滑動到point(x2, y2)...等等
d.swipe_points([(x0, y0), (x1, y1), (x2, y2)], 0.2)) #0.2為每次兩點之間滑動的時間,座標可以是絕對座標,也可以是相對座標
d.swipe_points([(0.235, 0.456), (0.503, 0.449), (0.509, 0.601), (0.777, 0.603), (0.771, 0.763), (0.222, 0.75)], 0.2) #其中(0.235, 0.456) 代表 x(23.5%) y(45.6%)
模擬按下-等待-移動-鬆開
d.touch.down(10, 10) # 模擬按下
time.sleep(0.01) # down 和 move 之間的延遲,自己控制
d.touch.move(15, 15) # 模擬移動
d.touch.up() # 模擬抬起
截圖d.screenshot("e:\liang\tools\screenshot.jpg")傳入路徑和名稱
元素選擇器
#定位text為'clock'並且classname為'android.widget.textview'的元素
d(text='clock', classname='android.widget.textview')
後代元素
#定位classname為"android.widget.listview"的元素下面text為"bluetooth"的元素
d(classname
UIautomator2環境搭建
1.安裝uiautomator2 pip install uiautomator2 init 2 安裝的過程中,提示pip版本和現在的版本不匹配,報錯,這時候需要公升級 pip的版本 命令為 python m pip install upgrade pip 3 在公升級命令的執行過程中,可能會提示沒...
UiAutomator2 自動化測試一 框架搭建
1 建立乙個anroid工程 2 新增androidtest的dependencies 相關jar包 需要注意下 testinstrumentationrunner是否有自動新增。testinstrumentationrunner android.support.test.runner.androi...
UI自動化 uiautomator2環境搭建
ios 自動化測試的話可以參考這個 1 首先需要一部安卓裝置 手機 pad 開啟開發者選項,裝置連線到電腦上,執行adb devices 的話可以看到連線上的裝置。確認能識別到裝置ip的話,第一步就成功了。1.通過pip 安裝 pip3 install u uiautomator2這裡加了 u 引數...