@Nonnull public <P extends Page> P waitFor(@Nonnull Class<P> pageClass, Object... args) { return pageBinder.delayedBind(pageClass, args).waitUntil().get(); } }
@Override public TimedCondition isAt() { return getDeplayed().get().isAt(); }
@Override public TimedCondition isAt() { final AddIssueTypeForm typeForm = getDeplayed().get(); return typeForm.isAt(); }
@Override public <P extends Page> P navigateToAndBind(Class<P> pageClass, Object... args) { checkNotNull(pageClass); DelayedBinder<P> binder = delayedBind(pageClass, args); P p = binder.get(); visitUrl(p); return binder.bind(); }
/** * Faster way of login when in testing environment by embedding the credentials in the url, * so we don't have to visit the login page every single time. */ public <M extends Page> M autoLoginEmbeddingCredentialsInUrl(UserWithDetails user, Class<M> destinationClass, Object... args) { checkNotNull(destinationClass); DelayedBinder<M> binder = pageBinder.delayedBind(destinationClass, args); M p = binder.get(); checkNotNull(p); URI uriBuilder = UriBuilder.fromUri(productInstance.getBaseUrl() + p.getUrl()) .queryParam("os_username", user.getUsername()) .queryParam("os_password", user.getPassword()) .build(); webDriverTester.gotoUrl(uriBuilder.toString()); return binder.bind(); }
public boolean hasTab(Class<? extends T> tabClass) { final DelayedBinder<? extends T> tab = pageBinder.delayedBind(tabClass); final PageElement link = tabLinkContainer.find(By.id(tab.inject().get().linkId())); return link.isPresent(); }
public <P extends Page> P visitExternal(Class<P> pageClass, Object... args) { checkNotNull(pageClass); DelayedBinder<P> binder = pageBinder.delayedBind(pageClass, args); P p = binder.get(); checkNotNull(p); String pageUrl = p.getUrl(); try { getTester().gotoUrl(pageUrl); } catch (WebDriverException e) { throw new WebDriverException("Failed to load URL '" + pageUrl + "'", e); } return binder.bind(); }
public <P extends Page> DelayedBinder<P> visitDelayed(final Class<P> pageClass, final Object... args) { final DelayedBinder<P> binder = pageBinder.delayedBind(pageClass, args); webDriverTester.gotoUrl(productInstance.getBaseUrl() + binder.get().getUrl()); return binder; }
<TT extends T> TT openTab(Class<TT> tabClass, Object... args) { final DelayedBinder<TT> tab = pageBinder.delayedBind(tabClass, args); final PageElement link = tabLinkContainer.find(By.id(tab.inject().get().linkId())); stateTrue("Link " + link + " for tab " + tabClass.getName() + " not found", link.isPresent()); link.click(); final TT realTab = tab.bind(); waitUntilTrue(realTab.isOpen()); return realTab; }
public <M extends Page> M login(UserWithDetails user, Class<M> destinationClass, Object... args) { DelayedBinder<M> destination = pageBinder.delayedBind(destinationClass, args); String destUrl = TestProperties.getTestProperty("webappContext") + destination.get().getUrl(); if (destUrl.charAt(0) != '/') { destUrl = "/" + destUrl; } driver.executeScript("AJS.$('input[name=\\'dest-url\\']').val('" + destUrl + "')"); login(user.getUsername(), user.getPassword(), false); return destination.bind(); }
@Override public <T extends ViewProfileTab> T openTab(final Class<T> tabClass) { final T tab = pageBinder.delayedBind(tabClass).inject().get(); profileTabs.find(By.id(tab.linkId())).click(); Poller.waitUntilTrue(tab.isOpen()); assertCorrectUrl(tab.getUrlPart()); return tab; }
public <M extends Page> M login(UserWithDetails user, Class<M> destinationClass, Object... args) { DelayedBinder<M> destination = pageBinder.delayedBind(destinationClass, args); driver.executeScript("AJS.$('input[name=\\'os_destination\\']').val('" + destination.get().getUrl() + "')"); login(user.getUsername(), user.getPassword(), false); return destination.bind(); }
public <T extends ViewProfileTab> T goBackTo(final Class<T> tabClass) { final T tab = pageBinder.delayedBind(tabClass).inject().get(); driver.navigate().back(); Poller.waitUntilTrue(tab.isOpen()); assertCorrectUrl(tab.getUrlPart()); return tab; }
public <M extends Page> M login(UserWithDetails user, Class<M> destinationClass, Object... args) { DelayedBinder<M> destination = pageBinder.delayedBind(destinationClass, args); driver.executeScript("AJS.$('input[name=\\'os_destination\\']').val(" + "'/" + TestProperties.getTestProperty("webappContext") + destination.get().getUrl() + "')"); login(user.getUsername(), user.getPassword(), false); return destination.bind(); }