熟悉selenium自动化的小伙伴应该知道WebDriver 提供了八种元素定位方法:

id
name
class name
tag name
link text
partial link text
xpath
css selector

appium元素定位和WebDriver略微有些差异,具体差异在哪里,下面会具体介绍,在此之前,我们先打开uiautomatorviewer.bat(在sdk/tools路径下),前置条件,PC连接手机或者模拟器

appium元素定位一:通过 Id 定位

如上图所示resource-id 就是我们要找的 Id 了

使用方法:

driver.findElement(By.id("com.android.calculator2:id/digit_9"))

appium元素定位二:通过Class Name  定位

使用 ClassName 一般获得的 view 都不止一个, 所以应该需要遍历一遍得到的 views, 然后缩小搜索条件来获得目标控件。 不推荐使用

driver.findElement(By.ClassName("android.widget.Button"));

appium元素定位三:通过XPath   定位

找父标签的class

driver.findElement(By.xpath("android.widget.FrameLayout/android.support.v4.view.ViewPager/android.widget.Button"))

appium元素定位四:通过Accessibility ID  定位

这个方法属于 Appium 扩展的定位方法。Accessibility ID 在 Android 上面就等同于 contentDescription。 这个属性是方便一些生理功能有缺陷的
人使用应用程序的。 比如我们有一个 ImageView 里面放置一张颜色复杂的图片, 可能一些色弱色盲的人,分不清这张图片中画的是什么东西。 如果用户安装了辅助浏览工具比如 TalkBack, TalkBack 就会大声朗
读出用户目前正在浏览的内容。 TextView 控件 TalkBack 可以直接读出里面的内容, 但是 ImageView,TalkBack 就只能去读 contentDescription 的值, 告诉用户这个图片到底是什么。
鉴于这是一个隐藏属性, 而 Android 上用于查找控件的各种属性可能有所缺失或者有重复(比如 id重复, 比如一个 list 下面的所有项可能都是叫做“id/text1”) , 所以最佳的办法就是跟开发团队沟通好每个
view 都赋予一个唯一的 contentDescription。其实, 我们的核心是要找到元素的 contentDescription 属性。 它就是元素的 content-desc 。

driver.findElementByAccessibilityId("加").click();

appium元素定位五:通过android uiautomator   定位

AndroidUIAutomator是一个强有力的元素定位方式,它是通过Android UIAutomator类库去找元素,一个元素的任意属性都可以通过 android uiautomator 方法来进行定位, 但要保证这种定位方式的唯一性。

driver.findElementByAndroidUIAutomator("new UiSelector().text(\"+\")").click(); 

转载于:https://www.cnblogs.com/suim1218/p/8781561.html

4、通过uiautomatorviewer实现appium元素定位相关推荐

  1. Python Appium 元素定位方法简单介绍

    Python  Appium  元素定位 常用的八种定位方法(与selenium通用) id定位 name定位 Xpath定位 如下图,使用 uiautomatorviewer.bat 获取页面元素 ...

  2. appium自动化,appium元素定位

    appium自动化,appium元素定位 Appium是一款综合性软件,可让您在本地.移动或混合应用程序上执行复杂的测试. 简而言之,appium自动化框架允许您在不需要 SDK 或在每次测试会话后重 ...

  3. Appium+PythonUI自动化测试之uiautomatorviewer和Inspector元素定位

    一.uiautomatorviewer uiautomatorviewer是android-sdk自带的一个元素定位工具,非常简单好用,使用uiautomatorviewer,你可以检查一个应用的UI ...

  4. android获取元素路径,Appium元素定位(name、classname、相对路径、绝对路径\、list)...

    元素通过name元素定位 Appium的name元素定位对应的是Android上的text字段,语法: driver.find_element_by_name('安检测速').click() 缺点:部 ...

  5. appium===元素定位

    一.常用识别元素的工具 uiautomator:Android SDK自带的一个工具,在tools目录下 monitor:Android SDK自带的一个工具,在tools目录下 Appium Ins ...

  6. Appium元素定位操作app

    1.APP元素定位操作 1.Appium常用元素定位方式 2.前置代码 from appium import webdriver# 启动参数 caps = {} # 设备信息 caps["p ...

  7. python怎么通过手机号定位_6.1 python+appium元素定位方式(登录app)

    1.0.0 :常见的十种元素定位方式 1.driver.find_element_by_id() #id定位2.driver.find_element_by_name() #name定位(已经凉了,不 ...

  8. Appium元素定位方法

    之前对appium如何使用进行了介绍,这里将对如何查找app元素以及如何定位app元素进行讲解 ** 查找元素 在做app做自动化的时候,查找元素是一件比较麻烦的事情,如何进行app元素查找呢,这里将 ...

  9. python自动化元素定位_Appium+Python自动化 4 -appium元素定位

    appium定位app上的元素方式 在前面文章中有介绍,(通过UIautomator工具查看app元素) appium定位app上的元素,可以通过id,name,class这些属性定位到 1.id 定 ...

最新文章

  1. padding 不占宽高_不占地方的复式楼室内电梯,极致微型,节电省力颜值高
  2. codevs 2185 最长公共上升子序列--nm的一维求法
  3. 网络编程-TCP/IP协议栈-IP协议
  4. Excel 自定义关闭按钮
  5. Java selenium 获取表格数据_Java+Selenium 如何参数化验证Table表格数据
  6. bzoj1770: [Usaco2009 Nov]lights 燈(折半搜索)
  7. DXUT框架剖析(1)
  8. kali linux Python开发环境初始化
  9. JSP程序设计课后习题答案
  10. 医疗器械信号输入输出部分,以及电气绝缘图,环境试验后的标准
  11. 云数据中心解决方案架构图
  12. chardet demo
  13. ECharts数据可视化:从0到1的蜕变(内部技术分享总结)
  14. matlab画基尼系数,matlab 拟合洛伦兹曲线求基尼系数
  15. Python 将文件夹内所有pdf转换为图片输出到指定文件夹中
  16. 社交APP的架构设计(技术篇)
  17. mysql表文件与结构_MySQL文件结构、逻辑架构及sql执行流程分析
  18. Carla在Windows上的安装与运行
  19. CentOS-2022.1.6
  20. js中的内存溢出和内存泄漏

热门文章

  1. Android之ViewPager讲解
  2. synchronized同时对原子性、可见性、有序性的保证
  3. Swift监听网络状态
  4. 【UIKit】表格自定义单元格(UITableViewCll)
  5. swift_009(Swift 类型别名/安全/推断)
  6. uniapp中radio颜色渐变
  7. topcoder13444
  8. ELK学习笔记之ElasticSearch简介
  9. 清北学堂模拟赛d5t4 套路
  10. winform控件大小改变是防止背景重绘导致的闪烁