private static String getAttributeValue(WebElement element, String attributeName) { String attr = element.getAttribute(attributeName); return attr == null ? "" : attr; }
@Override public boolean apply(Driver driver, WebElement element) { return element.getAttribute(attributeName) != null; }
@Override public boolean apply(Driver driver, WebElement element) { String classes = element.getAttribute("class"); return classes != null && contains(classes.split(" "), cssClass); }
@Override public String execute(SelenideElement proxy, WebElementSource locator, Object[] args) { return locator.getWebElement().getAttribute((String) args[0]); } }
@Override public String execute(SelenideElement proxy, WebElementSource selectElement, Object[] args) throws IOException { WebElement option = getSelectedOption.execute(proxy, selectElement, args); return option == null ? null : option.getAttribute("value"); } }
@Override public String execute(SelenideElement proxy, WebElementSource locator, Object[] args) { return locator.getWebElement().getAttribute("data-" + args[0]); } }
@Override public String execute(SelenideElement proxy, WebElementSource locator, Object[] args) { return locator.getWebElement().getAttribute("value"); } }
@Override public String execute(SelenideElement proxy, WebElementSource locator, Object[] args) { return locator.getWebElement().getAttribute("name"); } }
private Describe attr(String attributeName) { String attributeValue = element.getAttribute(attributeName); return attr(attributeName, attributeValue); }
public File download(Driver driver, WebElement element, long timeout) throws IOException { String fileToDownloadLocation = element.getAttribute("href"); if (fileToDownloadLocation == null || fileToDownloadLocation.trim().isEmpty()) { throw new IllegalArgumentException("The element does not have href attribute: " + describe(driver, element)); } return download(driver, fileToDownloadLocation, timeout); }
@Override public String getText() { WebElement webElement = getWebElement(); if ("input".equals(webElement.getTagName().toLowerCase())) { String value = webElement.getAttribute("value"); if (value == null) { value = ""; } return value; } else return getWebElement().getText().trim(); }
@Override public String execute(SelenideElement proxy, WebElementSource locator, Object[] args) { WebElement element = locator.getWebElement(); if (locator.driver().browser().isIE()) { return element.getAttribute("innerText"); } return element.getAttribute("textContent"); } }
public SelenideElement getSelectedRadio(By radioField) { for (WebElement radio : $$(radioField)) { if (radio.getAttribute("checked") != null) { return $(radio); } } return null; }
public WebElement dependency(String value) { for (WebElement element : this.form.findElements(By.name("style"))) { if (value.equals(element.getAttribute("value"))) { return element; } } throw new AssertionError("Dependency not found: " + value); }
@Test public void testBuildInfo() throws Exception { webDriver.get(baseUrl + "/login"); String regex = "Version: \\S+, Commit: \\w{7}, Timestamp: .+, UAA: " + baseUrl; assertTrue(webDriver.findElement(By.cssSelector(".footer .copyright")).getAttribute("title").matches(regex)); }
@Test public void testAutocompleteIsDisabledForPasswordField() { webDriver.get(baseUrl + "/login"); WebElement password = webDriver.findElement(By.name("password")); assertEquals("off", password.getAttribute("autocomplete")); }
@Test public void testQRCodeScreen() throws Exception { performLogin(username); assertEquals(zoneUrl + "/login/mfa/register", webDriver.getCurrentUrl()); String imageSrc = webDriver.findElement(By.id("qr")).getAttribute("src"); String secretKey = getSecretFromQrImageString(imageSrc); webDriver.findElement(By.id("Next")).click(); verifyCodeOnRegistration(secretKey, "/"); }
@Override public String execute(SelenideElement proxy, WebElementSource locator, Object[] args) { WebElement element = locator.getWebElement(); if (locator.driver().browser().isHtmlUnit()) { return locator.driver().executeJavaScript("return arguments[0].innerHTML", element); } return element.getAttribute("innerHTML"); } }
@Test public void testQRCodeScreen_ClickManualAndReturn() throws Exception{ performLogin(username); assertEquals(zoneUrl + "/login/mfa/register", webDriver.getCurrentUrl()); webDriver.findElement(By.linkText("manual setup instructions")).click(); assertEquals(zoneUrl + "/login/mfa/manual", webDriver.getCurrentUrl()); webDriver.findElement(By.id("Back")).click(); assertEquals(zoneUrl + "/login/mfa/register", webDriver.getCurrentUrl()); String imageSrc = webDriver.findElement(By.id("qr")).getAttribute("src"); String secretKey = getSecretFromQrImageString(imageSrc); webDriver.findElement(By.id("Next")).click(); verifyCodeOnRegistration(secretKey, "/"); }
@Test public void testLoginReloadRetainsFormRedirect() { String redirectUri = "http://expected.com"; webDriver.get(baseUrl + "/oauth/authorize?client_id=test&redirect_uri="+redirectUri); ((JavascriptExecutor)webDriver).executeScript("document.getElementsByName('X-Uaa-Csrf')[0].value=''"); webDriver.manage().deleteCookieNamed("JSESSIONID"); webDriver.findElement(By.xpath("//input[@value='Sign in']")).click(); assertThat(webDriver.getCurrentUrl(), Matchers.containsString("/login")); assertThat(webDriver.findElement(By.name("form_redirect_uri")).getAttribute("value"), Matchers.containsString("redirect_uri="+redirectUri)); }