当前位置:网站首页>从autojs到冰狐智能辅助的心里历程
从autojs到冰狐智能辅助的心里历程
2022-07-06 06:45:00 【画中有画】
autojs无疑是目前为止比较不错的app自动化工具,用过,也遇到过不少坑。最近在网上闲逛时偶然间发现了冰狐智能辅助这个平台,可以在不编程的情况下仅通过配置参数来实现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.在网页端「移动端」/「移动端脚本」点击右边的“运行”按钮,并选择设备,然后执行。
边栏推荐
- Py06 dictionary mapping dictionary nested key does not exist test key sorting
- 因高额网络费用,Arbitrum 奥德赛活动暂停,Nitro 发行迫在眉睫
- On the first day of clock in, click to open a surprise, and the switch statement is explained in detail
- How to do a good job in financial literature translation?
- 《从0到1:CTFer成长之路》书籍配套题目(周更)
- Fedora/REHL 安装 semanage
- Latex文字加颜色的三种办法
- 【每日一题】729. 我的日程安排表 I
- Every API has its foundation when a building rises from the ground
- Wish Dragon Boat Festival is happy
猜你喜欢
What are the commonly used English words and sentences about COVID-19?
On the first day of clock in, click to open a surprise, and the switch statement is explained in detail
What is the difference between int (1) and int (10)? Senior developers can't tell!
Advanced MySQL: Basics (1-4 Lectures)
Fedora/REHL 安装 semanage
26岁从财务转行软件测试,4年沉淀我已经是25k的测开工程师...
[brush questions] how can we correctly meet the interview?
Reflex WMS medium level series 3: display shipped replaceable groups
同事上了个厕所,我帮产品妹子轻松完成BI数据产品顺便得到奶茶奖励
[advanced software testing step 1] basic knowledge of automated testing
随机推荐
Pymongo gets a list of data
云服务器 AccessKey 密钥泄露利用
Attributeerror successfully resolved: can only use cat accessor with a ‘category‘ dtype
Office doc add in - Online CS
The ECU of 21 Audi q5l 45tfsi brushes is upgraded to master special adjustment, and the horsepower is safely and stably increased to 305 horsepower
万丈高楼平地起,每个API皆根基
Automated test environment configuration
LeetCode每日一题(971. Flip Binary Tree To Match Preorder Traversal)
Changes in the number of words in English papers translated into Chinese
Classification des verbes reconstruits grammaticalement - - English Rabbit Learning notes (2)
【软件测试进阶第1步】自动化测试基础知识
我的创作纪念日
Windows Server 2016 standard installing Oracle
Thesis abstract translation, multilingual pure human translation
Basic commands of MySQL
How much is it to translate Chinese into English for one minute?
Wish Dragon Boat Festival is happy
Delete external table source data
My seven years with NLP
GET 和 POST 请求类型的区别