Home
Projects
Resources
Alternatives
Blog
Sign In
AutoClick
Save
基于Robotium的自动遍历方案
Overview
Reviews
Resources
Project README
AutoClick
基于Robotium的自动遍历方案
特性
可跨应用
补上Robotium不支持跨应用的短板
自动遍历时不会有具体的跨应用操作,唯一出现的地方在Android 6.0以上版本启动应用时的授权操作(可能存在兼容性问题)
跨应用应用在单独写用例时
跨应用详情
多种模式
快速模式:只启动Activity,快速检测崩溃问题(如兼容性、混淆、代码问题导致的崩溃),一般几分钟可完成。依赖于Params.json文件,该文件可由录制模式产生。
迭代模式:启动Activity并点击每个View。依赖于Params.json文件,该文件可由录制模式产生。
爬虫模式:通过迭代主页并记录新开Activity,迭代完毕后读取新开Activity,循环往复,直至无新的Activity。
录制模式
:需人工操作应用,记录每个新开的Activity,供快速模式、迭代模式使用。录制模式可在功能测试阶段使用,录制模式默认休眠1个小时,期间操作应用打开的Activity都将被记录下来。
智能输入
根据输入框支持的输入类型和最大长度进行输入
支持手机号、邮箱、普通文本等类型
红点标记
将要被点击的View会以红点标记保存为截图
如果发现截图没有红点或者红点位置明显错误时,不用惊讶,那一定是隐藏的View被点击了
没有红点:隐藏的View坐标不在屏幕范围
红点标记错误:点击到被遮挡的View,通常发生在ViewPager布局
无惧遮挡
被遮挡的View也可以点击到,因此无需滑动操作。
举例:列表一次性加载10条数据,屏幕只显示了5条,剩下5条没有显示的也可以点击到。
完全遍历
应用所有Activity都可以遍历到,360°无死角。
快速模式、迭代模式覆盖度最高可达100%,通过爬虫模式 + 录制模式组合产生的Params.json文件,或单独录制模式产生的Params.json文件。
爬虫模式亦可达到很高的覆盖度,不同应用覆盖度不一致,依赖Activity关联度。
提高爬虫模式覆盖度的方法:采用划分模块的方法,比如主页模块、个人模块等等
一触即达
只需一步就能打开应用内任何Activity
举例:在已经登录的情况下,想去到登录页面,一般可能的做法是在主页点击我,去到个人中心,个人中心滑动到最底部,点击退出登录,来到登录页面。一触即达只要知道登录页面的名称、启动参数就能直接打开登录页面。
可复现性
在数据相对不变的情况下,遍历Activity中View的顺序是一致的,因此具备一定的复现可能性,可理解为Monkey中的种子
多重跟踪
多重跟踪能在出现崩溃的情况下,更好的定位、复现、分析问题。
截图跟踪:每个点击操作都将被记录,根据截图顺序可知进行了何等操作
日志跟踪:崩溃日志抓取,供研发使用
接口跟踪:配合Fiddler等抓包工具,可知发生崩溃时请求了哪些接口,从而更好的定位问题
元素跟踪:点击的View信息以操作日志形式记录在SD card,包含包名、类名、资源ID、屏幕位置、文本等等信息
支持Hybrid
除了支持Native遍历,亦支持Hybrid
更多信息详见
传送门
Open Source Agenda is not affiliated with "AutoClick" Project. README Source:
qNone/AutoClick
Stars
182
Open Issues
0
Last Commit
7 years ago
Repository
qNone/AutoClick
Tags
Android
Autoclick
Robotium
Open Source Agenda Badge
Submit Review
Review Your Favorite Project
Submit Resource
Articles, Courses, Videos
Submit Article
Submit a post to our blog
From the blog
Dec 11, 2022
How to Choose Which Programming Language to Learn First?
From the blog
Dec 11, 2022
How to Choose Which Programming Language to Learn First?
Home
Projects
Resources
Alternatives
Blog
Sign In
Sign In to OSA
I agree with
Terms of Service
and
Privacy Policy
Sign In with Github