51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 1638|回复: 0
打印 上一主题 下一主题

uiautomator2 知识点滴记录

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2018-4-10 15:03:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
一、简单介绍

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

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


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

二、实现功能

1、获取手机部分信息(d.info)


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


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


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


参数可支持以下:
● 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

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-17 22:35 , Processed in 0.065378 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表