无论是selenium还是appium,元素定位都是我们开始实现自动化面临的第一个问题。selenium还好,我们可以在浏览器的调试页面进行元素定位还是蛮方便的。那么appium怎么做呢?

我看到很多资料,帖子都是说的appium自带的Inspector这个工具进行的元素定位。而笔者不知道是电脑还是什么的问题,这个工具是无法使用的。今天给大家说的是另一个工具。

uiautomatorviewer

这个工具是在我们Android的SDK的tools的文件夹里面的。使用方法也很简单。这里我以安卓模拟器为例给大家进行讲解。

首先打开模拟器,打开到我们需要定位的元素的页面。然后再tools中双击uiautomatorviewer,这个是个批处理的文件,双击就可以打开

可以看到这样的一个画面。接着点击上面那两个带着小机器人的手机形状的图标。我还没弄清楚这俩有啥区别,不过都可以用来辅助我们定位元素这里先不纠结。

比如,我们现在要定位这一条短信的内容。那么我们就可以通过右边的text,resource-id,class去定位

这里的text其实就是我们用的方法中的name

只要通过find_element_by_name()然后把text的值写到括号里就可以了

find_element_by_name("0")

而resource-id实际上就是id

通过find_element_by_id("com.android.mms:id/text_view")也能够完成这个元素的定位

class呢是classname,这个不是webdriver的方法,是appiumdriver的方法。还可以协助我们进行xpath方法的定位这个下回再说。

这里还有一个东西要讲一下就是content-desc

这个实际上是我们python的appium中appiumdriver的另一个方法

find_element_by_accessibility_id("")这个也是元素定位的方法,不过这里是空的所以无法完成定位。

定位的方法还有很多,classname,css,xpath等,这些我们下回再讲。目前笔者也是水平较浅只掌握了上面的几种方法。

初探appium之元素定位(1)的更多相关文章

  1. Appium Android 元素定位方法 原生+H5

    APPIUM Android 定位方式   1.定位元素应用元素 1.1通过id定位元素 Android里面定位的id一般为resrouce-id: 代码可以这样写: WebElement eleme ...

  2. Appium Desktop 元素定位和脚本录制功能

    Appium Desktop除了可以做Server之外还可以进行元素定位和脚本录制功能,点击放大镜按钮,进入页面设置.开始配置Desired Capabilities. 配置Desired Capab ...

  3. Appium自动化(10) - appium高级元素定位方式之 UI Automator API 的详解

    如果你还想从头学起Appium,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1693896.html 前言 前面介绍过根据id,clas ...

  4. Appium + Python -------------元素定位

    说在前面 1.https://github.com/appium/python-client/tree/master/test  里面有一些test ,可以看看,研究研究 2.学会使用 uiautom ...

  5. appium xpath元素定位

    1.id定位 写法:driver.find_element_by_id("这里是resource-id") 2.name定位 name定位就是通过UI Automator工具查看的 ...

  6. Appium+Python 自动化-appium常用元素定位方法

    https://www.cnblogs.com/rabbit-testing/p/8042733.html 大牛 https://blog.csdn.net/kaka1121/article/deta ...

  7. 【APP自动化】Appium Android 元素定位方法 原生+H5

    参考资料: http://blog.csdn.net/vivian_ljx/article/details/54410024

  8. Appium学习笔记4_元素定位方法

    Appium之元素定位,如果对Android上如何使用工具获取页面元素有问题的,请转战到这:http://www.cnblogs.com/taoSir/p/4816382.html. 下面主要是针对自 ...

  9. Python+Appium自动化测试(5)-appium元素定位常用方法

    对于Android而言,查找appUI界面元素属性的工具有三种:appium desktop,uiautomatorviewer.bat,weditor.之前已经介绍过了weditor的使用,这里我将 ...

随机推荐

  1. Installing IPython using pip on CentOS

    1. First to install pip # wget https://bootstrap.pypa.io/get-pip.py # python get-pip.py 2. Install i ...

  2. Python的更多内容

    到目前为止,我们已经学习了绝大多数常用的Python知识.在这一章中,我们将要学习另外一些方面的Python知识,从而使我们对Python的了解更加 完整 . 1.特殊的方法 在类中有一些特殊的方法具 ...

  3. 战胜忧虑<5>——运用亚里士多德法则

    运用亚里士多德法则 如果人们将忧虑的时间,用来寻找解决问题的答案,那忧虑就会在人们智慧的光芒下消失.那么当你面对忧虑时,应该怎么办理?答案是,我们一定要学会用下面三种分析问题的基本步骤来解决各种不同的 ...

  4. 关于git配合tortoiseGit的基础使用

    一定要自己写出来才能牢记,所以我来写一下 git确实比svn好用的多了,最起码只有一个文件夹用来标记版本信息比svn所有文件夹下都要放一个文件夹来标记版本信息先进多了,不然你不想要版本管理这些文件的时 ...

  5. 无法找到类:java.lang.ClassNotFoundException: com.tt.javaweb.HttpServletRequest问题解决

    问题如下:找不到Httpservlet对应的Class,进入build目录下发现确实没有对应的class文件. 严重: Allocate exception for HttpServletReques ...

  6. 关于 xcode 工程编译报错 undefined symbol _res_9_init的解决办法

    将libresolv.dylib 添加到工程引用中(通过build phases中).补充:    _res_9_init定义在resolv.h中,可以参考http://www.opensource. ...

  7. Redis作者谈Redis应用场景(转)

    毫无疑问,Redis开创了一种新的数据存储思路,使用Redis,我们不用在面对功能单调的数据库时,把精力放在如何把大象放进冰箱这样的问题上,而是利用Redis灵活多变的数据结构和数据操作,为不同的大象 ...

  8. ahk鼠标连击工具

    ;x = 0开始点击,x = 1暂停点击 ^::ck_start() ^::ck_end() ck_start() { x = { Click } } ck_end() { x = else x = ...

  9. Chrome开发者工具详解(2)

    Chrome开发者工具面板 面板上包含了Elements面板.Console面板.Sources面板.Network面板.Timeline面板.Profiles面板.Application面板.Sec ...

  10. SOA_环境安装系列4_Oracle SOA安装和环境搭建(案例)

    2015-01-02 Created By BaoXinjian