1、python端安裝uiautomator2
pip install --pre uiautomator2
pip install pillow
2、手機端安裝
atx-agent
(守護進程)
python -m uiautomator2 init
安裝過程中手機要同意安裝ATX,安裝成功之后手機端會出現一個ATX應用
3、通過USB或者wifi連接設備
a、通過usb連接(device name通過adb devices獲取)
import uiautomator2 as u2
d = u2.connect_usb('2aaf3398')
print(d.info)
b、通過wifi連接:保持PC和手機使用的一個WIFI,查看手機連接WIFI的IP地址
import uiautomator2 as u2
d = u2.connect('ip地址')
print(d.info)
4、定位元素
一般通過Android SDK自的uiautomatorviewer查看元素,但是運行uiautomator2的時候,uiautomatorviewer.bat無法運行
可以使用weditor進行元素定位,首先安裝 pip install --pre weditor
然后啟動:
python -m weditor,運行此命令打開網頁
http://localhost:17310/
連接手機,第一步:選擇手機類型ios/android,第二步:填寫手機IP地址(可以在設置-關于手機查看),第三步:點擊connect連接手機,第四步:點擊reload加載手機界面
常用的定位方式:
ResourceId定位:
d(resourceId=".......").click()
Text定位:
d(text="......").click()
Description定位:
d(description=".......").click()
ClassName定位:
d(className="........").click()
操作控件
# 點擊
d(text=".....").click()
# 長按
d(text=".....").long_click()
#滑動
d.swipe(x1, y1, x2, y2)
d.swipe(x1, y1, x2, y2, steps=10)
# 等待元素的出現
d(text=".....").wait(timeout=10.0)
#set_text只能用來輸入 英文
d(text="......").set_text(".....")
#獲取到輸入框焦點之后,可以通過切換輸入法send_keys輸入中文
d.set_fastinput_ime(True)
d.send_keys(".....")
d.set_fastinput_ime(False) # 輸入法用完關掉
#截圖:
d.screenshot("XXX.jpg")
#獲取圖層信息:
xml = d.dump_hierarchy()
#判斷元素是否存在
if d(text=".....").exists:
print('pass')
else
print('fail')
?
?
?
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
