app自动化 - 元素定位不到?别慌,看完你就能解决

在日常的android app自动化测试工作当中,很多朋友在元素定位时,会遇到以下类似的报错:在这里插入图片描述
然后会来问,这是啥情况?

一般情况下,都会送上以下亲切的关怀:

1)adb能识别到设备吗?

2)设备有被其它的程序在占用吗?

3)ADT的版本正确吗?

当朋友们对以上关怀都确认之后,反馈仍然会遇到这样的报错。

那么为了不影响学习的热情,会提供以下三种定位工具,总有一款可以让你顺利的定位到元素哦!!

每一种工具定位的前提:

1、通过 adb devices命令能够识别到至少一个android设备;

2、设备当前没有被任何其它的应用程序所占用;

第一种:android ADT自带工具:uiAutormatorViewer

文章最开始的报错截图,就是来自于这个工具啦。

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程序,双击打开。

例如:ADT的目录为:/Users/liyuan/Library/Android/sdk
在这里插入图片描述
2)定位元素
在这里插入图片描述
第二种:appium的appium inspector

appium是目前最流行的开源的app功能测试框架。

同时支持IOS和Android的自动化测试,也支持多语言(python/java/C#…)
安装:

只要安装appium,那么appium inspector也就有了。

appium desktop下载地址:http://appium.io/

(Ps:需要先安装nodejs,再安装appium程序哦。)

使用:

  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) 所示的页面。
    在这里插入图片描述
    2)选择Android,输入设备***,点击connect。点击Dump Hierarchy,就可以看到元素的信息了。

在这里插入图片描述
总结:

以上3种定位告诉你: 任何一个app自动化测试的框架,都会给你提供一个对应的定位工具哦!

android自带的UiAutomator测试框架,提供 uiAutomatorViewer。

appium测试框架,提供appium inspector.

python实现的uiAutomator2测试框架,提供weditor

在app自动化测试的过程中,可以使用任意一种或多种来帮你进行元素定位。

在这里插入图片描述
在这里插入图片描述
如果对软件测试、接口测试、自动化测试、面试经验交流感兴趣可以加入我们。642830685,免费领取最新软件测试大厂面试资料和Python自动化、接口、框架搭建学习资料!技术大牛解惑答疑,同行一起交流。