Android自动化测试(二)
来源:互联网 发布:海贼王 居鲁士 知乎 编辑:程序博客网 时间:2024/05/22 20:49
背景
之前调研过:
Android自动化测试
最后我们选择了ATX
存在问题
用了一段时间,发现有不少问题:
1,输入中文的时候,会间歇性缓慢
2,控制脚本时不时会报 RPC service not found
之类的错误
3,并发控制的时候,第一下要先串行跑一波,初始化uiautomator的功能
4,耗CPU、耗内存,耗IO
修正方法及分析
1,中文输入法的问题我做了修改,见自动化测试输入文字
2,3 主要是uiautomator的问题。
花了一点时间去分析uiautomator 是基于Testing UI for Multiple Apps做的封装。
之前做了一些分析android uiautomator 点击分析
简单说就是把事件inject到InputManger中,走分发的逻辑,因为inject过程中会检查应用的权限,所以需要弄一个.test的app。在python层,rpc调用uiautomator.apk提供的功能。当然这样是有好处的,好处在于,点击成功与否都是知道的。
但是rpc调用不稳定,而且会存在缓存的问题。我看完了adb input
的代码,发现他提供的功能是全的。但是也是走的是inject的方式。还可以再底层一点的控制,adb sendevent
,但是写脚本不好写,所以adb input
就已经很足够了。
python atx gui 的工具不好用,我也做了一点点UI的调整
4,现在还没解决,有点思路:
IO,内存,cpu,主要是在处理图像上,考虑把图像匹配移到android中进行处理。
预期效果应该是在android
中加一个工具,例如
cv match /path-to-target/traget.png /path-to-screen/screencap.png(x1,y1)|(x2,y2)|(x3,y3)|(x4,y4)
用 opencv
写出来了,方法整理在use opencv in android system
在android上搞定图像匹配之后,点击图片可能会分为几步
# check file exitadb push object.png /path-to/object.pngadb shell screencap -p /path-to/screen.png$location = adb shell cv match /path-to/object.png /path-to/screen.pngadb shell wm size# computer sizeadb input tap $location
但是这样距离我们的预期有点距离。
这几个步骤应该是一个原子性的操作,不应该分多步执行
也许 可以修改本机的adb,例如增加支持 adb click /local-path-to/object.png
?再考虑考虑。
输出
修改后的代码fork在
https://github.com/wuyisheng/ATX
- Android自动化测试(二)
- Android 自动化测试二
- 自动化测试(二)
- Android Robotium自动化测试二
- Android Robotium自动化测试二
- Android 自动化测试工具(二)
- Android自动化测试之Robotium学习(二)
- Android自动化测试之环境搭建(二)
- Android 自动化测试—robotium(二)初识
- Android自动化测试之Monkey工具(二)
- Android自动化测试之MonkeyRunner工具(二)
- Android 自动化测试—robotium(二)初识
- android自动化测试之MonkeyRunner使用实例(二)
- Android自动化测试之环境搭建(二)
- android 自动化测试之MonkeyRunner学习(二)
- 从零开始快速搭建Android应用自动化测试(二)
- 浅析Android自动化测试基础技术(二)
- Android自动化测试MonkeyRunner(二)------第一个示例
- hashMap工作原理
- 数据结构 线性表的顺序结构
- wireshark抓包分析tcp
- 有用的插件
- 皮尔逊相关系数 和 R^2
- Android自动化测试(二)
- Lightoj1120线段树扫描线【模板】
- Python :assert断言使用
- 【嵌入式学习历程6】 指针(1)
- 二叉树的构造与遍历
- Java集合(五)- HashTable详解
- ATOM 安装+配置炫酷的activate-power-mode..
- FFMPEG视音频编解码资料收集
- 算法分析设计与分析-蛮力法(3)--顺序查找