ボタン付きの 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" />
モンキーランナー 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 などの monkeyrunner のフレーバーとラッパーは機能しません。
非常に多くの Web/HTML5 アプリがあり、それらすべてがテストされていないということはあり得ないので、うまくいくはずだと思います。しかし、それは反対に見えます。WebView コンポーネントにタッチ イベントを強制する方法に関するアイデアや提案はありますか?