文章转自: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. day06-Spring管理Bean-IOC-04

    Spring管理Bean-IOC-04 3.基于注解配置bean 3.1基本使用 3.1.1说明 基本说明:基于注解的方式配置bean,主要是项目开发中的组件,比如Controller,Service ...

  2. 安装postcss-px-to-viewport 配置postcss.config.js 报错Error: true is not a PostCSS plugin

    因项目需要,用户突然要坚持小屏幕也要观看大屏代码,临时解决方案是加了一个postcss-px-to-viewport ,安装过程中报错Error: true is not a PostCSS plug ...

  3. ChatGPT开发实战

    1.概述 前段时间使用体验了ChatGPT的用法,感受到ChatGPT的强大,通过搜索关键字或者输入自己的意图,能够快速得到自己想要的信息和结果.今天笔者将深挖一下ChatGPT,给大家介绍如何使用C ...

  4. 对象数组- 什么是ArrayList类

    对象数组 引入--对象数组 使用学生数组,存储三个学生对象,代码如下: public class Student { private String name; private int age; pub ...

  5. 程序员大杀器?带你玩转ChatGPT

    作者:京东零售 栗鸿宇 ChatGPT简介 ChatGPT是一款基于AI技术的机器人对话软件,它能够与用户进行智能化的聊天对话,帮助用户解决日常生活中的问题,为用户提供丰富的信息和服务.它集成了海量知 ...

  6. Google Guice 用户指南 - Ⅰ:概览

    译者:kefate 原文:https://github.com/google/guice/wiki/Overview 大家好,我是kefate.今天开始我将会把Google Guice的官方文档陆续翻 ...

  7. 在Mariadb中创建数据库-九五小庞

    MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品.在存储引擎 ...

  8. Nacos入门

    1.介绍 ①概要 官网:home (nacos.io) Nacos:Dynamic Naming and Configuration Service(动态命名和配置服务) 你可以看为:Eureka(注 ...

  9. TCP/IP协议(6): DHCP(Dynamic Host Configuration Protocol) 协议 —— 网络地址的分配方式

    TCP/IP协议(6): DHCP(Dynamic Host Configuration Protocol) 协议 -- 网络地址的分配方式 关于 DHCP(DHCP, Dynamic Host Co ...

  10. Quartz.Net 主要概念介绍和吐槽

    我们经常遇到需要定时执行某些任务的情况,比如清理缓存.异步结果轮询等,如果不打算造轮子,那么选择一款合适的定时任务组件就很关键了.所幸,.Net 世界中的选项并不多:) 选型 主要有以下四款: Qua ...