无论是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. TCP长连接与短连接

    1.概念区别 所谓TCP短连接,是指通信双方有数据交互时,就建立一个TCP连接,数据发送完成后,则断开此TCP连接.也就是说TCP连接维持的时间比较短.一般银行网页数据交互都使用短连接.再比如说htt ...

  2. .NET RSACryptoServiceProvider PEM + DER Support

    http://www.christian-etter.de/?p=771 In .NET, RSACryptoServiceProvider greatly simplifies common tas ...

  3. css中的继承、层叠、样式优先级机制

    一.继承与层叠:

  4. 迁移学习(Transfer Learning)(转载)

    原文地址:http://blog.csdn.net/miscclp/article/details/6339456 在传统的机器学习的框架下,学习的任务就是在给定充分训练数据的基础上来学习一个分类模型 ...

  5. SecureCRT上传、下载文件 使用sz与rz命令

    首先安装:apt-get install lrzsz SecureCRT这款SSH客户端软件同时具备了终端仿真器和文件传输功能.比ftp命令方便多了,而且服务器不用再开FTP服务了.rz,sz是便是L ...

  6. 原生视觉差滚动---js+css;

    <!doctype html> <html> <head> <meta http-equiv="Content-Type" content ...

  7. Java方法总结与源码解析(未完待续)

    使用StringTokenizer去掉字符串中的空格 public class StringTo { public static void main(String[] args){ String te ...

  8. MyBatis返回主键

    网上给的例子都很简单 , 只要用useGeneratedKey就行了. @Insert({ "INSERT INTO money_record_increasement (id, creat ...

  9. Think in UML笔记第1章--为什么要UML

    1.1 面向过程还是面向对象 面向过程和面向对象都是一种软件技术.例如把面向过程归纳为结构化程序设计.DFD图.ER模型.UC矩阵等,而面向对象则被归纳为继承.封装.多态.复用等具体的技术.事实上,上 ...

  10. phpStudy Linux安装集成环境 (CentOS--7)

    phpStudy for Linux (lnmp+lamp一键安装包) phpStudy for Linux 支持Apache/Nginx/Tengine/Lighttpd, 支持php5.2/5.3 ...