autojs项目搭建和入门实践

Auto.js 是一款无需root权限的javascript自动化软件,它可以帮助用户在手机上自动执行各种任务,比如自动填写表单、自动点击按钮、自动切换应用等,并且可以通过图形用户界面来管理和编辑脚本。
软件环境
操作系统:win10
VSCODE:1.79.2
auto.js :由于auto.js作者停止维护了,所以采用autox.js 6.4.3 来替代
模拟器:夜神模拟器 7.0.5 Android 7.1
环境安装
1、安装vscode
vscode官方网址:https://code.visualstudio.com/Download。
2、安装auto.js插件
点击设置–》Extensions–》在搜索框输入auto.js。安装方框里面的2个插件。如下图

3、安装手机模拟器
我选用的是夜神模拟器,官方地址:https://www.yeshen.com/
4、安装autox.js
下载地址:https://github.com/kkevsekk1/AutoX/releases
版本说明:
universal: 通用版(不在乎安装包大小/懒得选就用这个版本,包含以下2种CPU架构so)
armeabi-v7a: 32位ARM设备(备用机首选)
arm64-v8a: 64位ARM设备(主流旗舰机)
5、autox.js配置
autox.js app安装后打开左侧菜单栏,开启无障碍服务和悬浮窗,如下图

6、安装Android SDK
下载地址:https://www.androiddevtools.cn/#
选择SDK Tools

选择如下图压缩包

解压到D:\Program Files下(这是我电脑的目录,不强制要求)
进入到解压的文件夹android-sdk-windows里面,点击SDK Manager.exe进行安装

选择如图工具,因为我的模拟器是Android7.1 ,所以额外安装下面的Android 7.1.1的文件包

点击 install packages 开始安装,耗时比较久请耐心等待。
安装完成后把Android sdk加入环境变量
新增ANDROID_SDK_HOME

把下面3个路径加到path中,即完成Android SDK的安装。

vscode作为服务器和模拟器通信
打开pc上的vscode,按ctrl+shift+p键打开命令行,搜索auto.js,点击开启服务

如果开启成功后,右下角有提示如下图

在模拟器里面设置autox.js,1打开左侧菜单栏点击连接电脑;2在弹窗中输入电脑的ip地址点击确认;3、连接成功电脑的vscode会有提示。

第一个Demo实现
1、创建项目
打开pc上的vscode,按ctrl+shift+p键打开命令行,搜索auto.js,点击新键项目,如下图。

在main.js中输入
1 toast("start!!!!")
PS:toast是气泡文字的方法
按f5 运行,就可以看到模拟器出现了start!!!的字样,如下

小技巧与遇到的问题解决方法
1、项目代码同步到模拟器
在pc上的vscode,按ctrl+shift+p键打开命令行,搜索auto.js,点击保存项目到设备。

看到下图提示,就代表项目保存成功

在模拟器里面可以看到项目和代码。js就是我创建的项目

点击进去可以看到代码

adb devices 识别不到模拟器
原因是夜神模拟器里面的adb.exe 和Android sdk里面的adb.exe版本不一致。
解决方法:
把Android sdk里的D:\Program Files\android-sdk-windows\platform-tools\adb.exe,复制到 夜神模拟器目录D:\Program Files\Nox\bin\下,并重命名为nox_adb.exe,替换调原来的nox_adb.exe。
重启夜神模拟器,即可识别

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

