Example usage for org.openqa.selenium WebDriverException WebDriverException

List of usage examples for org.openqa.selenium WebDriverException WebDriverException

Introduction

In this page you can find the example usage for org.openqa.selenium WebDriverException WebDriverException.

Prototype

public WebDriverException(String message, Throwable cause) 

Source Link

Usage

From source file:org.uiautomation.ios.server.application.APPIOSApplication.java

License:Apache License

public String getMetadata(String key) {
    if (!metadata.has(key)) {
        return "";
        // throw new WebDriverException("no property " + key +
        // " for this app.");
    }// www  .  j a v a  2  s. c  o  m
    try {
        return metadata.getString(key);
    } catch (JSONException e) {
        throw new WebDriverException("property " + key + " can't be returned. " + e.getMessage(), e);
    }
}

From source file:org.uiautomation.ios.server.application.APPIOSApplication.java

License:Apache License

public List<Integer> getDeviceFamily() {
    try {/*  ww  w  .j ava  2s . com*/
        JSONArray array = metadata.getJSONArray(DEVICE_FAMILLY);
        List<Integer> res = new ArrayList<Integer>();
        for (int i = 0; i < array.length(); i++) {
            res.add(array.getInt(i));
        }
        return res;
    } catch (JSONException e) {
        throw new WebDriverException("Cannot load device family", e);
    }
}

From source file:org.uiautomation.ios.server.application.APPIOSApplication.java

License:Apache License

public IOSCapabilities getCapabilities() {
    IOSCapabilities cap = new IOSCapabilities();
    cap.setSupportedLanguages(getSupportedLanguagesCodes());
    cap.setCapability("applicationPath", getApplicationPath().getAbsoluteFile());
    List<DeviceType> supported = getSupportedDevices();

    if (supported.contains(DeviceType.iphone)) {
        cap.setDevice(DeviceType.iphone);
    } else {//w  ww  . j a  va2s . com
        cap.setDevice(DeviceType.ipad);
    }

    if (this instanceof IPAApplication) {
        cap.setCapability(IOSCapabilities.SIMULATOR, false);
    } else {
        cap.setCapability(IOSCapabilities.SIMULATOR, true);
    }

    cap.setCapability(IOSCapabilities.SUPPORTED_DEVICES, supported);
    for (Iterator iterator = getMetadata().keys(); iterator.hasNext();) {
        String key = (String) iterator.next();

        try {
            Object value = getMetadata().get(key);
            cap.setCapability(key, value);
        } catch (JSONException e) {
            throw new WebDriverException("cannot get metadata", e);
        }
    }
    return cap;
}

From source file:org.uiautomation.ios.server.command.uiautomation.LogElementTreeNHandler.java

License:Apache License

public LogElementTreeNHandler(IOSServerManager driver, WebDriverLikeRequest request) {
    super(driver, request);

    String reference = "1";
    if (request.hasVariable(":reference")) {
        reference = request.getVariableValue(":reference");
    }/*from ww w .java  2s  .  com*/

    addDecorator(new AttachScreenshotToLog(driver));
    addDecorator(new GetHTMLForWebView(driver));
    try {
        if (request.getPayload().getBoolean("translation")) {
            addDecorator(new AddTranslationToLog(driver));
        }
    } catch (JSONException e) {
        e.printStackTrace();
    }

    String js;
    try {
        js = jsTemplate.replace(":sessionId", request.getSession())
                .replace(":attachScreenshot", "" + request.getPayload().getBoolean("attachScreenshot"))
                .replace(":reference", reference);
    } catch (JSONException e) {
        throw new WebDriverException("wrong params", e);
    }

    setJS(js);

}

From source file:org.uiautomation.ios.server.grid.RegistrationRequest.java

License:Apache License

public void registerToHub() {

    HttpClient client = new DefaultHttpClient();
    try {//from ww w. ja  v a  2 s. c om
        URL registration = hubURL;

        BasicHttpEntityEnclosingRequest r = new BasicHttpEntityEnclosingRequest("POST",
                registration.toExternalForm());

        String json = getJSONRequest().toString();

        r.setEntity(new StringEntity(json));

        HttpHost host = new HttpHost(registration.getHost(), registration.getPort());
        HttpResponse response = client.execute(host, r);
        if (response.getStatusLine().getStatusCode() != 200) {
            throw new RuntimeException("Error sending the registration request.");
        }
    } catch (Exception e) {
        throw new WebDriverException("Error sending the registration request.", e);
    }

}

From source file:org.uiautomation.ios.server.IOSDriver.java

License:Apache License

