Ich muss Android-App testen, die WebView mit Schaltflächen enthält.Monkeyrunner berührt nicht webview
Monkeyrunner funktioniert gut für alle Teile der App außer WebView. Schaltfläche in WebView ignoriert nur Berührungen von Monkeyrunner. Ich sehe, dass die Schaltfläche angeklickt wird, weil es grau wurde, aber dann tut Button nichts. Wenn ich die Maus auf dem Emulator oder Finger auf einem echten Gerät verwende, funktioniert die Taste großartig.
Ich sehe von Logcat, dass Touch-Ereignis an die App gesendet wurde, aber es gibt keine Aktion von der App.
Einige Code:
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);
Layout:
<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')
ich separat versucht hatte Verz UP - das gleiche Ergebnis. Monkeyrunner von Python oder von innen Java funktionieren nicht auch. Flavors und Wrapper für Monkeycrunner wie ChimpChat funktionieren nicht.
Ich denke, es sollte funktionieren, weil es so viele Web/HTML5-Anwendungen gibt und es könnte nicht wahr sein, dass sie alle nicht getestet werden. Aber es scheint das Gegenteil zu sein. Irgendwelche Ideen oder Vorschläge zum Erzwingen eines Berührungsereignisses für WebView-Komponenten?
Testen Sie auf einem Gerät oder Emulator? –
Zumindest sollte es Emulator sein. Ich bevorzuge beides. – Alex
Es funktioniert für mich (wie es ist) auf einem Gerät aber schlägt auf Emulator fehl. –