资料总结 资料总结
首页
go
java
云原生
  • mysql
  • redis
  • MongoDB
  • 设计模式详解
  • 数据结构与算法
  • 前端
  • 项目
  • 理论基础
  • 运营
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

linghui Wu

一只努力学飞的鱼
首页
go
java
云原生
  • mysql
  • redis
  • MongoDB
  • 设计模式详解
  • 数据结构与算法
  • 前端
  • 项目
  • 理论基础
  • 运营
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 安卓无障碍自动化
    • 关于某些APP中, Click(x,y) 通过模拟坐标点击某些按钮无用
      • 展望
  • 自动化
wulinghui
2025-02-27
目录

安卓无障碍自动化

# 背景

很久之前看过,使用Appium自动化测试框架。 但是最近发现一个不需要开发者选项就可以用的思路。 这样是不是对用户更加友好呢? 一开始发现的无障碍

# 无障碍框架

  • Auto.js : 停更
  • Autox.js: 国产平替Auto.js
  • Tasker : 需要开发者
  • UiAutomator2 : 需要开发者

# Autox快速入门 (opens new window)

  1. 手机下载autox-6.5.5.apk,并安装。
  2. 手机开启无障碍模式。
  3. 电脑 vscode 下载Autox.js-VSCodeExt扩展插件。
  4. vscode 命令面板构建autox新项目。
  5. 在新项目下创建js文件编写代码。
  6. vscode 命令面板 启动autox服务。
  7. 手机进入autox并连接电脑服务器。
  8. vscode 按运行按钮执行。

# 踩坑过程

# 关于某些APP中, Click(x,y) 通过模拟坐标点击某些按钮无用 (opens new window)

查阅一些资料知道, APP可以识别出来, 点击按钮的是通过触屏还是内部软件调用, 估计用这个方法把Auto.js 脚本给ban了 解决了, autojs的触摸不会触发触屏的事件, 想要解决就只能通过模拟完整的触摸事件. 直接调用adb shell snedevent来输入事件了. 不过要想autojs执行就需要root, 不然没权限. 经过测试,在root之后,可以使用 RootAutomator.tap 来模拟屏幕触发,也需要root权限。 tap方法同shell("su -c 'input tap " + x + " " + y + "'") 也需要root权限。 经过查看资料tap这些操作在其他框架中也都需要root权限才能执行。

# 展望

有没有用于开发者的安卓手机呢? 来进行使用呢?

编辑 (opens new window)
上次更新: 2024/11/07, 14:51:14
最近更新
01
架构升级踩坑之路
02-27
02
总结
02-27
03
语法学习
02-27
更多文章>
| Copyright © 2021-2025 Wu lingui |
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式