Appium 通过 uiautomatorviewer.bat 工具来查看控件的属性。该工具位于 Android SDK 的 /tools/bin/ 目录下。

常用的Appium定位控件有如下:

一、name 定位

打开uiautomatorviewer.bat工具:

使用方法:

driver.findElement(By.name("9"))

二、id 定位

通过uiautomatorviewer.bat 工具可以查看对象的id属性。

如果目标设备的API Level低于18则UIAutomatorViewer不能获得对应的Resource ID,只有等于大于18的时候才能使用。

打开uiautomatorviewer.bat工具:

resource-id 就是我们理解的id属性了。

使用方法:

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

三、Class name 定位

计算器界面上的的class属性是:android.widget.Button。 使用方法:

WebElement button = driver.findElement(By.className("android.widget.Button"));

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

四、XPath定位

在 WebDriver 上 XPath 定位是功能强大的一种定位方式。我个人惯用于此方法来定位Web页面上的元素。下面看看在 Android 上 XPath 定位的用法。

五、Accessibility ID定位

这个方法属于Appium扩展的定位方法。

其实,我们的核心是要找到元素的contentDescription属性。它就是元素的 content-desc 。

使用方法: java driver.findElementByAccessibilityId("plus").click();

六、Android uiautomator定位

这个方法也属于 Appium(Android)扩展的定位方法。同样使用 UIAutomatorViewer.bat 工具直接查看。

也就是说一个元素的任意属性都可以通过android uiautomator方法来进行定位,但要保证这种定位方式的唯一性。

使用方法:

driver.findElementByAndroidUIAutomator("new UiSelector().text("clr")").click();

driver.findElementByAndroidUIAutomator("new UiSelector().text("8")").click();

driver.findElementByAndroidUIAutomator("new UiSelector().description("plus")").click();

driver.findElementByAndroidUIAutomator("new UiSelector().text("5")").click();

driver.findElementByAndroidUIAutomator("new UiSelector().description("equals")").click();

需要注意的是 description() 方法用的是content-desc属性。

查看ocx控件方法_Appium自动化测试入门教程No.8——定位控件相关推荐

  1. appium自动化测试_Appium自动化测试入门教程No.1—— Appium介绍

    (1)特点 appium 是一个自动化测试开源工具,支持 iOS 平台和 Android 平台上的原生应用,web应用和混合应用. >>"移动原生应用"是指那些用iOS ...

  2. kettle详细使用oracle教程,Kettle入门教程(详细介绍控件使用方法)_kettle详细使用教程,kettle控件介绍...

    Kettle入门教程(详细介绍控件使用方法)本手册主要是对Kettle工具的功能进行详细说明以及如何操作该系统,适合所有使用该系统的人员. 服务查询 数据库查询 数据库连接 流查询 调用存储过程 转换 ...

  3. Flutter入门学习--(16)布局定位控件Positioned

    Positioned控件主要用来设置绝对布局,必须配合Stack控件来使用, Positioned控件 通过设置left和top属性可以设置控件的绝对位置 import 'package:flutte ...

  4. 怎么查看电脑有没有python_python人工智能爬虫系列:怎么查看python版本_电脑计算机编程入门教程自学...

    本文由简码编程原创,保留所有版权,转载请注明出处. 本python人工智能爬虫系列教程基于Python3.0版本, 将python结合windows桌面开发工具aardio一起做可视化的开发, 用py ...

  5. 爬虫python对电脑要求_python人工智能爬虫系列:怎么查看python版本_电脑计算机编程入门教程自学...

    本文由简码编程原创,保留所有版权,转载请注明出处. 本python人工智能爬虫系列教程基于Python3.0版本, 将python结合windows桌面开发工具aardio一起做可视化的开发, 用py ...

  6. Android NDK入门教程之快速定位Crash问题

    文章目录 首先制造一个 so crash问题 addr2line addr2line工具位置 addr2line命令如下: 分析crash log so strip 欢迎联系.指正.批评 首先制造一个 ...

  7. VS2019/MFC编程入门教程:组合框控件Combo Box

    上一节讲了列表框控件ListBox的使用,本节主要讲解组合框控件Combo Box.组合框同样相当常见,例如,在Windows系统的控制面板上设置语言或位置时,有很多选项,用来进行选择的控件就是组合框 ...

  8. WPF界面控件Telerik UI for WPF新手入门教程 - 如何添加telerik控件

    本教程将介绍执行哪些步骤才能在应用程序中添加Telerik UI for WPF控件. 有两种方法可以做到这一点 - 第一种是为 VisualStudio 安装 Progress Telerik WP ...

  9. 零基础Bootstrap入门教程(9)--使用表单控件

    点此查看 所有教程.项目.源码导航 本文目录 1. 概述 2. 基本输入控件 3. 调整表单控件的大小 4. 表单控件的特殊用法 4.1 单选框用法 4.2 复选框用法 5. 小结 1. 概述 表单控 ...

最新文章

  1. 损失函数的意义和作用_哈佛CASTER | 基于化学子结构表征预测药物相互作用
  2. UITableview 多行删除
  3. 运算符重载,以及迭代器[foreach]示例
  4. vue为p标签_通过vue.js几个基本操作,理解一下什么是插槽「606」
  5. 编译错误 fatal error C1010: unexpected end of file while looking for precompiled header directive
  6. h.264 视频解码的一点小经验(ffmpeg)
  7. Eclipse to android
  8. 什么是AJAX (转贴)
  9. Weak Supervision: A New Programming Paradigm for Machine Learning
  10. 拓端tecdat|GARCH(1,1),MA以及历史模拟法的VaR比较
  11. 从内存模型角度说明volatile与synchronized在并发特性方面的区别
  12. 关于Linux中网络连接配置(NetworkManager)的一些笔记
  13. php创建一个文本计数器,一个用php编写的简单计数器,php编写简单计数器_PHP教程...
  14. win10+ubuntu16.04双系统双硬盘(SSD+机械硬盘)安装
  15. 2.4 PIMPLE算法 | 2.5 附加显式力的压力速度耦合(OpenFOAM理论笔记系列)
  16. 类的封装与对象数组-随机点名器
  17. 在单机(物理机)上用虚拟机部署kubernetes集群
  18. 【IoT】蓝牙 GAP 和 GATT 协议简析
  19. 把电脑端的图片链接转换为API接口可以调用的链接
  20. 用python画小猪佩奇代码_Python turtle模块实例:绘制小猪佩奇(上)

热门文章

  1. oracle 快速上手,Oracle学习笔记:快速上手
  2. 卡巴斯基文件服务器,卡巴斯基更新服务器的解决方案
  3. java类的两个基本成分_Java类文件的基本结构
  4. arcgis公里坐标转经纬度_高德api交通态势爬取及可视化利用 python+arcgis
  5. Python中定义函数的三种形式
  6. python基础教程:懒惰属性(延迟初始化)
  7. Python数据库添加时间
  8. c++ 人脸识别_应用层下的人脸识别(四):人脸研判
  9. 视频编码中的RC(rate control)是什么?码率控制 CBR (Constant Bit Rate)、VBR (Variable Bit Rate)
  10. gifcam录制动态图后导入photoshop出现透明格子怎么办?