public IOSCapabilities getCapabilities(IOSApplication application) {
    // some cap are from the host. SDK version is not defined by the app itself.
    IOSCapabilities cap = new IOSCapabilities();
    cap.setSDKVersion(hostInfo.getSDK());
    cap.setSupportedLanguages(application.getSupportedLanguagesCodes());
    cap.setCapability("applicationPath", application.getApplicationPath().getAbsoluteFile());

    for (Iterator iterator = application.getMetadata().keys(); iterator.hasNext();) {
        String key = (String) iterator.next();

        try {/*  w  ww  .  j  av  a 2s  .c  o m*/
            Object value = application.getMetadata().get(key);
            cap.setCapability(key, value);
        } catch (JSONException e) {
            throw new WebDriverException("cannot get metadata", e);
        }
    }

    cap.setSupportedDevices(cap.getSupportedDevicesFromDeviceFamily());
    return cap;
}

From source file:org.uiautomation.ios.server.servlet.IOSServlet.java

License:Apache License

private void process(HttpServletRequest request, HttpServletResponse response) throws Exception {

    WebDriverLikeRequest req = new WebDriverLikeRequest(request);

    response.setContentType("application/json;charset=UTF-8");
    response.setCharacterEncoding("UTF-8");

    try {/*ww w. j  a  v a2 s .co  m*/
        response.setStatus(200);
        Response resp = getResponse(req);

        // TODO implement the json protocol properly.
        if (req.getGenericCommand() == WebDriverLikeCommand.NEW_SESSION && resp.getStatus() == 0) {
            response.setStatus(301);
            String session = resp.getSessionId();

            if (session == null || session.isEmpty()) {
                response.setStatus(500);
            }

            String scheme = request.getScheme(); // http
            String serverName = request.getServerName(); // hostname.com
            int serverPort = request.getServerPort(); // 80
            String contextPath = request.getContextPath(); // /mywebapp

            // Reconstruct original requesting URL
            String url = scheme + "://" + serverName + ":" + serverPort + contextPath;
            response.setHeader("location", url + "/session/" + session);
        }
        // String s = toString(resp);
        BeanToJsonConverter convertor = new BeanToJsonConverter();
        String s = convertor.convert(resp);

        // status is also used for debugging, it's worth formatting it nice.
        if (req.getGenericCommand() == WebDriverLikeCommand.STATUS) {
            JSONObject o = new JSONObject(s);
            response.getWriter().print(o.toString(2));
        } else {
            response.getWriter().print(s);
        }
    } catch (WebDriverException e) {
        response.setStatus(500);
        response.getWriter().print(serializeException(e));
        throw new WebDriverException("Error processing response." + e.getMessage(), e);
    } finally {
        response.getWriter().close();
    }
}

From source file:org.uiautomation.ios.server.servlet.IOSServlet.java

License:Apache License

private Response getResponse(WebDriverLikeRequest request) {
    long start = System.currentTimeMillis();
    String command = "";
    WebDriverLikeCommand wdlc = null;/*from  www .  j a va2  s  . c  o  m*/
    try {
        wdlc = request.getGenericCommand();
        log.fine("command :  " + wdlc);
        Handler h = CommandMapping.get(wdlc).createHandler(getDriver(), request);
        command = wdlc.method() + "\t " + wdlc.path();
        return h.handleAndRunDecorators();
    } catch (WebDriverException we) {
        Response response = new Response();
        if (wdlc != null && wdlc.isSessionLess()) {
            response.setSessionId("");
        } else {
            response.setSessionId(request.getSession());
        }

        response.setStatus(errorCodes.toStatusCode(we));

        try {
            JSONObject o = serializeException(we);
            response.setValue(o);
        } catch (JSONException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return response;
    } catch (Exception e) {
        throw new WebDriverException("bug." + e.getMessage(), e);
    } finally {
        String message = ((System.currentTimeMillis() - start) + "ms.\t" + command);
        log.info(message);
    }
}

From source file:org.uiautomation.ios.server.utils.Command.java

License:Apache License

/**
 * starts the command. Doesn't wait for it to finish.Doesn't wait for stdout
 * and stderr either./*from w ww . ja v a2  s.c  o  m*/
 * 
 * @throws IOSAutomationSetupException
 */
public void start() {
    ProcessBuilder builder = new ProcessBuilder(args);
    if (workingDir != null) {
        builder.directory(workingDir);
    }

    try {
        process = builder.start();
    } catch (IOException e) {
        throw new WebDriverException("failed to start process " + args, e);
    }

    final InputStream normal = process.getInputStream();
    final InputStream error = process.getErrorStream();

    threads.add(listen(normal, out, true));
    threads.add(listen(error, err, false));

}

From source file:org.uiautomation.ios.server.utils.Command.java

License:Apache License

public int waitFor() {
    try {// w  ww .j a v a 2 s  .c om
        return process.waitFor();
    } catch (InterruptedException e) {
        throw new WebDriverException("error waiting for " + args + " to finish.", e);
    }
}