Uiautomator元素定位

UIAutomator定位简介

UIAutomator元素定位是 Android 系统原生支持的定位方式,虽然与 xpath 类似,但比它更加好用,且支持元素全部属性定位.定位原理是通过android 自带的android uiautomator的类库去查找元素。
Appium元素定位方法其实也是基于Uiautomator来进行封装的。

使用方法 find_element_by_android_uiautomator() 可以运用UiAutomator元素定位。

定位方法

  • id定位
  • text定位
  • class name定位

id定位

id定位是根据元素的resource-id属性来进行定位,使用 UiSelector().resourceId()方法即可。

by_Uiautomator.py

1
2
3
4
5
6
7
8
9
10
from find_element.capability import driver

driver.find_element_by_android_uiautomator\
('new UiSelector().resourceId("com.tal.kaoyan:id/login_email_edittext")').send_keys('zxw1234')

driver.find_element_by_android_uiautomator\
('new UiSelector().resourceId("com.tal.kaoyan:id/login_password_edittext")').send_keys('zxw123456')

driver.find_element_by_android_uiautomator\
('new UiSelector().resourceId("com.tal.kaoyan:id/login_login_btn")').click()

text定位

text定位就是根据元素的text属性值来进行定位,new UiSelector()

1
2
3

driver.find_element_by_android_uiautomator\
('new UiSelector().text("请输入用户名")').send_keys('zxw1234')

class name定位

与Appium class定位方式一样,也是根据元素的class属性来进行定位。

1
2
driver.find_element_by_android_uiautomator\
('new UiSelector().className("android.widget.EditText")').send_keys('zxw1234')

视频操作演示

Uiautomator元素定位