"Connection refused".equals(rootCause.getMessage()) && !service.isRunning()) { throw new WebDriverException("The PhantomJS/GhostDriver server has unexpectedly died!", t); throw new WebDriverException(t); } finally { if (DriverCommand.QUIT.equals(command.getName())) {
throw new WebDriverException(e);
private Object getPrivateFieldValue(String fieldName) { try { final Field f = getClass().getSuperclass().getDeclaredField(fieldName); f.setAccessible(true); return f.get(this); } catch (NoSuchFieldException | IllegalAccessException e) { throw new WebDriverException(e); } }
private <B> B getPrivateFieldValue(String fieldName, Class<B> fieldType) { try { final Field f = getClass().getSuperclass().getDeclaredField(fieldName); f.setAccessible(true); return fieldType.cast(f.get(this)); } catch (NoSuchFieldException | IllegalAccessException e) { throw new WebDriverException(e); } }
protected <B> B getPrivateFieldValue(String fieldName, Class<B> fieldType) { Class<?> superclass = getClass().getSuperclass(); Throwable recentException = null; while (superclass != Object.class) { try { final Field f = superclass.getDeclaredField(fieldName); f.setAccessible(true); return fieldType.cast(f.get(this)); } catch (NoSuchFieldException | IllegalAccessException e) { recentException = e; } superclass = superclass.getSuperclass(); } throw new WebDriverException(recentException); }
protected Throwable propagateIfNotIgnored(Throwable e) { for (Class<? extends Throwable> ignoredException : getIgnoredExceptions()) { if (ignoredException.isInstance(e)) { return e; } } Throwables.throwIfUnchecked(e); throw new WebDriverException(e); } }
protected void setPrivateFieldValue(String fieldName, Object newValue) { Class<?> superclass = getClass().getSuperclass(); Throwable recentException = null; while (superclass != Object.class) { try { final Field f = superclass.getDeclaredField(fieldName); f.setAccessible(true); f.set(this, newValue); return; } catch (NoSuchFieldException | IllegalAccessException e) { recentException = e; } superclass = superclass.getSuperclass(); } throw new WebDriverException(recentException); }
@Override public String getWindowHandle() { throw new WebDriverException(); }
@Override public String getPageSource() { throw new WebDriverException(); }
@Override public Rectangle getRect() { throw new WebDriverException(); }
@Override public Set<String> getContextHandles() { Response response = execute(DriverCommand.GET_CONTEXT_HANDLES); Object value = response.getValue(); try { List<String> returnedValues = (List<String>) value; return new LinkedHashSet<>(returnedValues); } catch (ClassCastException ex) { throw new WebDriverException( "Returned value cannot be converted to List<String>: " + value, ex); } }
@Override public ScreenOrientation getOrientation() { Response response = execute(DriverCommand.GET_SCREEN_ORIENTATION); String orientation = response.getValue().toString().toLowerCase(); if (orientation.equals(ScreenOrientation.LANDSCAPE.value())) { return ScreenOrientation.LANDSCAPE; } else if (orientation.equals(ScreenOrientation.PORTRAIT.value())) { return ScreenOrientation.PORTRAIT; } else { throw new WebDriverException("Unexpected orientation returned: " + orientation); } }
throw NoSuchElementException.class.cast(shouldBeThrown); } else { throw new WebDriverException(shouldBeThrown); throw new WebDriverException(e);
@Override protected RemoteWebElement newRemoteWebElement() { Class<? extends RemoteWebElement> target; target = getElementClass(platform, automation); try { Constructor<? extends RemoteWebElement> constructor = target.getDeclaredConstructor(); constructor.setAccessible(true); RemoteWebElement result = constructor.newInstance(); result.setParent(driver); result.setFileDetector(driver.getFileDetector()); return result; } catch (Exception e) { throw new WebDriverException(e); } } }
driverService.start(); } catch (IOException e) { throw new WebDriverException(e.getMessage(), e); throw serviceOptional.map(service -> { if (service.isRunning()) { return new WebDriverException("The session is closed!", rootCause); return new WebDriverException("The appium server has accidentally died!", rootCause); }).orElseGet((Supplier<WebDriverException>) () -> new WebDriverException(rootCause.getMessage(), rootCause)); throw new WebDriverException(t); } finally { if (DriverCommand.QUIT.equals(command.getName())) {
@Override public DeviceRotation rotation() { Response response = execute(DriverCommand.GET_SCREEN_ROTATION); DeviceRotation deviceRotation = new DeviceRotation((Map<String, Number>) response.getValue()); if (deviceRotation.getX() < 0 || deviceRotation.getY() < 0 || deviceRotation.getZ() < 0) { throw new WebDriverException("Unexpected orientation returned: " + deviceRotation); } return deviceRotation; }
} catch (InterruptedException e) { Thread.currentThread().interrupt(); throw new WebDriverException(e);
private <B> B getPrivateFieldValue(String fieldName, Class<B> fieldType) { try { final Field f = getClass().getSuperclass().getDeclaredField(fieldName); f.setAccessible(true); return fieldType.cast(f.get(this)); } catch (NoSuchFieldException | IllegalAccessException e) { throw new WebDriverException(e); } }
@Override public List<WebElement> findElements(SearchContext context) { if (context instanceof FindsByCssSelector) { return ((FindsByCssSelector) context).findElementsByCssSelector(cssSelector); } throw new WebDriverException( "Driver does not support finding elements by selector: " + cssSelector); }
public Preferences(Reader defaults, File userPrefs) { readDefaultPreferences(defaults); try (FileReader reader = new FileReader(userPrefs)) { readPreferences(reader); } catch (IOException e) { throw new WebDriverException(e); } }