51Testing软件测试论坛

标题: uiautomator2 知识点滴记录 [打印本页]

作者: 天天酷派哦    时间: 2018-4-10 15:03
标题: uiautomator2 知识点滴记录
一、简单介绍

1、自动化测试开源工具,仅支持Android平台的原生应用测试
2、目前仅支持脚本语言python
3、封装谷歌自带的uiautomator测试框架,提供便利的python接口

google提供的uiautomator库可获取安卓APP的控件属性,并执行相关操作,但有两个缺点:  
① 测试脚本只能使用Java语言  
② 测试脚本必须每次被上传到设备上运行
4、工作原理:
原理是在手机上运行了一个http服务器,将uiautomator中的功能开放出来,然后再将这些http接口,封装成Python库

[attach]113161[/attach]
以下解释直接引用网址:https://testerhome.com/topics/11357
① 在移动设备上安装atx-agent(守护进程), 随后atx-agent启动uiautomator2服务(默认7912端口)进行监听
② 在PC上编写测试脚本并执行(相当于发送HTTP请求到移动设备的server端)
③ 移动设备通过WIFI或USB接收到PC上发来的HTTP请求,执行制定的操作

二、实现功能

1、获取手机部分信息(d.info)
[attach]113162[/attach]

2、操作手机设备,比如点击Home键、锁屏、查看快捷键等(d.press("home")、d.screen_off()、d.open_quick_settings()等)

[attach]113162[/attach]
3、安装、启动、卸载应用
d.app_install('http://some-domain.com/some.apk')
d.app_start("com.example.xxx")
d.app_stop("com.example.xxx")
[attach]113164[/attach]

4、识别手机上控件、对控件进行相关操作等
d(text='Clock', className='android.widget.TextView')

[attach]113165[/attach]
参数可支持以下:
● text, textContains, textMatches, textStartsWith
● className, classNameMatches
● description, descriptionContains, descriptionMatches, descriptionStartsWith
● checkable, checked, clickable, longClickable
● scrollable, enabled,focusable, focused, selected
● packageName, packageNameMatches
● resourceId, resourceIdMatches
● index, instance

三、实际操作

1、PC端先部署好环境
①安装jdk
②安装sdk
③安装python
④使用python自带easy_install.exe工具安装pip(easy_isntall.exe pip)
⑤pip install --pre uiautomator2
2、给安卓设备安装上uiautomator工具
在电脑端执行python -m uiautomator2 init,等待安装完成即可
3、可打开PC端通过命令行命令,或者执行脚本来操作手机

四、我的总结

1、uiautomator2和uiautomatorview.bat有冲突,可直接使用weditor工具来查看控件信息
2、安装在手机上的uiautomator工具隔段时间就会有问题,因此不适合做大规模的兼容测试
3、仅支持安卓原生应用






欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2