我需要测试包含带有按钮的WebView的android应用。

Monkeyrunner适用于应用程序的所有部分(WebView除外)。
WebView中的按钮只是忽略了Monkeyrunner的触摸。
我看到该按钮被单击,因为它变成了灰色,但是按钮什么也不做。
如果我在仿真器上使用鼠标或在真实设备上使用手指,则按钮效果很好。

我从logcat看到触摸事件已发送到应用程序,但是该应用程序没有任何操作。

一些代码:

final WebView w = (WebView) findViewById(R.id.webView1);
String summary = "<html><body><b>Google</b><form action=http://google.com><input type=submit><input type=text></form></body></html>";
w.loadData(summary, "text/html", null);

布局:
 <Button android:id="@+id/button1" android:text="Click me!" />
 <WebView android:id="@+id/webView1" />

Monkeyrunner py:
from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice
device = MonkeyRunner.waitForConnection(10)
# android.widget.Button COORDINATES - THIS WORKS FINE
device.touch(10,100, 'DOWN_AND_UP')
# WEBVIEW BUTTON COORDINATES - BUTTON DOESN'T WORK
device.touch(200,200, 'DOWN_AND_UP')

我曾尝试过单独DOWN延迟UP-相同的结果。
从Python或从Java内部的Monkeyrunner也不起作用。
象ChimpChat这样的猴子奔跑者的香料和 wrapper 不起作用。

我认为它应该起作用,因为有太多的Web/HTML5应用程序,并且并非所有应用程序都未经测试就不可能成立。但它似乎相反。
关于如何为WebView组件强制执行触摸事件的任何想法或建议吗?

最佳答案

这是我向Android团队报告的错误。一些人已经证实了这一点。但是随着时间的流逝,它与另一个错误合并,后来又由于“按设计工作”而关闭了另一个错误。幸运的是,在接下来的几个Android版本中,它开始按预期运行。

关于android - Monkeyrunner不会触及网络 View ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14784320/

10-16 04:17