使用须知
Aibot能力:
1、AndroidBot,底层自主研发,支持安卓原生APP和H5界面元素和图色定位。元素元素定位速度是Appium框架的的10倍,2340*1080 图色定位仅需要50毫秒!
2、WindowsBot,底层自主研发,支持Windows应用、.NET、WinForm、WPF、QT、JAVA(Swing和AWT等GUI库)和Electron 等语言开发的窗口界面元素和图色定位,独家xpath算法 简洁急速,
元素/图色定位速度分别是可视化RPA的3倍和20倍!
3、WebBot,底层自主研发,支持chromium内核的所有浏览器和应用。C/C++语言基于浏览器内核协议研发而成的一款web自动化框架。速度是selenium 10倍!
4、Android远程投屏,底层自主研发,可在一台电脑监控观察多台安卓RPA机器人运行状态并批量管理操作
5、自建OCR服务器,支持文字识别和定位,免费且不限制使用次数!
6、自研AiboteScriptUI界面开发工具,提供人机交互功能,打包exe发布机器人可以在离线环境运行!
AndoridBot开源协议
Aibote安卓云端自动化框架,采用云端服务模式构建。由安卓手机客户端主动连接服务器/电脑服务端程序,
服务端应采用多线程TCP协议和多个安卓设备通信。构架模式决定了自动化代码部署在云端,能有效防止脚本被第三方恶意破解。
结合Aibote远程投屏技术,可直接连接远程用户设备做自动化机器人编写,完美解决远程自动化测试需求。独家图色定位算法,
50毫秒以内的速度遍历查找2340*1080分辨率的设备。为了让更多人体验到我们产品,我们决议在此公布框架协议,
希望有更多开发者能完善并封装成各种计算机语言,封装请参考nodejs版的函数说明
发送命令协议格式:len/len/len...\ndata
接收命令协议格式:len/data
协议示例:
sendData("saveScreenshot", "/storage/emulated/0/Android/data/com.aibot.client/files/1.png", 80, 150, 30, 30, 0, 127, 255);
发送数据包:14/61/2/3/2/2/1/3/3\nsaveScreenshot/storage/emulated/0/Android/data/com.aibot.client/files/1.png8015030300127255
返回数据包:"false"或者 "true"
sendData("getColor", 100, 200);
数据包:8/3/3\ngetColor100200
返回数据包:#000000
sendData("findImage", "/storage/emulated/0/Android/data/com.aibot.client/files/1.png", 0, 0, 0, 0, 0.95, 0, 0, 0);
数据包:9/61/1/1/1/1/4/1/1/1\nfindImage/storage/emulated/0/Android/data/com.aibot.client/files/1.png00000.95000
返回数据包:成功"x|y" 失败"-1.0|-1.0"
sendData("matchTemplate", "/storage/emulated/0/Android/data/com.aibot.client/files/1.png", 0, 0, 0, 0, 0.95, 0, 0, 1);
数据包:13/61/1/1/1/1/4/1/1/1\nmatchTemplate/storage/emulated/0/Android/data/com.aibot.client/files/1.png00000.95001
返回数据包:单坐标点成功"x|y" 多坐标点成功 "x1|y1/x2|y2..." 失败"-1.0|-1.0"
sendData("findAnimation", 100, 0, 0, 0, 0);
数据包:13/3/0/0/0/0\nfindAnimation1000000
返回数据包:单坐标点成功"x|y" 多坐标点成功 "x1|y1/x2|y2..." 失败"-1.0|-1.0"
sendData("findColor", "#e8f2f8", "1020#e7f0f7", 0, 0, 0, 0, 1);
数据包:9/7/11/1/1/1/1/1\nfindColor#e8f2f81020#e7f0f700001
返回数据包:成功"x|y" 失败"-1.0|-1.0"
sendData("compareColor", 100, 200, "#e8f2f8", "1020#e7f0f7", 0, 0, 0, 0, 1);
数据包:12/3/3/7/11/1/1/1/1/1\ncompareColor100200#e8f2f81020#e7f0f700001
返回数据包:"false"或者 "true"
sendData("press", 10, 20, 3000);
数据包:5/2/2/4\npress10203000
返回数据包:"false"或者 "true"
sendData("move", 10, 20, 3000);
数据包:4/2/2/4\nmove10203000
返回数据包:"false"或者 "true"
sendData("release");
数据包:7\nrelease
返回数据包:"false"或者 "true"
sendData("click", 200, 500);
数据包:5/3/3\nclick200500
返回数据包:"false"或者 "true"
sendData("doubleClick", 200, 500);
数据包:11/3/3\ndoubleClick200500
返回数据包:"false"或者 "true"
sendData("longClick", 10, 20, 3000);
数据包:9/2/2/4\nlongClick10203000
返回数据包:"false"或者 "true"
sendData("swipe", 10, 10, 200, 200, 1000);
数据包:5/2/2/3/3/4\nswipe10102002001000
返回数据包:"false"或者 "true"
sendData("dispatchGesture", "1000/1558\n100/100\n799/800\n234/89", 3000);
数据包:15/35/4\ndispatchGesture1000/1558\n100/100\n799/800\n234/893000
返回数据包:"false"或者 "true"
sendData("sendKeys", "aibot");
数据包:8/5\nsendKeysaibot
返回数据包:"false"或者 "true"
sendData("back");
数据包:4\nback
返回数据包:"false"或者 "true"
sendData("home");
数据包:4\nhome
返回数据包:"false"或者 "true"
sendData("recents");
数据包:7\nrecents
返回数据包:"false"或者 "true"
sendData("sendVk", 187);
数据包:6