无论是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. 面向对象设计模式--观察者模式(Observer)

    要点: 1.如何使用观察者模式: 对应使用这个模式的用户(main)来说,subject和observer这两个基类是不被关系的,在调用者(main)中只是有concreteSubject和concr ...

  2. 给windows的VM更换网卡到VMNET3从E1000

    1. Login to vCenter via vSphere client. go to the vm 2. create a 1G new disk(SCSI 1:2) for the VM te ...

  3. Winform/WPF国际化处理

    1.Winfrom国际化处理方式 ==> Winform中国际化支持可将UI页面和.cs文件分开处理 处理窗体方式如下:1.选择Form窗体设置其--Language(默认中文--Default ...

  4. golang的连接池例子

    github.com/jolestar/go-commons-pool 测试代码 package main import ( "github.com/jolestar/go-commons- ...

  5. 在Ubuntu下编译wpa_supplicant

    最近在研究WiFi联盟的多屏互动协议Miracast,其中需要用到wpa_supplicant,编译中遇到了一些问题,经过一下午的折腾也都解决了,下面分享给各位. 一.编译需要用到三个库源码包,分别是 ...

  6. 静态库不要strip 太厉害

    根据strip的功能表示,strip经常用来去除目标文件中的一些符号表.调试符号表信息,减少包的大小.我自己做了一函数库,同样的代码生成了一个mylib.so和一个mylib.a文件,之后使用了 st ...

  7. [CSS]当选择器没有指定元素时

    当选择器没有指定元素时,样式会作用于(匹配)所有html元素. 如下面代码: <!DOCTYPE html> <html> <head> <style> ...

  8. int long long范围

    unsigned   int   0-4294967295   int   2147483648-2147483647 unsigned long 0-4294967295long   2147483 ...

  9. CF 445A 简单DP

    今天早上找一道题的bug,还是找不出来,下午刷了几道水题,晚上准备回家的事, 然后本来想打CF的,一看,数学场,不打了. 这道题的题意: 给出一个序列,每次你可以从这个序列里面选择一个数ak,删除,然 ...

  10. [实变函数]5.3 非负可测函数的 Lebesgue 积分

    本节中, 设 $f,g,f_i$ 是可测集 $E$ 上的非负可测函数, $A,B$ 是 $E$ 的可测子集.       1 定义: (1) $f$ 在 $E$ 上的 Lebesgue 积分      ...