public PrismForm<T> setDropDownAttributeValue(QName name, String value) { SelenideElement property = findProperty(name); ElementsCollection values = property.$$(By.className("prism-property-value")); if (values.size() > 0) { SelenideElement dropDown = values.first().$(By.tagName("select")); if (dropDown != null){ dropDown.selectOptionContainingText(value); } } return this; }
public PrismForm<T> addAttributeValue(QName name, String value) { SelenideElement property = findProperty(name); ElementsCollection values = property.$$(By.className("prism-property-value")); if (values.size() == 1) { values.first().$(By.className("form-control")).setValue(value); } // todo implement return this; }
public PrismForm<T> setPasswordFieldsValues(QName name, String value) { SelenideElement property = findProperty(name); ElementsCollection values = property.$$(By.className("prism-property-value")); if (values.size() > 0) { ElementsCollection passwordInputs = values.first().$$(By.tagName("input")); if (passwordInputs != null){ passwordInputs.forEach(inputElement -> inputElement.setValue(value)); } } return this; }
public PrismForm<T> addAttributeValue(String name, String value) { SelenideElement property = findProperty(name); $(By.className("prism-properties")).waitUntil(Condition.appears,MidPoint.TIMEOUT_MEDIUM_6_S); ElementsCollection values = property.$$(By.className("prism-property-value")); if (values.size() == 1) { values.first().$(By.className("form-control")).setValue(value); } // todo implement return this; }
public PrismForm<T> changeAttributeValue(String name, String oldValue, String newValue) { SelenideElement property = findProperty(name); $(By.className("prism-properties")).waitUntil(Condition.appears,MidPoint.TIMEOUT_MEDIUM_6_S); ElementsCollection values = property.$$(By.className("prism-property-value")); if (values.size() == 1) { values.first().$(By.className("form-control")).setValue(newValue); } // todo implement return this; }
public Paging<T> pageSize(int size) { Validate.isTrue(size > 0, "Size must be larger than zero."); SelenideElement parent = getParentElement(); SelenideElement button = parent.$(By.cssSelector(".btn.btn-default.dropdown-toggle")); button.click(); button.parent().$(By.className("dropdown-menu")).$$x(".//a").first().click(); SelenideElement popover = parent.$$(By.className("popover-title")) .findBy(Condition.text("Page size")).parent(); //todo fix localization popover.$(By.tagName("input")).setValue(Integer.toString(size)); popover.$(By.tagName("button")).click(); return this; }