`
m635674608
  • 浏览: 5027023 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

app控件获取之uiautomatorviewer

 
阅读更多

初探

在Android的SDk提供了以下的工具来支持我们进行UI自动化测试:

uiautomatorviewer:用来扫描和分析Android应用程序的UI控件的工具。

uiautomator:一个包含创建测试、执行自动化测试API的java库。

谷歌Uiautomator文档:http://android.toolib.net/tools/help/uiautomator/index.html

要使用这些工具,你必须安装Android开发工具以下版本:

Android SDK Tools:API 21 版本或者21以上版本;

Android SDK Platform:API 16 版本或者16以上版本.

分析控件

在你开始写测试用例之前,使用uiautomatorviewer可以帮助你熟悉你的UI组件(包括视图和控件)。

你可以使用它对当前连接到你电脑上的手机屏幕进行一个快照,然后可以看到手机当前页面的层级关系和每个控件的属性。利用这些信息,你可以写出针对特定UI控件的测试用例。

在 ..\sdk\tools\ 目录下打开 uiautomatorviewer.bat (打开前请手机连接电脑,手机开启USB调试)。

 

 0

家看了上面的动态图,基本上已经了解了一些用法了,再进一步说明一下: 
1、获取快照:
当你要分析一个页面时,首先将手机的页面停留在你要分析的页面,然后用数据线连接电脑。

然后点击uiautomatorviewer左上角的第二个图标按钮 Device Screenshot,点击之后会将当前手机界面的快照更新到这里来。
2、页面层级:
右上方的整个区域,就是当前页面布局的层级关系。如果对Android五大布局比较熟悉的话,理解这一层应该不是问题。

3、不可用区域:
右上方的整个区域中的第二个按钮Toggle NAF Nodes,按下后出现的黄色区域代表,这些控件是不被Uiautomator工具识别,无法获取到这些控件的实例。以QQ首页为例。

0 (1)

我们可以看到,当按下该按钮的时候,下方的三个tab出现黄色区域,这就代表这三个区域的控件,如果你想通过Uiautomator提供的API来获得他们的属性,或者对其进行点击操作,是做不到的,因为你没办法拿到这些控件的实例。

4、属性详情:
右下方的整个区域,是当前选中的页面或者是控件的属性信息。这部分比较重要,我们以后写代码的时候就是需要通过查看属性中的控件的id或者是text等来获取控件的实例,然后点击操作它。
以QQ左上角的头像控件为例:

image

点击左上角的头像控件之后,右下方区域就会显示这个控件的详细信息。比如这里我们可以得知它的resource-id就是com.baidu.searchbox:id/baidu_searchbox。
然后利用Uiautomator的API方法就可以得到该控件的实例。

image

上面的方法就是知道了该控件的id之后,模拟向该控件输入文本的过程,当然Uiautomator还提供了根据text来获取控件。

这种点击的方法比起Monkeyrunner来说它的好处就是:Monkeyrunner是坐标点击,当一个脚本写好后,换一个分辨率的手机去执行,点击的位置可能就会出错,而Uiautomator点击是先找到该控件,然后再点击该控件,因此可移植性比Monkeyrunner要好;另外代码的易读性也更好一些。

 

http://www.cnblogs.com/lazytest/p/5612709.html

分享到:
评论

相关推荐

    uiautomatorviewer工具更新优化适配Android8.0以上系统

    在移动应用自动化测试领域,UIAutomatorViewer是一款非常重要的工具,尤其在Android平台上,它被广泛用于获取应用程序的UI元素信息,帮助开发者和测试人员进行元素定位,以便编写自动化测试脚本。随着Android系统的...

    uiautomatorviewer 工具最新版

    熟悉控件获取的同学都知道,使用uiautomatorviewer可以抓取到的用来定位控件的元素大概有 text resource-id content-desc index 除此之外,appium还支持按Xpath来定位控件 此款工具支持xpath获取

    Uiautomatorviewer

    随着Android版本的更新,`uiautomatorviewer`也需要随之升级以确保兼容性。描述中提到的“Android 9.0测试通过”意味着该版本的`uiautomatorviewer`已经适配了Android Pie系统,可以在该版本上正常工作,包括识别新...

    使用Uiautomotorviewer无法获取手机页面元素+解决办法

    - 如果Uiautomatorviewer仍然存在问题,可以考虑使用其他同类工具,如Appium的Inspector、Espresso的View Hierarchy Viewer(需要在代码中实现)或者用更现代的API如UiAutomator2来获取UI元素信息。 7. **解决方案...

    安卓app 控件属性查看工具

    "安卓app 控件属性查看工具",如标题所言,主要关注的是Android系统中的一个强大工具——uiautomatorviewer。这个工具是Android SDK自带的一个图形化界面工具,专门用于帮助开发者和测试工程师查看和分析运行在设备...

    Android UiAutomator 自动化测试

    使用UIAutomator2时,可以配合uiautomatorviewer工具,这个工具位于SDK的tools目录下,用于扫描和分析应用的UI界面。通过它,开发者可以获取到UI控件的各种属性,如ID、文本、可聚焦性等,以及它们在布局中的层次...

    Android 自动化测试框架

    UIAutomatorViewer工具可以帮助获取应用的控件属性。UIAutomator适用于SDK 16(Android 4.1)及更高版本,不支持Hybrid App和WebApp,且无法跨App测试。 4. **Robotium** Robotium是一个基于Instrumentation的黑盒...

    Android自动化-UiAutomator

    - 使用`uiautomatorviewer`工具可以分析应用界面,获取UI控件的属性,辅助编写测试脚本。 总之,Android UiAutomator提供了一种便捷的方式来自动化测试Android应用的用户界面,通过简单的Java代码就能实现对应用的...

    Python库 | androidviewclient-11.0.6-py2.7.egg

    AndroidViewClient是由Daitnu公司开发的开源工具,它结合了`uiautomatorviewer`和`monkeyrunner`的优点,提供了一个更高级的API,简化了与Android设备的交互。这个库的核心功能包括: 1. **远程控制**: 可以通过USB...

    appium教程

    6. **UIAutomatorViewer工具的使用**:帮助开发者分析和识别Android应用中的UI元素,对于编写测试脚本非常重要。 7. **获取包名和Activity**:了解如何获取应用的包名和主Activity名称,这是进行自动化测试的基础。 ...

Global site tag (gtag.js) - Google Analytics