我正在探索 Monkeyrunner 脚本环境,测试各种事件以确保我可以充分模拟我的应用程序。具体来说,我对“拖动”功能中使用的坐标有疑问。
连接 Monkeyrunner 但没有运行应用程序(即,只是坐在主屏幕上),输入以下命令将模拟左右“滑动”事件,将一个主屏幕向左移动。
device.drag((100,400),(500,400),0.15,5)
这很好用。
这个命令,然后应该产生一个相反方向的滑动......
device.drag((500,400),(100,400),0.15,5)
...但事实并非如此。
但这确实:
device.drag((400,400),(100,400),0.15,5)
为了进一步测试,我下载了“MagicMarker”应用程序。这样我就可以准确地看到这些不同的触摸事件发生在哪里。显然,除非我使用自己的应用程序,否则它不会让我截取屏幕截图,所以我只需要描述我在这里看到的内容。希望您可以验证这一点或告诉我我缺少什么步骤。
这个命令...
device.drag((100,400),(500,400),0.15,5)
...在我的屏幕中间从左到右画一条水平线。它正好位于我的摩托罗拉 Droid 屏幕的中心。两个端点都清晰可见,两端都有边距。
这个命令...
device.drag((500,400),(100,400),0.15,5)
...这应该是在相反方向(从右到左)绘制的同一条线,将线向右偏移 100px 绘制。第一个端点要么在屏幕边缘,要么完全在屏幕外。我说不出来。
令我困惑的是坐标似乎不一致。点 (500,400) 位于屏幕的垂直中心,如果用作左右拖动移动的端点,则稍微偏右一点,但如果用作左右拖动移动的起点,则似乎完全不在屏幕上拖动移动。
感觉这可能是 Monkeyrunner 环境中的错误。想法?