【问题标题】:The method "device.press" or "device.touch" of MonkeyRunner doesn't take effectMonkeyRunner的“device.press”或“device.touch”方法不生效
【发布时间】:2013-06-09 08:16:49
【问题描述】:

我想用 monkeyrunner 来测试我的 MainActivity,我已经编辑了一个如下的 python 文件:

    from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice
    device = MonkeyRunner.waitForConnection(10)
    device.press('KEYCODE_DPAD_DOWN')
    device.press('KEYCODE_DPAD_CENTER')
    device.touch(10,100, 'DOWN_AND_UP')
    device.touch(200,200, 'DOWN_AND_UP')
    result = device.takeSnapshot()
    result.writeToFile('shot2.png','png')

然后我打开我的应用程序并使用“monkeyrunner monkeyrunnerprogram2.py”的命令,但monkey runner 除了takenapshot()之外什么都做不了。它没有做任何上面的事情。
那么有没有办法解决这个问题呢?

【问题讨论】:

  • 如果您能提供更多详细信息会有所帮助。你想用你的脚本做什么?屏幕截图也会有所帮助。
  • @GabrielPorumb 感谢您的评论。我的活动中有一个列表视图,我想测试当我触摸或滚动列表视图时应用程序是否会崩溃。但是猴子运行没有生效

标签: android testing monkeyrunner monkey


【解决方案1】:

您可以尝试将“DOWN_AND_UP”替换为 MonkeyDevice.DOWN_AND_UP。您还可以添加一些 MonkeyRunner.sleep(time_in_seconds) 以在交互之间暂停脚本。

要测试设备对象是否正确创建,您可以使用 device.wake() 来点亮设备的显示屏。如果这有效,则触摸和按下方法也应该有效。

【讨论】:

  • 很酷。之前没有生效的主要原因是我没有调用“MonkeyRunner.sleep”。现在它运行起来很有趣。非常感谢!
猜你喜欢
  • 1970-01-01
  • 2023-03-02
  • 2013-12-13
  • 1970-01-01
  • 1970-01-01
  • 2013-04-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多