Gespeicherte Skripts auf einem Galaxy S5 mit Android 5.0.2 können nicht wiedergegeben werden.NoSuchMethodError beim Ausführen eines aufgezeichneten Tests in IBM MobileFirst Test Workbench
NoSuchMethodError wird beim Ausführen eines zuvor aufgezeichneten Tests in IBM MobileFirst Test Workbench ausgelöst.
Derselbe Test funktioniert auf anderen Android-Versionen gut.
Sie die Schritte in beschrieben https://developer.ibm.com/mobilefirstplatform/documentation/getting-started-6-3/advanced-topics/testing-mobilefirst-mobile-applications-mobile-test-workbench/ ich mein eigenes MobileFirst Projekt angelegt haben und leicht verändert die index.html zu:
<!DOCTYPE HTML>
<html>
<head>
<meta charset="UTF-8">
<title>hw</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=0">
<!--
<link rel="shortcut icon" href="images/favicon.png">
<link rel="apple-touch-icon" href="images/apple-touch-icon.png">
-->
<link rel="stylesheet" href="css/main.css">
<script>window.$ = window.jQuery = WLJQ;</script>
<script>
function count_rabbits() {
for(var i=1; i<=3; i++) {
alert("Rabbit "+i+" out of the hat!");
}
}
</script>
<script src="js/tracekit.js" type="text/javascript"></script>
<script src="js/MQA.js" type="text/javascript"></script>
</head>
<body style="display: none;">
<!--application UI goes here-->
Hello MobileFirst
<script src="js/initOptions.js"></script>
<script src="js/main.js"></script>
<script src="js/messages.js"></script>
<h2>Press the button to start</h2>
<input type="button" onclick="count_rabbits()" value="Count rabbits!"/>
</body>
</html>
</body>
</html>
ich die Anwendung erstellt und bereitgestellt, es auf einem Galaxy S5 mit Android 5.0.2. Die Anwendung funktioniert wie erwartet.
Dann ich ein Test Workbench-Projekt erstellen. Mit dem IBM Rational Test Workbench-Client von meinem Telefon lade ich meine Anwendung hoch, und ich nehme selbst auf, öffne sie, tippe drei Mal auf OK und klicke dann zurück, dann stoppe ich die Aufzeichnung und führe einen Test durch.
Der Test erscheint, ich kann es speichern und ich kann es starten.
Es läuft ein wenig und es nicht mit ein:
An uncaught exception has been thrown in thread Thread[main,5,main]: NoSuchMethodError: No direct method <init>(Lcom/ibm/rational/test/mobile/android/runtime/webkit/WebViewClientWrapper_rtwrenamed;Ljava/net/HttpURLConnection;Ljava/net/URL;[Ljava/lang/String;Ljava/lang/String;)V in class Lcom/ibm/rational/test/mobile/android/runtime/webkit/WebViewClientWrapper$1; or its super classes (declaration of 'com.ibm.rational.test.mobile.android.runtime.webkit.WebViewClientWrapper$1' appears in /data/app/com.myhw-1/base.apk)
at com.ibm.rational.test.mobile.android.runtime.webkit.WebViewClientWrapper_rtwrenamed.loadRemoteJavascriptsSource(WebViewClientWrapper.java:290)
at com.ibm.rational.test.mobile.android.runtime.webkit.WebViewClientWrapper_rtwrenamed.loadJavaScriptResource(WebViewClientWrapper.java:242)
at com.ibm.rational.test.mobile.android.runtime.webkit.WebViewClientWrapper_rtwrenamed.loadAndInject(WebViewClientWrapper.java:205)
at com.ibm.rational.test.mobile.android.runtime.playback.webkit.RMoTWebDriver$1.run(RMoTWebDriver.java:241)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:145)
at android.app.ActivityThread.main(ActivityThread.java:6066)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1399)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194)
Was mache ich falsch?
Windows 7 64-Bit mit jdk 1.8.0_77
C:\>java -version
java version "1.8.0_77"
Java(TM) SE Runtime Environment (build 1.8.0_77-b03)
Java HotSpot(TM) 64-Bit Server VM (build 25.77-b03, mixed mode)
C:\>javac -version
javac 1.8.0_77
Luna mit:
Android DDMS 23.0.7.2120684
Android Development Tools 23.0.7.2120684
Android Hierarchy Viewer 23.0.7.2120684
Android Native Development Tools 23.0.7.2120684
Android Traceview 23.0.7.2120684
Eclipse IDE for Java Developers 4.4.2.20150219-0708 epp.package.java null
IBM Dojo Mobile Tools 7.1.0.00-20160321-2138
IBM jQuery Mobile Tools 7.1.0.00-20160321-2138
IBM MobileFirst Platform Studio 7.1.0.00-20160321-2138
IBM MobileFirst Platform Test Workbench 8.7.0.v20160112_2203
Tracer for OpenGL ES 23.0.7.2120684
Versuchen Sie es mit Android 4.x, funktioniert es dort? –
Die vier Schritte auf einem Samsung Galaxy SIII mini mit Android 4.1.2 neu aufgenommen und es funktionierte perfekt.Ich habe sogar ein paar Überprüfungen der Tasten hinzugefügt. – Andrei