@Override public String getTitle() { return driver.getTitle(); }
public boolean isBrowserStillOpen(WebDriver webDriver) { try { webDriver.getTitle(); return true; } catch (UnreachableBrowserException e) { log.log(FINE, "Browser is unreachable", e); return false; } catch (NoSuchWindowException e) { log.log(FINE, "Browser window is not found", e); return false; } catch (NoSuchSessionException e) { log.log(FINE, "Browser session is not found", e); return false; } } }
public String title() { return getWebDriver().getTitle(); }
public DefaultLogoutPage assertAt() { assertThat(this.driver.getTitle()).isEqualTo("Confirm Log Out?"); return this; }
public CustomLoginPage assertAt() { assertThat(this.driver.getTitle()).isEqualTo("Custom Log In Page"); return this; }
public DefaultLoginPage assertAt() { assertThat(this.driver.getTitle()).isEqualTo("Please sign in"); return this; }
public void assertAt() { assertThat(this.driver.getTitle()).isEqualTo("Secured"); }
/** * Switch to window/tab by name/handle/title except some windows handles * @param title title of window/tab */ protected static WebDriver windowByTitle(WebDriver driver, String title) { Set<String> windowHandles = driver.getWindowHandles(); for (String windowHandle : windowHandles) { driver.switchTo().window(windowHandle); if (title.equals(driver.getTitle())) { return driver; } } throw new NoSuchWindowException("Window with title not found: " + title); }
private void beginPasswordReset(String username) { webDriver.get(baseUrl + "/login"); Assert.assertEquals("Cloud Foundry", webDriver.getTitle()); webDriver.findElement(By.linkText("Reset password")).click(); Assert.assertEquals("Reset Password", webDriver.findElement(By.tagName("h1")).getText()); // Enter email address webDriver.findElement(By.name("username")).sendKeys(username); webDriver.findElement(By.xpath("//input[@value='Send reset password link']")).click(); Assert.assertEquals("Instructions Sent", webDriver.findElement(By.tagName("h1")).getText()); }
@Test public void testLoginHint() throws Exception { String newUserEmail = createAnotherUser(); webDriver.get(baseUrl + "/logout.do"); String ldapLoginHint = URLEncoder.encode("{\"origin\":\"ldap\"}", "UTF-8"); webDriver.get(baseUrl + "/login?login_hint=" + ldapLoginHint); assertEquals("Cloud Foundry", webDriver.getTitle()); attemptLogin(newUserEmail, USER_PASSWORD); assertThat(webDriver.findElement(By.className("alert-error")).getText(), containsString("Unable to verify email or password. Please try again.")); String uaaLoginHint = URLEncoder.encode("{\"origin\":\"uaa\"}", "UTF-8"); webDriver.get(baseUrl + "/login?login_hint=" + uaaLoginHint); assertEquals("Cloud Foundry", webDriver.getTitle()); attemptLogin(newUserEmail, USER_PASSWORD); assertThat(webDriver.findElement(By.cssSelector("h1")).getText(), Matchers.containsString("Where to?")); webDriver.get(baseUrl + "/logout.do"); }
private void login(IdentityProvider<SamlIdentityProviderDefinition> provider) { webDriver.get(baseUrl + "/login"); Assert.assertEquals("Cloud Foundry", webDriver.getTitle()); webDriver.findElement(By.xpath("//a[text()='" + provider.getConfig().getLinkText() + "']")).click(); webDriver.findElement(By.xpath("//h2[contains(text(), 'Enter your username and password')]")); webDriver.findElement(By.name("username")).clear(); webDriver.findElement(By.name("username")).sendKeys(testAccounts.getUserName()); webDriver.findElement(By.name("password")).sendKeys(testAccounts.getPassword()); webDriver.findElement(By.xpath("//input[@value='Login']")).click(); } }
@Test public void testUnsuccessfulLogin() throws Exception { webDriver.get(baseUrl + "/login"); assertEquals("Cloud Foundry", webDriver.getTitle()); attemptLogin(testAccounts.getUserName(), "invalidpassword"); assertThat(webDriver.findElement(By.cssSelector("h1")).getText(), Matchers.containsString("Welcome!")); }
private void testSimpleSamlLogin(String firstUrl, String lookfor, String username, String password) throws Exception { IdentityProvider<SamlIdentityProviderDefinition> provider = createIdentityProvider(SAML_ORIGIN); webDriver.get(baseUrl + firstUrl); Assert.assertEquals("Cloud Foundry", webDriver.getTitle()); webDriver.findElement(By.xpath("//a[text()='" + provider.getConfig().getLinkText() + "']")).click(); //takeScreenShot(); webDriver.findElement(By.xpath("//h2[contains(text(), 'Enter your username and password')]")); webDriver.findElement(By.name("username")).clear(); webDriver.findElement(By.name("username")).sendKeys(username); webDriver.findElement(By.name("password")).sendKeys(password); webDriver.findElement(By.xpath("//input[@value='Login']")).click(); assertThat(webDriver.findElement(By.cssSelector("h1")).getText(), Matchers.containsString(lookfor)); IntegrationTestUtils.validateAccountChooserCookie(baseUrl, webDriver); }
@Test public void testPasscodeRedirect() throws Exception { webDriver.get(baseUrl + "/passcode"); assertEquals("Cloud Foundry", webDriver.getTitle()); attemptLogin(testAccounts.getUserName(), testAccounts.getPassword()); assertThat(webDriver.findElement(By.cssSelector("h1")).getText(), Matchers.containsString("Temporary Authentication Code")); }
@Test public void testSuccessfulLoginNewUser() throws Exception { String newUserEmail = createAnotherUser(); webDriver.get(baseUrl + "/logout.do"); webDriver.get(baseUrl + "/login"); assertEquals("Cloud Foundry", webDriver.getTitle()); attemptLogin(newUserEmail, USER_PASSWORD); assertThat(webDriver.findElement(By.cssSelector("h1")).getText(), Matchers.containsString("Where to?")); webDriver.get(baseUrl + "/logout.do"); attemptLogin(newUserEmail, USER_PASSWORD); assertNotNull(webDriver.findElement(By.cssSelector("#last_login_time"))); IntegrationTestUtils.validateAccountChooserCookie(baseUrl, webDriver); }
@Test public void testSingleLogout() throws Exception { IdentityProvider<SamlIdentityProviderDefinition> provider = createIdentityProvider(SAML_ORIGIN); webDriver.get(baseUrl + "/login"); Assert.assertEquals("Cloud Foundry", webDriver.getTitle()); webDriver.findElement(By.xpath("//a[text()='" + provider.getConfig().getLinkText() + "']")).click(); webDriver.findElement(By.xpath("//h2[contains(text(), 'Enter your username and password')]")); webDriver.findElement(By.name("username")).clear(); webDriver.findElement(By.name("username")).sendKeys(testAccounts.getUserName()); webDriver.findElement(By.name("password")).sendKeys(testAccounts.getPassword()); webDriver.findElement(By.xpath("//input[@value='Login']")).click(); assertThat(webDriver.findElement(By.cssSelector("h1")).getText(), Matchers.containsString("Where to")); logout(); IntegrationTestUtils.validateAccountChooserCookie(baseUrl, webDriver); webDriver.findElement(By.xpath("//a[text()='" + provider.getConfig().getLinkText() + "']")).click(); webDriver.findElement(By.xpath("//h2[contains(text(), 'Enter your username and password')]")); }
private void testLocalSamlIdpLogin(String firstUrl, String lookfor, String username, String password) throws Exception { SamlIdentityProviderDefinition idpDef = createLocalSamlIdpDefinition(IDP_ENTITY_ID, "uaa"); @SuppressWarnings("unchecked") IdentityProvider<SamlIdentityProviderDefinition> provider = IntegrationTestUtils.createIdentityProvider( "Local SAML IdP", true, this.baseUrl, this.serverRunning, idpDef); SamlServiceProviderDefinition spDef = createLocalSamlSpDefinition("cloudfoundry-saml-login", "uaa"); createSamlServiceProvider("Local SAML SP", "cloudfoundry-saml-login", baseUrl, serverRunning, spDef); webDriver.get(baseUrl + firstUrl); IntegrationTestUtils.takeScreenShot(webDriver); assertEquals("Cloud Foundry", webDriver.getTitle()); webDriver.findElement(By.xpath("//a[text()='" + provider.getConfig().getLinkText() + "']")).click(); webDriver.findElement(By.xpath("//h1[contains(text(), 'Welcome!')]")); webDriver.findElement(By.name("username")).clear(); webDriver.findElement(By.name("username")).sendKeys(username); webDriver.findElement(By.name("password")).sendKeys(password); webDriver.findElement(By.xpath("//input[@value='Sign in']")).click(); assertThat(webDriver.findElement(By.cssSelector("h1")).getText(), containsString(lookfor)); provider.setActive(false); IntegrationTestUtils.updateIdentityProvider(this.baseUrl, this.serverRunning, provider); }
@Test public void testSingleLogoutWithNoLogoutUrlOnIDP() throws Exception { SamlIdentityProviderDefinition providerDefinition = createIDPWithNoSLOSConfigured(SAML_ORIGIN); IdentityProvider<SamlIdentityProviderDefinition> provider = new IdentityProvider(); provider.setIdentityZoneId(OriginKeys.UAA); provider.setType(OriginKeys.SAML); provider.setActive(true); provider.setConfig(providerDefinition); provider.setOriginKey(providerDefinition.getIdpEntityAlias()); provider.setName("simplesamlphp for uaa"); String zoneAdminToken = getZoneAdminToken(baseUrl, serverRunning); provider = IntegrationTestUtils.createOrUpdateProvider(zoneAdminToken, baseUrl, provider); webDriver.get(baseUrl + "/login"); Assert.assertEquals("Cloud Foundry", webDriver.getTitle()); webDriver.findElement(By.xpath("//a[text()='" + provider.getConfig().getLinkText() + "']")).click(); webDriver.findElement(By.xpath("//h2[contains(text(), 'Enter your username and password')]")); webDriver.findElement(By.name("username")).clear(); webDriver.findElement(By.name("username")).sendKeys(testAccounts.getUserName()); webDriver.findElement(By.name("password")).sendKeys(testAccounts.getPassword()); webDriver.findElement(By.xpath("//input[@value='Login']")).click(); assertThat(webDriver.findElement(By.cssSelector("h1")).getText(), Matchers.containsString("Where to")); webDriver.findElement(By.cssSelector(".dropdown-trigger")).click(); webDriver.findElement(By.linkText("Sign Out")).click(); webDriver.findElement(By.xpath("//a[text()='" + provider.getConfig().getLinkText() + "']")).click(); assertThat(webDriver.findElement(By.cssSelector("h1")).getText(), Matchers.containsString("Where to")); }
webDriver.get(idpZoneUrl+ "/logout.do"); webDriver.get(spZoneUrl + "/"); assertEquals(spZone.getName(), webDriver.getTitle()); Cookie beforeLogin = webDriver.manage().getCookieNamed("JSESSIONID"); assertNotNull(beforeLogin);
Assert.assertTrue(webDriver.getTitle().contains("testzone2")); webDriver.findElement(By.xpath("//a[text()='" + provider.getConfig().getLinkText() + "']")).click(); webDriver.findElement(By.xpath("//h2[contains(text(), 'Enter your username and password')]"));