12

我正在运行锻炼者猴子来测试我的 android 应用程序。作为我的应用程序的一部分,我播放提供单词发音的媒体文件。我已将文件放在 Android 音乐播放器无法读取的目录中。然而,练习者猴子会抛出一些似乎激活音乐播放器的事件序列,然后在测试期间重复播放另一个 mp3 文件(不是来自我的应用程序)的开头。它是如何做到的,这是我应该关心的事情吗?

附加信息:即使我在我的应用程序中禁用 MediaPlayer,问题仍然存在。FWIW,这里是来自锻炼者猴子的一系列输出,导致生成声音的命令(最后一个):

   // Rejecting start of Intent { act=android.intent.action.VIEW dat=http://www.myurl.com/ cmp=com.android.browser/.BrowserActivity } in package com.android.browser
:Sending Pointer ACTION_DOWN x=437.0 y=183.0
:Sending Pointer ACTION_UP x=450.0 y=158.0
:Sending Pointer ACTION_DOWN x=5.0 y=58.0
:Sending Pointer ACTION_UP x=-4.0 y=58.0
:Sending Pointer ACTION_MOVE x=2.0 y=-2.0 <=== sound generated from this one

这是问题点处 logcat 的输出:

I/AudioService(  101):  AudioFocus  requestAudioFocus() from android.media.AudioManager@40518af0com.android.music.MediaPlaybackService$3@405218f8
I/AudioService(  101):   Remote Control   registerMediaButtonEventReceiver() for ComponentInfo{com.google.android.music/com.android.music.MediaButtonIntentReceiver}
W/AudioFlinger(   68): write blocked for 159 msecs, 26 delayed writes, thread 0xea00
D/AudioHardwareQSD(   68): AudioHardware pcm playback is going to standby.
D/dalvikvm(  319): GC_EXPLICIT freed 7K, 51% free 2839K/5767K, external 1625K/2137K, paused 74ms
4

2 回答 2

7

我认为这与猴子发送各种密钥代码的事实有关,包括硬件密钥的密钥代码,这些代码甚至可能不存在于被测设备上

我在使用猴子时遇到过类似的问题,并通过提供 -v -v 选项(重复 -v 提高调试级别)并使用 --throttle 选项减慢速度进行了调查,我还尝试找到一个小数字使其发生的行动。

我的命令行最终阅读:

adb shell monkey -p package.undertest.com -s 214765 --throttle 500 -v -v 130

这表明就在媒体播放器启动之前,我记录了以下内容:

Sleeping for 500 milliseconds
:SendKey (ACTION_DOWN): 90    // KEYCODE_FORWARD
:SendKey (ACTION_UP): 90    // KEYCODE_FORWARD

然后,在我停止媒体播放器后,我可以通过发出以下命令来确认 KEYCODE_FORWARD 确实在我的 Galaxy S 上启动了我的媒体播放器(doubleTwist):

adb shell input keyevent 90

请注意,90 是上面日志中列出的键码。

通过将我的命令行更改为猴子添加“--pct-nav 0”,成功阻止它启动媒体播放器。

我不知道在您的情况下它是否可能是不同的密钥代码,因此您可能需要进行试验,并且它可能不适合您使用猴子通过设置 --pct-nav 0 关闭所有基本导航事件的目的.

于 2011-10-27T13:56:13.167 回答
0

您的应用程序是否具有启动其他播放音乐的服务或应用程序的功能?例如,如果您有一个按钮可以启动更改铃声音量的意图,猴子会按下该按钮会导致铃声噪音。(根据我的经验,默认设置的猴子会超出应用程序并更改铃声设置)

于 2011-07-27T16:44:49.017 回答