The only people who have anything to fear from free software are those whose products are worth even less.
——David Emery
MagicHands,是一款自动化测试引擎,可以在Android7.0以上免root运行自动化脚本,使用js编写。
开源让我觉着和上帝一样,创造出自己喜欢的东西.
在线时间:(北京)12:00-00:00
- Q群:710985269
- QQ:3560000009
- Wx:php787
目前已兼容 7.0 ~ 12.0并跟进后续新系统
参考示例中的MainActivity的初始化工作流程
在assets文件下新建js文件夹,在js文件夹下新建main.js为入口,在入口调用接口即可
/**
获取给定节点的文本内容
@权限 无障碍
@函数名 getText
@参数 node - 节点对象
@返回值 成功:文本内容 失败:null
@功能 获取给定节点的文本内容
*/
function getText(node) {
return js.getText(node);
}
/**
尝试点击节点
@权限 无障碍
@函数名 tryClick
@参数 node - 节点对象
@返回值 成功:true 失败:false
@功能 尝试点击目标节点,当传入节点无法节点会依次向上层节点进行点击尝试
*/
function tryClick(node){
return js.tryClick(node)
}
/**
获取节点的父亲节点
@权限 无障碍
@函数名 getParentNode
@参数 node - 节点
@返回值 成功:节点信息 失败:null
@功能 获取当前节点的父亲节点
*/
function getParentNode(node){
return js.getParentNode(node)
}
/**
获取坐标点的Rgb值
@权限 常规权限
@函数名 getRgb
@参数 b - Bit对象 @参数 x - x坐标 @参数 y - y坐标
@返回值 成功:rgb字符串 失败:null
@功能 获取指定坐标点的rgb字符串
*/
function getRgb(b,x,y){
return js.getRgb(b,x,y)
}
/**
捕获屏幕
@权限 常规权限
@函数名 setUpVirtualDisplay
@功能 捕获当前界面
*/
function setUpVirtualDisplay(){
js.setUpVirtualDisplay()
}
/**
获取捕获的bit对象
@权限 常规权限
@函数名 getBitmap
@返回值 成功:bit对象 失败:null
@功能 获取捕获的bit对象
*/
function getBitmap(){
return js.getBitmap()
}
更多其他操作看:在线文档
- app模块,用户操作与UI模块
- core模块,此模块为MagicHands的核心模块,负责完成整个Mh的调度。
如需要参与开发请直接pr就可以了,相关教程请百度或者看 如何在 GitHub 提交第一个 pull request
- 中英文说明都可以,但是一定要详细说明问题
- 请遵从原项目的代码风格、设计模式,请勿个性化。
- PR不分大小,有问题随时欢迎提交。
本人精力有限,所以辛苦大家多多参与PR
- 寄生模式(虚拟化)
- nodejs or v8引擎
AGPL-3.0 license
Copyright (c) 2023 fan