文章转自: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. Hugging Face 每周速递:Spaces 上边可以跑 Jupyter Notebook;百度 UIE-X 模型展示发布...

    每一周,我们的同事都会向社区的成员们发布一些关于 Hugging Face 相关的更新,包括我们的产品和平台更新.社区活动.学习资源和内容更新.开源库和模型更新等,我们将其称之为「Hugging Ne ...

  2. 商城网站商品sku选择的js简易实现

    商城网站商品sku选择的js简易实现 <!DOCTYPE HTML> <html lang="en-US"> <head> <meta c ...

  3. vue element admin 关闭eslint校验

    vue.config.js里面进行设置 lintOnSave: false, // lintOnSave: process.env.NODE_ENV === 'development',

  4. TypeScript 学习笔记 — 函数中的类型(四)

    目录 函数的两种声明方式 可选参数 默认参数 剩余参数 函数的重载 this 的类型 对于函数主要关心的是:函数的入参类型 和 函数的返回值类型 函数的两种声明方式 通过 function 关键字来进 ...

  5. java画海报

    package demotest; import java.awt.AlphaComposite; import java.awt.Color; import java.awt.Font; impor ...

  6. 【大型软件开发】浅谈大型Qt软件开发(四)动态链接库的宏冲突问题、COM组件开发的常见问题

    最近工作的时候有一个链接库的对接工作,在对接时发生了一些小问题,这篇FAQ是办公室写这个库的工程师戴工写的,这里记录一下: 一.编译工程时报链接错误"不允许dllimport静态数据成员的定 ...

  7. 计算机网络14 Internet网络层主要功能 IP协议 路由协议 ICMP协议

    1 主机.路由器网络层主要功能 2 IP数据报 2.1 图示 2.2 字段详细介绍 1)版本号 占4位:IP协议的版本号.4表示IPv4,6表示IPv6. 2)首部长度 占4位:表示IP分组首部长度. ...

  8. 看完这篇你不能再说不懂SSO原理了!

    这一篇是原理篇,接下来还会有一篇实战篇,实战的相关代码是非常火的一个开源项目叫:xxl-sso 一.简介 单点登录(Single Sign On),简称为 SSO. 它的解释是在多个应用系统中,用户只 ...

  9. Nodejs 使用 ZooKeeper 做服务发现

    将单体服务拆分为微服务后,为了服务高可用,一般会做集群多实例.但在分布式下,怎么进行高效.便捷的进行服务访问问题,出现了各类服务注册和服务发现框架.这里使用的是Zookeeper.ZooKeeper ...

  10. JZOJ 4212. 【五校联考1day2】我想大声告诉你

    题目 解析 设 \(f_{i,j}\) 表示 \(i+1..n\) 个人能受到 \(j\) 次攻击的概率 因为选人出局的顺序是无所谓的,所以我们设从 \(1..n\) 依次选人出局 那么转移时需要分类 ...