文章转自:https://blog.csdn.net/lkm564513278/article/details/105511411

在日常android app自动化测试工作当中,使用一种工具可能难以定位到元素,今天,我来说说我平时用到的三大工具有哪些。。。

这三种工具定位的前提:
1、通过adb devices命令能够识别到至少一个android设备,
2、设备当前没有被其他应用程序占用。

第一种:android ADT自带的工具:uiautomatorviewer
android 4.2以上的版本,自带的自动化测试工框架是uiAutomator.
uiautomatorviewer就是它的元素定位工具了。
如果要用uiautomator来做自动化测试,还需要掌握java语言。

安装:
uiautomatorviewer是安卓调试工具(ADT)中的一部分。所以只需要安装ADT就可以了(不需要安装SDK)。
1、安装android studio
2、在android studio的启动页面当中,选择右下角的configure -> SDK Manager
会弹出如图:选择android SDK -> SDK Tools,按图中勾选,点击ok进入安装,安装完成即可关闭android studio。记住图中Android SDK
Location对应

使用:
1、找到ADT安装目录,在其tools/bin目录下,找到uiautomatorviewer程序,双击打开。
(ps:目前不支持jdk1.8以上的版本,为了启动成功,要安装jdk1.8的版本)

2、定位元素。

第二种:appium的appium inspector
appium是目前最流行的开源的app功能测试框架。
同时支持iOS和Android的自动化测试,也支持多语言。

安装:
只要安装appium,那么appium inspector也就有了。
appium desktop下载地址:http:apium.io/

使用:

1、启动appium desktop之后,点击右上角的第一个按钮

2、在打开如下界面当中填写相关信息

3、会根据启动参数,去打开对应的app,然后会截取app当中的页面

第三种:python版uiautomator2中的weditor
python语言实现的一个app自动化测试框架
安装:
安装uiautomator2:pip install -U uiautomator2
初始化命令(往手机上推送apk包):python -m uiautomator2 init
安装定位工具weditor:pip install -U weditor
安装完成之后,命令行运行:weditor --help确认是否安装成功。

使用:
1、命令行输入:weditor 会自动打开一个浏览器,如下图


2、选择Android,输入设备序列号,点击connect。点击Dump Hierarchy,就可以看到元素的信息了。

总结:
以上三种定位告诉你:任何一个app自动化测试的框架,都会给你提供一个对应的定位工具!
android自带的UIAutomator测试框架,提供 uiAutomatorViewer,
appium测试框架,提供appium inspector,
python实现的uiAutomator2测试框架,提供weditor。
在app自动化测试的过程中,可以使用任意一种或多种来帮你进行元素定位

App自动化中 - 三大元素定位工具的更多相关文章

  1. APP 自动化之appium元素定位(三)

    APP自动化测试关键环节--元素定位,以下我们来了解appium提供的元素定位方法! 1. id定位,id一个控件的唯一标识,由开发人员在项目中指定,如果一个元素有对应的resource-id,我们就 ...

  2. Python自动化中的元素定位xpath(二)

    1.Xpath元素定位 1)ele = b.find_element_by_xpath(‘/html/body/from/input[1]’) 2)Ele = b.find_element_by_xp ...

  3. Python自动化中的元素定位(一)

    1.使用selenium中的webdriver模块对浏览器进行操作 1)from selenium import webdriver 加载模块 2)b = webdriver.Friefox() 打开 ...

  4. 『与善仁』Appium基础 — 17、元素定位工具(一)

    目录 1.uiautomatorviewer介绍 2.uiautomatorviewer工具打开方式 3.uiautomatorviewer布局介绍 4.uiautomatorviewer工具的使用 ...

  5. 『与善仁』Appium基础 — 18、元素定位工具(二)

    目录 1.Appium Inspector介绍 2.Appium Inspector打开方式 3.Appium Inspector布局介绍 4.Appium Inspector工具的配置 5.Appi ...

  6. 『与善仁』Appium基础 — 19、元素定位工具(三)

    目录 1.Chrome Inspect介绍 2.Chrome Inspect打开方式 3.Chrome Inspect工具的使用 (1)Chrome Inspect工作前提 (2)Chrome Ins ...

  7. appium自动化测试之UIautomatorviewer元素定位

    appium自动化测试之UIautomatorviewer元素定位 标签(空格分隔): uiautomatorviewer元素定位 前面的章节,已经总结了怎么搭建环境,怎样成功启动一个APP了,这里具 ...

  8. appium 元素定位工具

    两种元素定位工具: 1.uiautomatorviewer是android-sdk自带的一个元素定位工具,目录D:\androidsdk\androidsdk\tools\bin . 双击启动uiau ...

  9. appium元素定位工具

      appium元素定位工具介绍 使用uiautomatorviewer定位工具 使用Appium Inspector定位工具 使用uiautomatorviewer定位工具 谷歌在Android S ...

  10. (appium+python)UI自动化_03_元素定位工具

    前言 在UI自动化过程中,需要对手机app上的元素进行定位,然后进一步编写自动化脚本操作app.定位元素首先需要定位工具来辅助查看页面元素.小编常用的定位工具有2种,分别是uiautomatorvie ...

