private static WebDriver wdsInstance() { WebDriver wds = providers.get().wds(); UiDriverPluginService.driverPlugins().beforeGetDriver(); if (wdsInstances.get(wds) == null) { wdsInstances.put(wds, new VisibleElementFilter(providers.get().wds())); } UiDriverPluginService.driverPlugins().afterGetDriver(wdsInstances.get(wds)); return wdsInstances.get(wds); }
public static final WebDriver getDriver() { UiDriverPluginService.driverPlugins().beforeGetDriver(); if (isWds()) return wdsInstance(); if (instance() == null || isWrong(instance())) { UiDriverPluginService.driverPlugins().beforeInstantiateDriver(); WebDriver dr = new VisibleElementFilter(createRemoteDriver()); instances.set(dr); Runtime.getRuntime().addShutdownHook(closeDriver(instance())); UiDriverPluginService.driverPlugins().afterInstantiateDriver(dr); } UiDriverPluginService.driverPlugins().afterGetDriver(instance()); return instance(); }
public static void closeDriver() { UiDriverPluginService.driverPlugins().beforeCloseDriver(instance()); if (instance() != null) { try { instance().close(); if (!dontUseQuit()) { instance().quit(); } } catch (Throwable ignore) { ignore.printStackTrace(); } instances.set(null); } UiDriverPluginService.driverPlugins().afterCloseDriver(); }
public static final void setWds(WdsProvider provider) { UiDriverPluginService.driverPlugins().beforeInstantiateDriver(); providers.set(provider); UiDriverPluginService.driverPlugins().afterInstantiateDriver(provider.wds()); }