Jac*_*ble 11 android audio-player monkey android-music-player android-monkey android-mediaplayer
我正在运行练习猴测试我的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
Run Code Online (Sandbox Code Playgroud)
这是问题出现时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
Run Code Online (Sandbox Code Playgroud)
我认为这与猴子发送各种密钥代码有关,包括硬件密钥的密钥代码,甚至可能在被测设备上不存在.
我使用猴子经历过类似的问题并通过提供-v -v选项(重复-v增加调试级别)并使用--throttle选项减慢速率来调查它我还试验了一个小数字使其发生的行动.
我的命令行最终阅读:
adb shell monkey -p package.undertest.com -s 214765 --throttle 500 -v -v 130
Run Code Online (Sandbox Code Playgroud)
这表明,在媒体播放器启动之前,我得到了以下记录:
Sleeping for 500 milliseconds
:SendKey (ACTION_DOWN): 90 // KEYCODE_FORWARD
:SendKey (ACTION_UP): 90 // KEYCODE_FORWARD
Run Code Online (Sandbox Code Playgroud)
然后我通过在我停止媒体播放器后发出以下命令来确认KEYCODE_FORWARD确实在我的Galaxy S上启动了我的媒体播放器(doubleTwist):
adb shell input keyevent 90
Run Code Online (Sandbox Code Playgroud)
请注意,90是上面日志中列出的密钥代码.
通过将我的命令行更改为猴子,添加"--pct-nav 0",成功停止启动媒体播放器.
我不知道在你的情况下它是否可能是一个不同的密钥代码,所以你可能需要进行实验,它可能不适合你使用猴子通过设置--pct-nav 0来关闭所有基本导航事件的目的.
您的应用程序是否具有启动其他播放音乐的服务或应用程序的功能?例如,如果您有一个按钮可以启动改变铃声音量的意图,那么猴子就会按下该按钮,从而导致铃声噪音。(根据我的经验,具有默认设置的猴子会超出应用程序并更改铃声设置)
| 归档时间: |
|
| 查看次数: |
1825 次 |
| 最近记录: |