当前位置: 首页 > news >正文

移动端自动化Auto.js入门及案例实操

前提: Appium 和 Airtest 编写的自动化脚本都依赖于 PC 端运行,没有办法直接运行在移动端

Auto.js是什么?

1.是 Android 平台上的一款自动化工具,它通过编写 JavaScript 脚本,对 App 进行自动化操作

2.只支持安卓,不需要 Root 权限

3.主要是运用系统自带的“无障碍服务”来获取页面的,这是个亮点,但有个缺陷就是每次关闭 Auto.js 这个app后都要重新开启“无障碍服务”,颇为繁琐。

4.部分功能需要pro版才能用

5.大白话:在你的安卓手机上安装这个 APP(Auto.js APP),然后通过编写 JS 脚本的方式(用Visual Studio Code写脚本)去实现对某个APP操作等等的自动化操作。

有什么用?

  1. 数据监控:可以监视当前手机的数据。
  2. 图片监控:截图获取当前页面信息。
  3. 基本操作:比如安装、卸载 、启动、停止APP,切换网络模式、自动打开网址等。
  4. 自动化工作流:编写简单的脚本,完成一系列自动化操作。如:微信自动点赞,给某个人发消息,快速抢单,刷视频等。
  5. 定时功能:定时执行某个脚本,来完成定时任务。如:定时打卡签到等。
  6. ...

优势?

  • 使用 JS 编写脚本,代码可读性强
  • 脚本文件体积小,可以打包成 APK 直接安装
  • 拥有丰富的 UI 组件用于构建 GUI 界面
  • 非 Root 设备也能完成自动化操作,可以摆脱 PC 直接运行
  • 提供多种元素定位方式,可以适配各种机型
  • 官方文档非常详细,学习成本低

实操

前提准备:

1.已下载安装好Visual Studio Code

2.下载Auto.js APP

通过百度网盘分享的文件:app-v6-universal-release-unsigned-s...
链接:https://pan.baidu.com/s/1O4bWbn-J35b8o5fWv4UA7Q 
提取码:xd29

步骤:

1.打开Visual Studio Code,点击扩展(FIle-Preference-Extensions)

2.输入"Auto.js"搜索,然后安装即可

 

3.新建一个项目:

通过菜单“查看”->“命令面板”->"Auto.js: New Project "新建一个项目,项目包括一个 main.js 和一个project.json 文件,main.js 就是写主要逻辑的文件,project.json 是项目的一些配置信息

4.然后就可以根据你的需要在 main.js 中编写 js 代码啦~

5.在 VSCode 中启动服务

通过菜单“查看”->“命令面板”->"Auto.js: Start Server "来启动项目,启动成功后,会在右下角显示“Auto.js server running”,只有启动了电脑端的服务,才能进行下面的连接操作。

6.在 Auto.js APP 中连接电脑

打开 Auto.js APP,点击右上角菜单按钮-打开“无障碍服务”(Auto.js 的实现就是依靠的无障碍模式,但是这个模式需要对应用单独打开。)和“已连接电脑”

7.打开“已连接电脑”开关后,会出现弹窗让你输入IP地址,此时通过命令行ipconfig查看电脑的IP地址,再输入IP地址,等待连接成功。

(要么用数据线,要么保证电脑和手机在同一局域网之下,即IP相同)

 

 8.查看VS Code,自动显示连接成功。

9.保存项目到手机:

当你写完脚本之后,可以通过菜单“查看”->“命令面板”->"Auto.js: Save Project "来保存修改到你的手机上,之后,你就可以在 Auto.js 中看到你做的修改。

10.调试

通过菜单“查看”->“命令面板”->"Auto.js: Run On Device "来运行,当然,前提是你已经安装上面的步骤操作过,并且 Auto.js 处于活动状态。

我们的demo就是他新建项目时自带的toast('Hello, AutoX.js');

菜单下方显示你已连接到此电脑的设备,我这儿只有一台,所以只显示一个,如果你同时调试多台的话,这里应该显示多个。点击它!

 11.查看手机:

尾声

【Auto.js教程】Auto.js入门及第一个示例程序 - benjieqiang - 博客园

Autojs - 用 JavaScript 实现自己的安卓手机自动化工具脚本-腾讯云开发者社区-腾讯云

移动端自动化 AutoJS 快速入门指南(上)-腾讯云开发者社区-腾讯云


http://www.mrgr.cn/news/79863.html

相关文章:

  • Strawberry Fields:探索学习量子光学编程的奇妙世界
  • 【AI知识】有监督学习之回归任务(附线性回归代码及可视化)
  • scala的泛型参数
  • 作业Day2: 多文件编译; 思维导图
  • HBuilderX(uni-app)Vue3路由传参和接收路由参数!!
  • 自动驾驶控制与规划——Project 1: 车辆纵向控制
  • 【Redis源码】网络模型
  • hbuilder 安卓app手机调试中基座如何设置
  • 微信原生小程序---生成海报并分享,保存本地
  • ssd202d-badblock-坏块检测
  • 【数据结构——查找】二叉排序树(头歌实践教学平台习题)【合集】
  • 嵌入式驱动开发详解15(电容触摸屏gt9147)
  • C# 实现 10 位纯数字随机数
  • 我们来学mysql -- 探讨win安装方式(安装篇)
  • LabVIEW实现MQTT通信
  • Blue Ocean 在Jenkins上创建Pipeline使用详解
  • 频域滤波中默认的边界条件——补零与不补零(答作者问)
  • 电脑怎么设置通电自动开机(工控机)
  • OpenMMlab导出MaskFormer/Mask2Former模型并用onnxruntime和tensorrt推理
  • 【实现多网卡电脑的网络连接共享】