Android-UI Automator Viewer 的使用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android-UI Automator Viewer 的使用相关的知识,希望对你有一定的参考价值。

参考技术A

UI Automator Viewer 是 Android ADK 中一个用来获取 View 在手机屏幕上坐标的工具。获取到的 View 坐标主要用来使用 Monkey 对 App 进行压力测试。

打开手机的 开发者选项 和 USB 调试,并用数据线连接手机和电脑。
参考:https://jingyan.baidu.com/article/acf728fd7cb14af8e510a301.html

在 Android ADK 的 tools\\bin 目录下鼠标双击 uiautomatorviewer.bat 文件。
双击几秒后会弹出如下窗口:

点击 uiautomatorviewer 页面左上角的 Device Screenshot 图标后等待几秒会显示如下界面(这里以计算器为例)。

在 uiautomatorviewer 页面中点击某个 View,查看 uiautomatorviewer 页面右下角的 Node Detail 窗口中 View bounds 的值。

bounds [270,1056][540,1272]

在 bounds 值中 [270,1056] 是 View 左上角的坐标点,[540,1272] 是 View 右下角的坐标点。
使用 Monkey 压力测试时,X 轴坐标只要在 270~540 的范围之间,Y 轴坐标只要在 1056~1272的范围之间,就可以对该 View 执行点击、长按等事件。

Automator bash shell 脚本问题

【中文标题】Automator bash shell 脚本问题【英文标题】:Automator bash shell script trouble 【发布时间】:2015-04-04 23:47:46 【问题描述】:

我可能在这里遗漏了一些非常简单的东西,但是我在构建运行 bash shell 脚本的自动化服务时遇到了麻烦。插入 shell 时,脚本的所有元素都可以正常工作,但由于某种原因,automator 服务无法运行。该脚本调用 ffmpeg 来转换从 finder 传递给它的音频文件:

for f in "$@"
do
  fn="$f%%.*"
  ~/Applications/ffmpeg/ffmpeg -i "$f" -acodec libmp3lame -q:a 7 -ar 8000 -ac 1 "$fn.mp3"
done

脚本在没有 ffmpeg 命令的情况下运行良好,ffmpeg 命令在终端中自行运行良好。错误来自哪里?

谢谢!

【问题讨论】:

使用set -xecho "f=$f, fn=$fn" or echo 显示脚本试图执行的内容 ~/Applications/ffmpeg/ffmpeg -i "$f" -acodec libmp3lame -q:a 7 -ar 8000 - ac 1 "$fn.mp3"` 感谢@WalterA 的帮助。在弄乱它太久之后,最终导致终端和自动机处理变量字符串的方式有所不同。虽然该命令在终端中执行得很好,但我需要在 automator 中的 fn 变量周围添加括号。 ~/Applications/ffmpeg/ffmpeg -i "$f" -acodec libmp3lame -q:a 7 -ar 8000 -ac 1 "$fn.mp3" 运行良好。 【参考方案1】:

最终导致终端和自动机处理变量字符串的方式有所不同。虽然该命令在终端中执行得很好,但我需要在 automator 中的 fn 变量周围添加括号。

~/Applications/ffmpeg/ffmpeg -i "$f" -acodec libmp3lame -q:a 7 -ar 8000 -ac 1 "$fn.mp3"

运行良好。

【讨论】:

以上是关于Android-UI Automator Viewer 的使用的主要内容,如果未能解决你的问题,请参考以下文章

Android-UI 基础知识04

Android-UI组件合集面试资料分享

当UI Automator Viewer报错时 如:UI Automator Viewer Error obtaining UI hierarchy

使用 Automator/Applescript 输入数据?

如何通过automator创建自动化备份任务?

Deepl Translator 的 Automator 快速操作 (AppleScript)