Appium 元素查找(一)

一、概述

在appium中,如果想对元素进行相关操作,如点击、移动、滑动等,首先需要找到这些元素。在Android环境下,我们可以通过Android SDK自带的 uiautomatorviewer.bat 工具进行元素查找。通过这个工具,我们可以获取到当前连接到电脑的移动设备的一个快照,然后,就可以看到当前页面的控件的属性以及层级关系,比如我们可以看到resources-id,class,text等属性。在appium中,我们可以通过这些 id,class或者 class和text的属性组合定位到这些元素。

二、uiautomatorviewer 快照图示(当前手机屏幕的一个截图)

三、appium元素定位

3.1通过ID进行定位:

WebElement element = driver.findElementById("com.example.jingbin.cloudreader:id/tv_jump");
List<WebElement> elements = driver.findElementsById("cn.etouch.ecalendar:id/img_edit");

3.2 通过class定位:

List<WebElement> elements = driver.findElementsByClassName("android.widget.ImageButton");

3.3 ,通过xpath进行定位

xpath是一种特殊的定位方式,即使用元素的属性组合来定位元素,例如 class和text的组合。使用属性组合定位的原因是单一属性无法唯一的定位到一个元素。

WebElement elementA = driver.findElementByXPath("//android.widget.TextView[@text='全部']")
WebElement elementB = driver.findElementByXPath("//android.widget.ImageButton[@content-desc='转到上一层级']")

四、总结

通过上述元素定位方式,我们可以查找到大部分的元素,对于有些布局比较复杂的页面,我们需要通过控件层级之间的关系来进行定位,这些会在后续的博客中记录下来。

Appium 元素查找(一)相关推荐

  1. jquery 字符串查找_Python Appium 库IOS特有元素查找API介绍

    IOS自动化测试系列文章: 一文带你趟过mac搭建appium测试环境的遇到的坑 appium 实现简易IOS  app自动化测试demo 今天分享的是python appium库中IOS元素查找特定 ...

  2. 4、通过uiautomatorviewer实现appium元素定位

    熟悉selenium自动化的小伙伴应该知道WebDriver 提供了八种元素定位方法: id name class name tag name link text partial link text ...

  3. Appium元素定位方法

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

  4. Java-Runoob-高级教程-实例-数组:01. Java 实例 – 数组排序及元素查找

    ylbtech-Java-Runoob-高级教程-实例-数组:01. Java 实例 – 数组排序及元素查找 1.返回顶部 1. Java 实例 - 数组排序及元素查找  Java 实例 以下实例演示 ...

  5. 牛客题霸 [矩阵元素查找] C++题解/答案

    牛客题霸 [矩阵元素查找] C++题解/答案 题目描述 已知int一个有序矩阵mat,同时给定矩阵的大小n和m以及需要查找的元素x,且矩阵的行和列都是从小到大有序的.设计查找算法返回所查找元素的二元数 ...

  6. lodash 数组元素查找 findIndex

    _.findIndex(array, [predicate=_.identity]) 这个方法类似 _.find .除了它返回最先通过 predicate 判断为真值的元素的 index ,而不是元素 ...

  7. python第k序元素查找列表_【Python】第8次练习:列表——程序填空题 -合并队列、列表元素零的移动、列表逆序输出、第K序元素查找...

    [Python]第8次练习:列表--程序填空题 -合并队列.列表元素"零"的移动.列表逆序输出.第K序元素查找 1.程序填空题 -合并队列 题目:某班男女两队同学各若干人,男生已按 ...

  8. c++ map初始化_Go学习每日一问(18)-map元素查找

    每次学习并整理一个Golang的知识点,每天进步一点点.今天学习下go中的一个知识点:map元素查找 日省吾身 1.下面代码中 A B 两处应该怎么修改才能顺利编译? func main() { va ...

  9. 寻找第k大的元素Java,java – 支持快速第k个最大元素查找的队列数据结构

    我遇到一个需要支持快速第k个最大元素查找的队列数据结构的问题. 此数据结构的要求如下: >队列中的元素不一定是整数,但它们必须彼此可比较,即当我们比较两个元素(它们也可以相等时),我们可以知道哪 ...

最新文章

  1. 机房收费系统总结【2】-细节优化
  2. 她们,在字节跳动写代码
  3. 通过WebService调用SQLXML(SQL Server 2005) [ZT]
  4. YARP(Yet Another Reverse Proxy)是使用 .NET 构建的高度可定制的反向代理
  5. 解码base64_linux C++ Base64编解码
  6. 不喜欢在北京的感觉,删掉几篇北京生活的随笔。以后能忘掉这个地方就好了。...
  7. Chapter 1 First Sight——37
  8. PHPStorm 设置背景图片
  9. 北斗与GPS有哪些区别?
  10. 苏宁易购,淘宝网,京东商城,百万级价格数据海量抓取
  11. 贪吃蛇c加加代码_C语言编写简单贪吃蛇游戏源代码
  12. 动环监控系统的服务器配置,动环监控系统服务器维护
  13. 大疆网上测评题库_大疆校招笔试题及参考(一个小编程题)
  14. Unity3d学习记录之回合制游戏
  15. 仿真软件测试基尔霍夫定律,基尔霍夫定律的仿真验证.ppt
  16. 如何写一个C语言头文件,C语言头文件如何写?.doc
  17. Ajax异步配合数据字典完成下拉选框
  18. 响应式五金机械网站pbootcms模板,蓝色营销型五金配件网站源码下载
  19. 一个利用拼音与汉字混合过滤字符串的函数
  20. thirteen——sed

热门文章

  1. 【ISL-1】统计学习概览
  2. 强化学习基础总结(三)
  3. 多元最大似然估计函数
  4. C#并行和多线程编程
  5. 如何在 Ubuntu 中安装 QGit 客户端
  6. tomcat-maven-plugin 插件使用
  7. Terracotta - 分布式共享对象
  8. .ashx接口单元测试
  9. 学开发的基本规范和要求
  10. 关于陀螺仪 deviceorientation