d = u2.connect_wifi('172.17.100.15') 通过wifi d = u2.connect_usb('127.0.0.1:62025') 通过usb(手机序列号) d = u2.connect_adb_wifi('172.17.100.15:5555') 通过adb wifi
import uiautomator2 as u2 import time d = u2.connect_usb('127.0.0.1:62001') #连接根据自己情况设置 cmd中adb.devices可以显示 d.app_start('com.tal.kaoyan')
time.sleep(1) # 全文本匹配 d(text='密码登录').click()
textContains 文本包含
1 2 3 4 5 6 7
import uiautomator2 as u2 import time d = u2.connect_usb('127.0.0.1:62001') d.app_start('com.tal.kaoyan') time.sleep(1) # 文本包含 d(textContains='密码').click()
textMatches 正则表达式
1 2 3 4 5 6 7
import uiautomator2 as u2 import time d = u2.connect_usb('127.0.0.1:62001') d.app_start('com.tal.kaoyan') time.sleep(1) # 正则表达式 d(textMatches='.{2}登录').click()
textStartsWith 起始文本
1 2 3 4 5 6 7 8
import uiautomator2 as u2 import time d = u2.connect_usb('127.0.0.1:62001') d.app_start('com.tal.kaoyan') time.sleep(1) # 起始文本 d(textStartsWith='密码登').click() # d(textStartsWith='密').click()
ClassName定位的方式
className classNmae的值
1 2 3 4 5 6 7
import uiautomator2 as u2 import time d = u2.connect_usb('127.0.0.1:62001') d.app_start('com.tal.kaoyan') time.sleep(1) # 通过classname来控件控件 需要注意层级关系 d(className='android.widget.TextView')[5].click()
classNameMatches 正则表达式匹配 classNmae的值
1 2 3 4 5 6 7
import uiautomator2 as u2 import time d = u2.connect_usb('127.0.0.1:62001') d.app_start('com.tal.kaoyan') time.sleep(1) # 通过实例来控制控件 d(className='android.widget.TextView',instance=5).click()
资源id进行定位
resourcdId 资源id
1 2 3 4 5 6 7
import uiautomator2 as u2 import time d = u2.connect_usb('127.0.0.1:62001') d.app_start('com.tal.kaoyan') time.sleep(1) # 通过正则表达式来控制 d(classNameMatches='android\.widget\.\w{8}',text='密码登录').click()
混合定位的方式
文本定位 资源id ClassName等可以配合使用来进行定位
1 2 3 4 5 6
import uiautomator2 as u2 import time d = u2.connect_usb('127.0.0.1:62001') d.app_start('com.tal.kaoyan') time.sleep(1) d(className='android.support.v7.widget.RecyclerView').child(text='设备').click()
坐标点定位法
坐标点定位法分为2种方式 一种是通过原始的坐标点来呈现。一种是通过%号的方式来呈现
1 2 3 4 5 6 7 8
# 坐标定位 import uiautomator2 as u2 import time d = u2.connect_usb('127.0.0.1:62001') d.app_start('com.tal.kaoyan') time.sleep(1) # d.click(0.055, 0.781) 49, 1124 110, 1124 0.123, 0.781 d.click(0.585, 0.072)
xpath定位的方式
d.xpath(‘xpath语句’)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
import uiautomator2 as u2 import time d = u2.connect_usb('127.0.0.1:62001') # with open('phone.file','w',encoding='utf-8') as file_obj: # file_obj.write(d.dump_hierarchy())