2

我开始通过 develoers.android.com 网站学习 adb shell monkey 命令来测试 Android 应用程序。但是,我能够找出选项 v 和 s(种子)的示例。我需要使用其他选项来控制具有可用选项的应用程序的触摸输入。我搜索了示例/示例/指南以完整使用该命令,但没有找到。如果任何开发人员知道使用带有所有选项的命令,请告诉我。

谷歌搜索说,

adb shell monkey -p <package_name> -v n -s SEED

我试图弄清楚如何使用 -s 选项来控制触摸输入。任何知道这一点的帮助或指导都会对我有很大帮助。

4

2 回答 2

5

如果要控制在屏幕上单击的位置,则需要monkeyrunner. monkeyrunner是一个 api 而不是一个命令。您可以创建 python 脚本或 java 程序来自动执行一系列事件。

http://developer.android.com/tools/help/monkeyrunner_concepts.html

使用monkey命令,您可以使用百分比值增加某些事件的概率。

adb shell monkey -p your.package.name --pct-appswitch 75 -v 500

--pct-syskeys 调整“系统”关键事件的百分比。(这些键通常保留供系统使用,例如 Home、Back、Start Call、End Call 或音量控制。)http://developer.android.com/tools/help/monkey 上的更多选项。 html

于 2015-07-15T13:16:02.317 回答
2

-s选项只是为伪随机生成器提供一个种子。这在您想要复制随机事件时很有用,但对于指定特定事件没有用。

有一种相当老套的方法可以直接向猴子提供触摸事件。

Monkey 提供的--port选项用于:

adb shell monkey --port 1080

这将在 1080 上创建一个 TCP 套接字。您可以使用 telnet 连接到该端口并直接告诉猴子做什么。

注意:您可以使用:adb forward tcp:1080 tcp:1080将端口转发到您的计算机。

您可以在 Windows 上使用 Putty 通过 telnet 连接到该端口,或者在 Linux 中运行telnet localhost 1080

您可以使用该命令tap x y将 x 和 y 坐标发送到您要点击的位置。例如,tap 100 200将在 (100,200) 处点击屏幕。

以下是猴子使用的 API 的更多示例(不是我的代码)

于 2020-04-29T04:50:18.893 回答