综述由于原作者不再维护 Auto.js,我计划在原来4.1版本的基础上继续维护项目,并将原项目命名为 AutoX.js 。
欢迎更多开发者参与这个项目的维护与升级 。
这篇文档里有加密相关的内容可能和实际运行情况有冲突,我会逐步完善更新,程序代码,尽可能保持一致 。
AutoX.js 使用 JAVAScript 作为脚本语言,目前使用 Rhino 1.7.13 作为脚本引擎,支持 ES5 与部分 ES6 特性 。
- 学习 AutoX.js 的 API 之前,建议先学习 JavaScript 的基本语法 。
- 如果想要在电脑上开发 AutoX.js,可以使用 VSCode 以及 AutoX.js 插件 。
- 如果想要使用 TypeScript 来开发,目前有开发者公布了一个 相关工具 。
AutoX.js 的功能
- AutoX.js 项目工程化:结合 webpack vscode 插件,开发、编译、打包、部署、混淆、加密一体化 文档资料
- vscode 插件右键,自动提示操作等 下载地址
- vscode 自动补全、方法注释等 文档资料
- 修复众多 bug,升级到 5.0.1 ,合并打包插件,升级配置文件等功能
- 建设论坛、提供 交流社区
- 建设应用商店
- 提供更好的 SDK 封装
- 支持 WebSocket
"自动操作"的部分又可以大致分为 基于控件 和 基于坐标 的操作 。
基于坐标的操作是通过指定具体的屏幕坐标,进行点击,例如 click(100, 200) 等,这种方式在游戏类脚本中比较有可行性,结合找图找色、坐标放缩功能也能达到较好的兼容性 。但是,这种方式对于一般软件脚本不是很高效,而且需要Android/ target=_blank class=infotextkey>安卓 7.0 以上或 root 权限才能执行 。
软件类脚本(例如:批量添加联系人、自动提取短信验证码等等)我们推荐采用基于控件的模拟操作,结合通知、按键等达成更好的工作流 。
其他模块主要包括:
- App: 应用 。启动应用,卸载应用,使用应用查看、编辑文件、访问网页,发送应用间广播等 。
- console: 控制台 。记录运行的日志、错误、信息等 。
- device: 设备 。获取设备屏幕宽高、系统版本等信息,控制设备音量、亮度等 。
- engines: 脚本引擎 。用于启动其他脚本 。
- events: 事件与监听 。按键监听,通知监听,触摸监听等 。
- floaty: 悬浮窗 。用于显示自定义的悬浮窗 。
- files: 文件系统 。文件创建、获取信息、读写 。
- http: HTTP 。发送 HTTP 请求,例如 GET, POST 等 。
- websocket: websocket 客户端、服务器端,可以进行主动推送消息
- images, colors: 图片和图色处理 。截图,剪切图片,找图找色,读取保存图片等 。
- keys: 按键模拟 。比如音量键、Home 键模拟等 。
- shell: Shell 命令 。
- threads: 多线程支持 。
- ui: UI 界面 。用于显示自定义的 UI 界面,和用户交互 。
参与共建软件源码
文档源码
【Android自动化测试Auto.js科普】本文档更新稍有滞后,某些模块文档并没写完,希望有开发者共同参与维护!
不用担心你不懂,我们可以讨论交流!
欢迎大家 PR,共同参与开源!
推荐阅读
- 明修"栈"道——越过Android启动栈陷阱
- Web测试和APP测试的区别是什么?
- 安全性测试方法有哪些呢?
- 如何确保自动化时代的网络安全和数据保护?
- Android性能优化-ListView自适应性能问题
- Android系统服务DropBoxManagerService详解与实践应用
- Go、Spring Boot、 Elixir 以及Helidon 微服务框架性能测试对比
- 一道题,测试你是否“睡眠障碍”,中医推荐几个方法缓解失眠
- 中国人民政治协商会议|心理测试:凭直觉选择蜗牛,读出你内心认为不可能的事情是什么?
- 毒奶粉是什么游戏(毒奶粉手游测试服)