随机推荐

  1. three.js一步一步来--如何画出一个逃跑的圆柱体

    代码如下 <template> <div style="width:1000px; height:800px"> <p>逃跑的圆柱体</p ...

  2. sync/atomic 原子操作使用与解析

    目录 前言 1. 引入 2. sync.atomic 原子操作 2.1 什么是原子操作 2.2 各种 API 的作用 2.2.1 Store 操作 2.2.2 Load 操作 2.2.3 Add 操作 ...

  3. 【Django drf】视图层大总结 ViewSetMixin源码分析 路由系统 action装饰器

    目录 九个视图子类 视图集 继承ModelViewSet类写五个接口 继承 ReadOnlyModelView编写2个只读接口 ViewSetMixin源码分析 查找as_view方法 setattr ...

  4. 一键部署nfs、rsync、sersync

    一键部署nfs.rsync.sersync 项目代码: 链接:https://pan.baidu.com/s/13I0BBAYsdK-KmPekZ5VpdA 提取码:u2tw --来自百度网盘超级会员 ...

  5. you-get下载B站视频

    you-get下载B站视频 库存 you-get介绍 https://github.com/soimort/you-get you-get是一个命令行工具,可以下载知名网站的视频 支持的网站有  ht ...

  6. 远程控制 todesk

    最近发现的一个好用的远程连接软件 便是近些年推出来的 todesk 虽然qq的远程 和 向日葵的 远程连接也都可以达到我要实现的效果 但是体验起来的话 我个人还是觉得 todesk更好用一些 下载地址 ...

  7. JS 计算两个时间戳相差年月日时分秒

    // JS 计算两个时间戳相差年月日时分秒 calculateDiffTime(startTime, endTime, type) { var runTime = parseInt(endTime - ...

  8. 【TS】函数重载--可选参数--默认参数

    可选参数--默认参数 在ts中定义的数据类型,某些情况下只需要传入定义数据类型的一部分参数,比如:id .name.age.address,此时需要修改用户的名称,那么只需要传入id.name就够了: ...

  9. RxJava 异常时堆栈显示不正确?解决方法都在这里

    本文首发我的博客,github 地址 大家好,我是徐公,今天为大家带来的是 RxJava 的一个血案,一行代码 return null 引发的. 前阵子,组内的同事反馈说 RxJava 在 debug ...

  10. git添加多账户(附带tortoiseGit多账号使用)

    近期想在公司电脑上开发自己项目,但是电脑上已经配置过一个gitlab账户了,现在想要把自己的git账户也加进来,方便代码控制. 因为git用的比较少,还不太熟悉,都是网上找资料,边看边学边做,如有不对 ...