相关文章:
autojs项目搭建和入门实践
Auto.js 是一款无需root权限的javascript自动化软件,它可以帮助用户在手机上自动执行各种任务,比如自动填写表单、自动点击按钮、自动切换应用等,并且可以通过图形用户界面来管理和编辑脚本。 软件环境 操作系统:win10 VSCODE&…...
uni-app 跨端开发注意事项
文章目录 前言H5正常但App异常的可能性标题二H5正常但小程序异常的可能性小程序正常但App异常的可能性小程序或App正常,但H5异常的可能性App正常,小程序、H5异常的可能性使用 Vue.js 的注意区别于传统 web 开发的注意H5 开发注意微信小程序开发注意支付宝…...
在 vscode 中的json文件写注释,不报错的解决办法
打开 vscode 的「设置」,搜索:files: associations,然后添加 *.json jsonc最后...
基于uniapp的 电子书小程序——需求整理
前言 想开发一个很简单的 电子书阅读小程序,要怎么做的。下面从功能、数据库设计这一块来说一下。说不一定能从某个角度提供一些思路 开发语言 springcloud uniapp 小程序(vue2)mysql 说明 电子书的主题是电子书,我们在日常…...
Hutool HttpRequest 首次请求正常 第二次被系统拦截
Hutool HttpRequest 首次请求正常 第二次被系统拦截 功能描述异常现象错误代码 异常排查问题跟踪问题总结处理方案最终修改后的代码 功能描述 需要请求第三方某个接口,获取接口中的数据。 异常现象 使用main 方法 通过Hutool 工具类发出请求,获取数据…...
github国内访问小解(windows)
git 下载安装 使用 github 前必须确保电脑上已经安装了 Git,可以从 Git 官方网站去下载。 官方的网站在国内访问会比较慢,这里可以选择国内镜像:https://registry.npmmirror.com/binary.html?pathgit-for-windows/ github 之旅 确认电脑已…...
NX二次开发UF_CSYS_set_wcs_display 函数介绍
文章作者:里海 来源网站:https://blog.csdn.net/WangPaiFeiXingYuan UF_CSYS_set_wcs_display Defined in: uf_csys.h int UF_CSYS_set_wcs_display(int display_status ) overview 概述 Set display of work coordinate system. 展示工作坐标系。 …...
DNS 区域传输 (AXFR)
漏洞描述 docker环境搭建 使用 AXFR 协议的 DNS 区域传输是跨 DNS 服务器复制 DNS 记录的最简单机制。为了避免在多个 DNS 服务器上编辑信息,可以在一台服务器上编辑信息,并使用 AXFR 将信息复制到其他服务器。但是,如果您不保护您的服务器&…...
Ubuntu 安装 JMeter:轻松上手
Apache JMeter 是一个开源的负载测试工具,可以用于测试静态和动态资源,确定服务器的性能和稳定性。在本文中,我们将讨论如何下载和安装 JMeter。 安装 Java(已安装 Java 的此步骤可跳过) 要下载 Java,请遵…...
在工业生产环境下,服务器没有互联网,如何通过代理自己的电脑上互联网?
服务器主机是CentOS7操作系统.,服务器的局域网是10.0.6.x网段。我的笔记本的以太网口的局域网ip是也是10.0.6.x,由于这个10.0.6.x的整个局域网是没有拨号上网的所有无法访问互联网。 但是,如果笔记本脸上wifi,wifi的网段是192.168…...
【brpc学习实践六】backup request场景案例
应用场景 有时为了保证可用性,需要同时访问两路服务,哪个先返回就取哪个。在brpc中,这有多种做法,根据server是否挂在同一个命名服务内有所区别。 当后端server可以挂在一个命名服务内时 Channel开启backup request。这个Channel会先向其中一个server发送请求,如果在Ch…...
el-table导出为excel表格
目录 1.下载依赖 2.引入插件 3.定义函数 4.设置table的id 1.下载依赖 npm intall --save xlsx npm intall --save file-saver2.引入插件 import FileSaver from "file-saver"; import XLSX from "xlsx";3.定义函数 exportExcel() {let fix document…...
CVE-2022-0543(Redis 沙盒逃逸漏洞)
简介 CVE-2022-0543是一个与Redis相关的安全漏洞。在Redis中,用户连接后可以通过eval命令执行Lua脚本,但在沙箱环境中脚本无法执行命令或读取文件。然而,攻击者可以利用Lua沙箱中遗留的变量package的loadlib函数来加载动态链接库liblua5.1.s…...
查swap内存使用
查询linux的swap被什么使用了 查询centos的swap被什么进程使用了 swap内存被什么程序占用,什么程序使用了swap分区,占用swap内存的进程 查系统使用swap内存前10个进程: for i in $( cd /proc;ls |grep "^[0-9]"|awk $0 >10…...
Element UI的Tabs 标签页位置导航栏去除线条
在实际开发中,我们调整了相关样式,导致导航栏的相关样式跟随不上,如下图所示: 因为我跳转了前边文字的样式并以在导航栏添加了相关头像,导致右边的线条定位出现问题,我在想,要不我继续调整右边…...
【Python 训练营】N_1 验证密码
N_1 验证密码 题目 设计一个用户密码验证程序,要求密码输入只有3次机会,且密码中不能包含”*”字符。 分析 需要考虑3个问题:验证次数、特殊字符和正误密码判断;验证次数需要使用循环,3个问题需要用到分支结构&…...
Pinia 和 Vuex 的对比,storeToRefs 的原理
目录 1,Pinia 介绍2,和 Vuex 的对比3,storeToRefs 源码分析 1,Pinia 介绍 官网简介 Pinia 使用上的问题,官方文档很详细,这里不做赘述。 Pinia 是 Vue 的专属状态管理库,支持vue2和vue3&#x…...
Mycat分库分表的操作(配置)
Mycat是一个开源的分布式数据库中间件,它可以对数据库进行分库分表的操作,以下是Mycat分库分表的操作步骤: 配置数据源:将要操作的数据库和表通过Mycat的配置文件配置到数据源中。配置分片规则:根据分库分表的需求&am…...
android的canvas的clipRegion废弃替代代码
由于clipRegion的一些问题,导致他被废弃了,但又有时候会用到,所以写了一个工具类来替代它 代码如下 package com.example;import android.graphics.Canvas; import android.graphics.Paint; import android.graphics.Path; import android.g…...
KubeSphere 社区双周报 | Fluent Operator 2.6.0 发布 | 2023.11.10-11.23
KubeSphere 社区双周报主要整理展示新增的贡献者名单和证书、新增的讲师证书以及两周内提交过 commit 的贡献者,并对近期重要的 PR 进行解析,同时还包含了线上/线下活动和布道推广等一系列社区动态。 本次双周报涵盖时间为:2023.11.10-2023.…...
别再手动拖拽了!用Polyworks脚本实现点云与CAD模型的自动化粗对齐(附完整代码)
解锁Polyworks脚本潜能:点云与CAD模型的智能对齐实战指南 在三维测量与逆向工程领域,点云数据与CAD模型的对齐是每个工程师都无法绕开的必经之路。传统的手动对齐方式不仅耗时费力,还容易因人为因素引入误差。想象一下,当你面对数…...
森利威尔 SL1571B 单 / 双节锂电升压恒压芯片 3.7V/7.4V 转 5V/9V/12V 800mA 低成本高效方案
SL1571B是一款专为便携式设备设计的高功率密度异步升压转换器,支持2.6V至5.5V的宽输入电压范围,并能将输出电压提升至最高16V,满足多样化的电源需求。其内置80mΩ功率MOSFET与800kHz高频开关技术,实现了高效能与小体积的完美结合&…...
机器学习数学符号全解析:从入门到精通
1. 机器学习数学符号基础解析作为一名从业多年的机器学习工程师,我深知数学符号对初学者的困扰。记得我第一次阅读机器学习论文时,那些密密麻麻的希腊字母和奇怪符号让我几乎放弃。但经过系统梳理后,我发现这些符号其实是一套精密的"行业…...
DAN-F10N-00B,标准精度双频GNSS天线模块,实现城市环境米级精准定位与简易集成
简介今天我要向大家介绍的是 u-blox 的标准精度GNSS天线模块——DAN-F10N-00B。它是一款采用20 x 20 x 8 mm紧凑型贴片封装并内置集成L1/L5双频天线的GNSS接收模块,专为无需专业射频知识的简易设计而打造。它基于u-blox F10双频技术构建,配备稳健的SAW-L…...
说一下前端转后端半个月的真实感受吧
今天是我从前端转后端的第十五天,没有什么华丽的感慨,只有一个最真实的感受——累,身心俱疲,连敲键盘的力气都快没了。当初领导找我谈转岗,说后端缺人,觉得我前端基础还行,转过去能快速上手&…...
从访达到终端:解锁Mac高效工作流的核心快捷操作与Alfred5进阶技巧
1. Mac高效工作流的基础快捷操作 刚接触Mac的朋友们,最常问我的问题就是:"为什么我的Mac用起来总感觉不够顺手?"其实答案很简单——你还没有掌握那些能让Mac真正发挥威力的快捷操作。作为一个从Windows转投Mac阵营的老用户…...
车载以太网DoIP网关:是选透传还是非透传?一次讲清TBOX与诊断仪的不同配置策略
车载以太网DoIP网关:透传与非透传模式的技术决策指南 当工程师第一次面对车载以太网诊断架构设计时,往往会在边缘节点的配置策略上陷入两难——选择透传模式还是非透传模式?这个看似简单的选择题背后,实则牵动着整车电子电气架构的…...
避坑指南:在KVM虚拟机里装Android-x86,为什么你的CPU虚拟化总是不成功?
KVM嵌套虚拟化实战:解决Android-x86部署中的CPU虚拟化难题 在云原生和混合开发环境盛行的今天,越来越多的开发者选择在KVM虚拟化平台上运行Android-x86系统进行应用测试和兼容性验证。但当我们尝试在云服务器或嵌套虚拟化环境中部署时,往往会…...
从CMU15-445 Project#1出发:手把手教你用C++实现LRU-K缓存替换策略(附完整源码)
从零实现LRU-K缓存替换策略:CMU15-445 Project#1深度解析与C实战 在数据库系统与操作系统领域,缓存替换策略直接影响着系统性能。当CMU15-445课程Project#1要求实现LRU-K算法时,许多学习者发现原始论文晦涩难懂,而网上又缺乏完整…...
学术英语语境重构!英文论文降AI工具实测:如何从底层逻辑摆脱AIGC感?
前几天我把初稿发给导师,内容没什么大问题,但是英文部分的AI率实在太高了,我自己用系统跑了一遍测试,turnitin检测ai率高达95%,我当时看着结果彻底懵了。 英文降ai确实难,很多人不知道怎么给英文降ai&…...

