private String sendMessage(Class<? extends RuntimeException> throwOnFailure, String methodName, Object... parameters) { return parent.sendMessage(throwOnFailure, new Command(parent.context, elementId, methodName, parameters)); }
private String sendMessage(Class<? extends WebDriverException> throwOnFailure, String methodName, Object... parameters) { return sendMessage(throwOnFailure, new Command(context, methodName, parameters)); }
public void quit() { try { sendMessageAndWaitForResponse(WebDriverException.class, new Command(null, "quit")); } catch (Exception e) { // Expected } allowFirefoxToQuit(); }
public Object executeScript(String script, Object... args) { // Escape the quote marks script = script.replaceAll("\"", "\\\""); Object[] convertedArgs = convertToJsObjects(args); Command command = new Command(context, null, "executeScript", script, convertedArgs); Response response = extension.sendMessageAndWaitForResponse(WebDriverException.class, command); context = response.getContext(); response.ifNecessaryThrow(WebDriverException.class); if ("NULL".equals(response.getExtraResult("resultType"))) return null; String resultType = (String) response.getExtraResult("resultType"); if ("ELEMENT".equals(resultType)) return new FirefoxWebElement(this, response.getResponseText()); Object result = response.getExtraResult("response"); if (result instanceof Integer) return new Long(response.getResponseText()); return result; }
public void quit() { try { sendMessageAndWaitForResponse(WebDriverException.class, new Command(null, "quit")); } catch (Exception e) { // this is expected } if (Platform.getCurrent().is(Platform.WINDOWS)) { quitOnWindows(); } else { quitOnOtherPlatforms(); } profile.clean(); }