什么是AIWork:
AT是AIWork旗下的一款安卓手机自动化集成度很高的自动化测试开发引擎,采用免root技术,自研IDE代码编辑器,脚本代码采用js代码,提供了众多的工具,方便自动生成js代码,做到可繁可简。AiWORK
简单易上手
AT提供了众多可视化代码编辑器,让你只是动动鼠标就可以生成代码,让编程小白也可以轻松入门。
灵活开发
对于编程大神,AT提供了代码编辑器,支持丰富的SDK封装,可以编写出复杂度极高的脚本。
IDE支持USB连接手机调试
通过PC版本AT一键连接手机进行手机界面显示控制,脚本开发等复杂操作。
支持远程连接手机,远程开发代码
真正实现内网穿透,无视路由器直接连接手机,开发调试,远程控制
可视化UI设计
让脚本编写的主要精力用于快速实现需求,不需要考虑复杂的ui设计,简单拖拽即可生成UI界面并且自带数据存储。
支持H5界面
AT内置WebView浏览器,您可以自己设置个性化的UI界面然后显示到浏览器即可。软件提供 AT调用h5,同时支持h5调用AT.
AI人工智能加持
无障碍开发模式可以获取app的元素,然后对元素进行自动化操作,但是也有众多app没有元素,基本都是图像和视频,这对于
采用元素开发可以说是毁灭性打击,AT加入了自研算法的AI学习引擎。可以自己训练目标识别。OCR识别,让您可以更轻松简单的实现更为复杂的自动化测试开发。
AT支持打包APK
开发好的脚本想要分享给其他人怎么办,直接打包成apk包发给其他用户安装即可,apk采用了高强度加密,几乎无法还原出源码。安全可靠。
快速入门AutoApp
前言:对于有脚本编程经验的人,本节重点介绍下开发者比较关心的一些核心功能。
AutoApp使用的脚本语言:
AT采用JS语言作为主要开发语言
AutoAPP的开发方式
AutoAPP需要连接pc进行开发,PC版本开发工具AiWork,是一个专门为自动化研发的集中开发环境,其高效便利的开发方式可以让你,非常简单的生成代码。
首先我们演示下AiWork如何用自动生成找图代码
如何实现查找节点
AiWork提供了一个很方便的元素搜索器,只需要在需要定位的位置,右键审查元素即可打开,并且自动推荐搜索条件,
通过设置搜索条件自动生成代码
var nodes = auto.nodeSearch(3000).text("Facebook").className("android.widget.TextView")
var node=nodes.getNode(0);
node.click();
首先我们创建一个节点搜索器auto.nodeSearch(3000)并设置超时时间为3秒,然后查询text属性为”Facebook”,类名为”android.widget.TextView”的所有节点,存入一个集合对象nodes中,这里nodes不是一个数组,他是一个集合管理器,
然后通过nodes.getNode(0)取出第一个节点并存入node变量中。然后对node进行点击操作。
坐标点击屏幕
//↓坐标点击---------------------------
auto.clickPoint(120,355)
sleep.waitString(字符='',超时毫秒=1000)
//↑----------------------------------
auto.clickPoint为点击指定坐标位置,点击后如果需要等待可加入sleep.waitString 等待某个文字出现。
Home按键
auto.home();
Back返回
auto.back()
滑动
auto.swip(x1=300,y1=525,x2=300,y2=10)
从起点 300,525 坐标 滑动到终点 300,10坐标
截屏
var img=screen.screenShot(288,512,100);
截屏后自动把图片压缩成288,512
img.recycle();
使用完图片记得释放
区域截图
var img=screen.screenShotFull();
var cutimg=img.cutImage(0,0,100,100)
printl(cutimg);
img.recycle();
先全屏截图然后在裁剪坐标为0,0 100,100的区域存入变量cutimg中,之后打印查看图片并回收
找图
var img =screen.screenShot(288,512,100);
var base64='iVBORw0KGgoAAAANSUhEUgAAACIAAAAdCAIAAA'
var p=img.findImage(base64,weakThreshold=0.7,threshold=0.9,百分比区域=[0,0,1,1],-1);
if(p==null){
printl('未找到');
}else{
printl('找到'+p);
}
首先截屏,然后把要找的图片放入base64字符串中,之后通过找图函数findImage找图结果存入变量p中
单点找色
var img =screen.screenShot(288,512,100);
var p=img.findColor(rgb=[244,197,31],误差=1,百分比区域=[0,0,1,1])
printl(p);
if(p==null){
printl('未找到');
}else{
printl(`找到:${p.x()},${p.y()}`);
}
首先截屏,然后从图像中寻找指定rgb颜色的坐标,最后输出坐标信息
OCR文字识别
var img=screen.screenShotFull();
var ocrRes=img.MLKitOcr('zh');
var dect= ocrRes.findIncludeText('微信');
if(dect != null){
printl('找到')
detect.click();
}else{
printl('未找到')
}
首先全尺寸截图,然后进行ocr识别,识别结果是一个ocrResult对象,他提供了一个查询文字坐标的功能,
查询后存入对象dect中,我们可以查看dect的结果也可以只是对他进行点击