autojs(autojs.org) 无疑是目前为止比较不错的app自动化工具,用过,也遇到过不少坑。最近在网上闲逛时偶然间发现了冰狐智能辅助aznfz.com 这个平台,可以在不编程的情况下仅通过配置参数来实现app自动化,本人由之前的疑惑、怀疑,到试着做一下,再到后来逐渐爱上了冰狐智能辅助。下面我把自己的从autojs转到冰狐智能辅助的心里历程写出来,供大家在选择工具时参考。
由于我不是专业开发人员,了解一点编程知识但不熟练,所以之前每次遇到项目时我都出钱让别人帮忙写autojs来实现,但随之而来的就是一个巨大的坑,就是后期由于各种原因(比如项目变更、或者app的界面发生变化、或者操作流程有变)需要修改脚本时,我变的非常非常非常地被动。经常出现开发脚本的人漫天要价,一个很小的改动就要好几百(现在看来冰狐只需要修改几个参数就搞定,1分钟的事情),还一副爱搞不搞的表情,很是老火,但又不能拒绝,否则之前的脚本就白开发了(就算换个人开发脚本大概率也会遇到同样的问题)。
大概在今年年初左右在网上无意间发现了冰狐智能辅助,官方号称可以不写一行代码仅配置参数就可以搞定各种app的自动化,我刚开始抱着怀疑的态度(心想如果不用编程就能搞定,那程序员岂不都失业了么,吹牛也不能吹上天啊),后来想想还是试下吧,试下又不要钱,万一是真的呢,于是我花了2个小时把自动构建脚本的文档和相关视频例子仔细看了下,觉得还挺简单的,于是找个钉钉自动打卡的视频例子照着做了一次,顺利搞定,果然可以实现自动打卡,太神奇了,后面我就专心研究了几遍冰狐智能辅助,现在已经可以熟练的搞定任何app自动化了。
熟悉冰狐智能辅助后,我把之前的autojs项目全部用冰狐智能辅助的自动构建脚本实现了一遍,后续项目任何变动我再也不被动了,项目的整个开发成本比以前低了不知道多少倍。现在我基本上已经完全抛弃autojs了,现在冰狐智能辅助是我的新宠,哈哈哈!
下面用钉钉自动打卡作为例子,讲解下如何使用冰狐智能辅助:
熟悉业务逻辑
了解人工钉钉打卡的过程,也即熟悉业务逻辑,建议选择钉钉v6.5.10版本(其他版本操作界面可能会稍有不同,所以模块参数有可能要根据实际情况修改)。
选择模块并配置参数
在网页端「移动端」/「自动构建脚本」中新建一个“自动构建”,根据上一步的业务逻辑选择合适的自动构建模块并配置参数。
元数据
在配置自动构建模块和参数的过程中,系统会自动生成json格式的元数据用于描述选择的模块和参数,使用这个元数据可以快速复制一份完全一样的“自动构建”。
// 请新建一个自动构建,然后点击"元数据",将如下元数据拷贝进去然后保存,系统会自动生成一个完整的自动构建demo。 { "type": "root", "children": [{ "type": "declareVar", "var": [{ "name": "temp", "type": "normal", "initType": "null", "initValue": "null" }, { "name": "ret", "type": "normal", "initType": "null", "initValue": "null" }, { "name": "view", "type": "normal", "initType": "null", "initValue": "null" }, { "name": "viewContainer", "type": "normal", "initType": "null", "initValue": "null" }, { "name": "tag", "type": "normal", "initType": "null", "initValue": "null" }, { "name": "item", "type": "normal", "initType": "null", "initValue": "null" }, { "name": "index", "type": "normal", "initType": "null", "initValue": "null" }, { "name": "data", "type": "normal", "initType": "string", "initValue": "" }, { "name": "text", "type": "normal", "initType": "string", "initValue": "" }] }, { "type": "main", "desc": "业务逻辑入口", "debug": false, "params": [], "children": [{ "type": "launchApp", "desc": "启动APP", "debug": false, "packageName": "com.alibaba.android.rimet", "tag": "txt:工作台#", "false": {}, "failed": "", "maxStep": 30, "children": [{ "type": "clickAndEnter", "desc": "点击进入工作台", "class": 1, "debug": false, "clickTag": "txt:工作台#", "root": "", "clickWidgetIndex": 0, "family": [], "descendant": [], "checkTag": "txt:应用中心#", "mode": "2", "false": {}, "failed": "", "duration": 500, "maxStep": "8", "beforeWait": 0, "afterWait": 0, "children": [{ "type": "clickAndEnter", "desc": "点击进入考勤打卡页面", "class": 1, "debug": false, "clickTag": "txt:考勤打卡#", "root": "", "clickWidgetIndex": "0", "family": [], "descendant": [], "checkTag": "txt:统计#", "mode": "2", "failed": "", "duration": "500", "maxStep": "8", "beforeWait": "0", "afterWait": "0", "children": [{ "type": "click", "desc": "点击打开", "class": 1, "debug": false, "tag": "txt:上班打卡|txt:下班打卡#", "root": "", "widgetIndex": "0", "family": [], "descendant": [], "mode": "3", "failed": "", "maxStep": "5", "longClick": false, "random": true, "duration": "5000", "beforeWait": "0", "afterWait": "1000" }], "false": {} }] }] }] }], "desc": "根模块", "debug": false }
编译运行
1.在网页端「移动端」/「自动构建脚本」点击右边的“编译”按钮,将自动构建编译成与自动构建名称相同的js脚本。
2.在网页端「移动端」/「移动端脚本」点击右边的“发布”按钮发布脚本。
3.在网页端「移动端」/「移动端脚本」点击右边的“运行”按钮,并选择设备,然后执行。