Appium常用定位方法

基于上一篇内容:Appium元素定位方式,介绍了通过appium怎样查看app具体元素的属性,本篇内容详细介绍Appium常用定位方法。

Appium的webdriver提供了11种元素定位方法,在selenium的基础上扩展了三个,本文以python语言为示例介绍appium中的元素定位方法,可以在IDEA里面输入driver.find_element_by自动匹配出来。

 

1、通过ID定位:

使用方法为:driver.find_element_by_id('com.tencent.mobileqq:id/dialogRightBtn').click()

 

 

 2、通过AccessibilityId定位:

AccessibilityId也称为content-desc,使用方法为:driver.find_element_by_accessibility_id('去授权按钮').click()

 

 

 3、通过xpath定位:

使用方法为:driver.find_element_by_xpath('//android.widget.TextView[@content-desc="去授权按钮"]').click()

 

 

 4、通过className定位:

这里的className对应的元素有2个,看上面的index是1,拒绝是0,去授权是1,使用方法为:driver.find_element_by_class_name('android.widget.TextView')[1].click()

 

 5、通过Android UIAutomator定位:

android uiautomator原理是通过android 自带的android uiautomator的类库去查找元素,其实和appium的定位一样,或者说他比appium的定位方式更多以及更适用,它也支持id、className、text、模糊匹配等进行定位。

1)通过text定位:

根据text属性为“去授权”查找元素,使用方法为:driver.find_element_by_android_uiautomator('new UiSelector().text("去授权")').click()

 

 2)text模糊定位:

模糊定位故名思义,通过text的部分信息就能够进行定位,使用方法为:driver.find_element_by_android_uiautomator('new UiSelector().textContains("去授")').click()

 

3)textStartsWith定位:

使用方法为:driver.find_element_by_android_uiautomator('new UiSelector().textStartsWith("去授")').click()

 

4)resourceID定位:

resourceId定位和appium封装好的id定位是一样的,只是这里将写法变成了uiautomator的写法而已。

使用方法为:driver.find_element_by_android_uiautomator('new UiSelector().resourceId('com.tencent.mobileqq:id/dialogRightBtn')').click()

 

5)className定位:

通过调用android uiautomator使用className进行定位,使用方法:driver.find_element_by_android_uiautomator('new UiSelector().className('android.widget.TextView')').click()

 

6、appium和selenium元素定位对比

 

 

 

 

posted @ 2022-04-24 21:15  奔跑的番茄汁  阅读(2660)  评论(0编辑  收藏  举报