|
19 | 19 | import android.os.Message;
|
20 | 20 | import android.view.KeyEvent;
|
21 | 21 | import android.view.View;
|
22 |
| -import android.webkit.ConsoleMessage; |
23 |
| -import android.webkit.GeolocationPermissions; |
24 |
| -import android.webkit.HttpAuthHandler; |
25 |
| -import android.webkit.JsPromptResult; |
26 |
| -import android.webkit.JsResult; |
27 |
| -import android.webkit.SslErrorHandler; |
28 |
| -import android.webkit.ValueCallback; |
29 |
| -import android.webkit.WebChromeClient; |
30 |
| -import android.webkit.WebResourceResponse; |
31 |
| -import android.webkit.WebSettings; |
32 |
| -import android.webkit.WebStorage; |
33 |
| -import android.webkit.WebView; |
34 |
| -import android.webkit.WebViewClient; |
35 |
| - |
36 |
| -import org.apache.cordova.*; |
| 22 | +import android.webkit.*; |
| 23 | +import io.selendroid.server.ServerInstrumentation; |
| 24 | +import io.selendroid.server.android.*; |
| 25 | +import io.selendroid.server.android.internal.DomWindow; |
| 26 | +import io.selendroid.server.common.exceptions.SelendroidException; |
| 27 | +import io.selendroid.server.common.exceptions.StaleElementReferenceException; |
| 28 | +import io.selendroid.server.common.exceptions.TimeoutException; |
| 29 | +import io.selendroid.server.model.internal.WebViewHandleMapper; |
| 30 | +import io.selendroid.server.model.js.AndroidAtoms; |
| 31 | +import io.selendroid.server.util.SelendroidLogger; |
| 32 | +import org.apache.cordova.CordovaChromeClient; |
| 33 | +import org.apache.cordova.CordovaInterface; |
| 34 | +import org.apache.cordova.CordovaWebView; |
| 35 | +import org.apache.cordova.CordovaWebViewClient; |
37 | 36 | import org.apache.cordova.engine.SystemWebChromeClient;
|
38 | 37 | import org.apache.cordova.engine.SystemWebView;
|
39 | 38 | import org.apache.cordova.engine.SystemWebViewClient;
|
|
45 | 44 | import java.lang.reflect.Field;
|
46 | 45 | import java.util.*;
|
47 | 46 |
|
48 |
| -import io.selendroid.server.ServerInstrumentation; |
49 |
| -import io.selendroid.server.android.AndroidTouchScreen; |
50 |
| -import io.selendroid.server.android.KeySender; |
51 |
| -import io.selendroid.server.android.MotionSender; |
52 |
| -import io.selendroid.server.android.WebViewKeySender; |
53 |
| -import io.selendroid.server.android.WebViewMotionSender; |
54 |
| -import io.selendroid.server.android.internal.DomWindow; |
55 |
| -import io.selendroid.server.common.exceptions.SelendroidException; |
56 |
| -import io.selendroid.server.common.exceptions.StaleElementReferenceException; |
57 |
| -import io.selendroid.server.common.exceptions.TimeoutException; |
58 |
| -import io.selendroid.server.model.internal.WebViewHandleMapper; |
59 |
| -import io.selendroid.server.model.js.AndroidAtoms; |
60 |
| -import io.selendroid.server.util.SelendroidLogger; |
61 |
| - |
62 | 47 | import static java.util.concurrent.TimeUnit.MILLISECONDS;
|
63 | 48 | import static java.util.concurrent.TimeUnit.SECONDS;
|
64 | 49 |
|
@@ -220,9 +205,10 @@ public Object executeAtom(AndroidAtoms atom, JSONArray args, KnownElements ke)
|
220 | 205 | JSONObject json = new JSONObject(jsResult);
|
221 | 206 | if (0 != json.optInt("status")) {
|
222 | 207 | Object value = json.get("value");
|
223 |
| - if ((value instanceof String && value.equals("Element does not exist in cache")) |
224 |
| - || (value instanceof JSONObject && ((JSONObject) value).getString("message").equals( |
225 |
| - "Element does not exist in cache"))) { |
| 208 | + if ((value instanceof String && value.equals("Element does not exist in cache")) || |
| 209 | + ( value instanceof JSONObject && |
| 210 | + (((JSONObject) value).getString("message").equals("Element does not exist in cache") || |
| 211 | + ((JSONObject) value).getString("message").equals("Element is no longer attached to the DOM")))) { |
226 | 212 | throw new StaleElementReferenceException(json.optString("value"));
|
227 | 213 | }
|
228 | 214 | throw new SelendroidException(json.optString("value"));
|
|
0 commit comments