List of usage examples for org.openqa.selenium.remote ErrorCodes SUCCESS
int SUCCESS
To view the source code for org.openqa.selenium.remote ErrorCodes SUCCESS.
Click Source Link
From source file:com.jobaline.uiautomation.framework.selenium.phantomJsThreeHourTimeoutFix.HttpCommandExecutor.java
License:Apache License
private Response createResponse(HttpResponse httpResponse, HttpContext context, EntityWithEncoding entityWithEncoding) throws IOException { final Response response; Header header = httpResponse.getFirstHeader("Content-Type"); if (header != null && header.getValue().startsWith("application/json")) { String responseAsText = entityWithEncoding.getContentString(); try {/*from w ww .j a v a 2 s . c o m*/ response = new JsonToBeanConverter().convert(Response.class, responseAsText); } catch (ClassCastException e) { if (responseAsText != null && "".equals(responseAsText)) { // The remote server has died, but has already set some headers. // Normally this occurs when the final window of the firefox driver // is closed on OS X. Return null, as the return value _should_ be // being ignored. This is not an elegant solution. return null; } throw new WebDriverException("Cannot convert text to response: " + responseAsText, e); } } else { response = new Response(); if (header != null && header.getValue().startsWith("image/png")) { response.setValue(entityWithEncoding.getContent()); } else if (entityWithEncoding.hasEntityContent()) { response.setValue(entityWithEncoding.getContentString()); } HttpHost finalHost = (HttpHost) context.getAttribute(HTTP_TARGET_HOST); String uri = finalHost.toURI(); String sessionId = HttpSessionId.getSessionId(uri); if (sessionId != null) { response.setSessionId(sessionId); } int statusCode = httpResponse.getStatusLine().getStatusCode(); if (!(statusCode > 199 && statusCode < 300)) { // 4xx represents an unknown command or a bad request. if (statusCode > 399 && statusCode < 500) { response.setStatus(ErrorCodes.UNKNOWN_COMMAND); } else if (statusCode > 499 && statusCode < 600) { // 5xx represents an internal server error. The response status should already be set, but // if not, set it to a general error code. if (response.getStatus() == ErrorCodes.SUCCESS) { response.setStatus(ErrorCodes.UNHANDLED_ERROR); } } else { response.setStatus(ErrorCodes.UNHANDLED_ERROR); } } if (response.getValue() instanceof String) { // We normalise to \n because Java will translate this to \r\n // if this is suitable on our platform, and if we have \r\n, java will // turn this into \r\r\n, which would be Bad! response.setValue(((String) response.getValue()).replace("\r\n", "\n")); } } response.setState(errorCodes.toState(response.getStatus())); return response; }
From source file:sandeep.kb.android.remote.android.AndroidWebDriver.java
License:Apache License
private void throwIfError(final JSONObject jsonObject) { int status;//from w w w .java2 s. co m String errorMsg; try { status = (Integer) jsonObject.get(STATUS); errorMsg = String.valueOf(jsonObject.get(VALUE)); } catch (JSONException e) { throw new RuntimeException("Failed to parse JSON Object: " + jsonObject, e); } switch (status) { case ErrorCodes.SUCCESS: return; case ErrorCodes.NO_SUCH_ELEMENT: throw new NoSuchElementException("Could not find " + "WebElement."); case ErrorCodes.STALE_ELEMENT_REFERENCE: throw new StaleElementReferenceException("WebElement is stale."); default: if (jsonObject.toString() .contains("Result of expression 'd.evaluate' [undefined] is" + " not a function.")) { throw new WebDriverException("You are using a version of Android WebDriver APK" + " compatible with ICS SDKs or more recent SDKs. For more info take a look at" + " http://code.google.com/p/selenium/wiki/AndroidDriver#Supported_Platforms. Error:" + " " + jsonObject.toString()); } throw new WebDriverException("Error: " + errorMsg); } }