python+appium自动化测试-05APP元素定位

和Web端一样,APP端也是可以通过元素进行定位的。有过Web端的七种元素定位的实战经验,APP端的元素定位也容易理解。Web端元素定位点击查看
APP端的元素定位,可以用uiautomator抓取页面元素。下面介绍一下APP的几种元素定位方式:

1、id定位

APP里面的元素resource-id相当于Web端元素id。
find_element_by_id(‘android:id/button2’)
在这里插入图片描述

2、name定位

APP里面的元素text相当于Web端元素name。
find_element_by_name(‘请输入用户名’)
在这里插入图片描述

3、class定位

APP里面的元素class相当于Web端元素class。
find_element_by_class_name(‘android.widget.EditText’)
在这里插入图片描述

4、相对定位

相对定位是先找到该元素有对应属性的父元素节点,然后基于父元素进行元素定位。
例:先通过resource-id='com.tal.kaoyan:id/activity_register_parentlayout’定位到ImageView的父元素LinearLayout,然后再通过resource-id=‘com.tal.kaoyan:id/activity_register_userheader’定位到ImageView。在这里插入图片描述
在这里插入图片描述

5、Xpath定位

APP的Xpath定位方式和Web端的一毛一样。
find_element_by_xpath(’//android.widget.EditText[@text=“请输入用户名”]’)
在这里插入图片描述

6、list定位

List定位首先是使用find_elements_by_XX获取一组相同的class属性的元素,然后使用数组下标来区分标记不同元素进行相关操作。
images=driver.find_elements_by_id(‘com.tal.kaoyan:id/item_image’)
#选择第10张图作为上传对象
images[9].click()

7、UIAutomator元素定位

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

7.1、id定位

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

find_element_by_android_uiautomator(‘new UiSelector().resourceId(“com.tal.kaoyan:id/login_password_edittext”)’)

7.2、text定位

text定位就是根据元素的text属性值来进行定位,new UiSelector()
find_element_by_android_uiautomator(‘new UiSelector().text(“请输入用户名”)’)

7.3、text定位class name定位

find_element_by_android_uiautomator(‘new UiSelector().className(“android.widget.EditText”)’)

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值