Giter VIP home page Giter VIP logo

magichands's Introduction

注意:本库目前基于AGPL-3.0协议,请注意如果您使用了此库的代码,要保证您的作品开源并注明版权信息.

Image

莫愁前路无知己,天下谁人不识君.

声明:本库允许学习使用,允许使用者利用此库制作合法合规的收费脚本或免费脚本,但不允许在此库基础上套壳变成收费框架!

Android自动化引擎 · MagicHands

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并跟进后续新系统

如何使用

点我看视频教程

Step 1.初始化:

参考示例中的MainActivity的初始化工作流程

Step 2.编写Js代码并运行:

在assets文件下新建js文件夹,在js文件夹下新建main.js为入口,在入口调用接口即可

相关API

/**
获取给定节点的文本内容
@权限 无障碍
@函数名 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()
}

更多其他操作看:在线文档

如何参与开发?

应用分2个模块

  • app模块,用户操作与UI模块
  • core模块,此模块为MagicHands的核心模块,负责完成整个Mh的调度。

如需要参与开发请直接pr就可以了,相关教程请百度或者看 如何在 GitHub 提交第一个 pull request

PR须知

  1. 中英文说明都可以,但是一定要详细说明问题
  2. 请遵从原项目的代码风格、设计模式,请勿个性化。
  3. PR不分大小,有问题随时欢迎提交。

一些额外的话

本人精力有限,所以辛苦大家多多参与PR

计划

  • 寄生模式(虚拟化)
  • nodejs or v8引擎

感谢

License

AGPL-3.0 license

Copyright (c) 2023 fan

magichands's People

Contributors

0cococ avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.