首页 > 移动平台 > 详细

APPIUM-Android自动化元素定位方式

时间:2021-01-16 22:01:49      阅读:26      评论:0      收藏:0      [点我收藏+]

一、常用元素定位方法

appium从selenium中继承了所有的元素定位方法, 并且增加了一些自己的元素定位方式,下方截图分别为selenium和MobileBy包源码:
技术分享图片
技术分享图片
但是从继承selenium中的定位方法中,一般只会用到id、class_name、xpath这三种方法,总结起来,appium中常用的定位方法一般有以下五种:
  1. 通过id定位:resource-id
  1. 通过class_name定位:class
  1. 通过accessibility_id定位:content-desc
  1. 通过android_uiautomator定位:SDK自带的java开发的uiautomator自动化框架
  1. 通过xpath定位

1.1 使用id定位

通过工具获取到按钮的resource-id,注意这里是使用resource-id,而不是id,
driver.find_element_by_id() 或者 MobileBy.ID
 
技术分享图片
 
loc = (MobileBy.ID, com.wm.dmall:id/tv_positive)
或driver.find_element_by_id(com.wm.dmall:id/tv_positive)

1.2 class_name定位

在上述截图中虽然含有class,但其实不建议使用class name定位,因为同一页面含有重复的class,但是可以通过下标指定哪一个class,如下代码:
driver.find_elements_by_class_name(android.widget.TextView)[1]
注:下标的方式虽然可以定位出元素,但是也有弊端,前端移动顺序后,UI代码也要随之改变。
 

1.3 通过text定位(已废弃)

appium1.5及之后的版本废弃了name属性(如name=百度一下),需要使用uiautomator的定位方式,使用text的内容,下面会详解uiautomator。
 

1.4 accessibility_id定位

在UI Automator Viewer界面上并没有找到这个字段,这个对应的字段是content-desc,
driver.find_element_by_accessibility_id() 或者 MobileBy.ACCESSIBILITY_ID,代码如下:
driver.find_element_by_accessibility_id("accessibility_id值")
或loc = (MobileBy.ACCESSIBILITY_ID, accessibility_id值)

技术分享图片

 

APPIUM-Android自动化元素定位方式

原文:https://www.cnblogs.com/dy99/p/14287417.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!