use of com.github.bordertech.wcomponents.test.selenium.element.SeleniumWComponentWebElement in project wcomponents by BorderTech.
the class WLabelExample_Test method testGetByLabelReadOnly.
@Test
public void testGetByLabelReadOnly() {
String labelText = "A hidden label for a read only field";
SeleniumWComponentsWebDriver driver = getDriver();
SeleniumWComponentWebElement expected = driver.findElement(byWComponentPath("WTextField[2]"));
SeleniumWComponentWebElement actual = driver.findElement(new ByLabel(labelText, false));
Assert.assertEquals(expected.getAttribute("id"), actual.getAttribute("id"));
}
use of com.github.bordertech.wcomponents.test.selenium.element.SeleniumWComponentWebElement in project wcomponents by BorderTech.
the class WLabelExample_Test method testGetByLabelReadOnlyPartial.
@Test
public void testGetByLabelReadOnlyPartial() {
String labelText = "for a read only";
SeleniumWComponentsWebDriver driver = getDriver();
SeleniumWComponentWebElement expected = driver.findElement(byWComponentPath("WTextField[2]"));
SeleniumWComponentWebElement actual = driver.findElement(new ByLabel(labelText, true));
Assert.assertEquals(expected.getAttribute("id"), actual.getAttribute("id"));
}
use of com.github.bordertech.wcomponents.test.selenium.element.SeleniumWComponentWebElement in project wcomponents by BorderTech.
the class WLabelExample_Test method testGetByLabelSimplePartial.
@Test
public void testGetByLabelSimplePartial() {
String labelText = "Normal input";
SeleniumWComponentsWebDriver driver = getDriver();
SeleniumWComponentWebElement expected = driver.findElement(byWComponentPath("WTextField[0]"));
SeleniumWComponentWebElement actual = driver.findElement(new ByLabel(labelText, true));
Assert.assertEquals(expected.getAttribute("id"), actual.getAttribute("id"));
}
use of com.github.bordertech.wcomponents.test.selenium.element.SeleniumWComponentWebElement in project wcomponents by BorderTech.
the class WLabelExample_Test method testGetComponentReadOnly.
@Test
public void testGetComponentReadOnly() {
SeleniumWComponentsWebDriver driver = getDriver();
SeleniumWLabelWebElement label = driver.findWLabel(byWComponentPath("WLabel[2]"));
Assert.assertTrue(label.isReadOnly());
SeleniumWComponentWebElement expected = driver.findElement(byWComponentPath("WTextField[2]"));
Assert.assertEquals(expected.getAttribute("id"), label.getLabelledComponent().getAttribute("id"));
}
use of com.github.bordertech.wcomponents.test.selenium.element.SeleniumWComponentWebElement in project wcomponents by BorderTech.
the class SeleniumWComponentsUtil method wrapInputElementWithTypedWebElement.
/**
* Analyze the input element and attempt to wrap it in the appropriate component-specific subclass. If not component
* specific subclass can be identified then the element will be wrapped in a SeleniumWComponentWebElement.
*
* @param driver the WebDriver.
* @param element the default Selenium WebElement.
* @return a subtype of SeleniumWComponentWebElement specific to the element type.
*/
public static SeleniumWComponentInputWebElement wrapInputElementWithTypedWebElement(final WebDriver driver, final WebElement element) {
String tag = element.getTagName();
if (tag.equals(SeleniumWComponentInputWebElement.EDITABLE_TAG)) {
String type = element.getAttribute("type");
WebElement el = element.findElement(By.xpath(".."));
switch(type) {
case SeleniumWCheckBoxWebElement.TYPE:
return new SeleniumWCheckBoxWebElement(el, driver);
case SeleniumWTextFieldWebElement.TYPE:
// Text fields have a wrapping Span, we want to wrap that
return new SeleniumWTextFieldWebElement(el, driver);
case SeleniumWEmailFieldWebElement.TYPE:
return new SeleniumWEmailFieldWebElement(el, driver);
case SeleniumWRadioButtonWebElement.TYPE:
return new SeleniumWRadioButtonWebElement(el, driver);
default:
return new SeleniumWComponentInputWebElement(el, driver);
}
} else if (tag.equals(SeleniumWTextAreaWebElement.TEXTAREA_TAG)) {
return new SeleniumWTextAreaWebElement(element.findElement(By.xpath("..")), driver);
} else if (tag.equals(SeleniumWSelectWebElement.SELECT_TAG)) {
return new SeleniumWSelectWebElement(element.findElement(By.xpath("..")), driver);
}
return new SeleniumWComponentInputWebElement(element, driver);
}
Aggregations