List of usage examples for org.openqa.selenium WebDriverException WebDriverException
public WebDriverException(String message, Throwable cause)
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); } }