public PrismForm<FormSubmitablePage> form (){ if(!element.exists()){ throw new SchrodingerException("Dynamic form not present"); } return new PrismForm<>(this, element); }
public Boolean isError() { return getParentElement().$(By.cssSelector("div.feedback-message.box.box-solid.box-danger")).waitUntil(Condition.appears, MidPoint.TIMEOUT_LONG_1_M).exists(); }
public Boolean isInfo() { return getParentElement().$(By.cssSelector("div.feedback-message.box.box-solid.box-info")).waitUntil(Condition.appears, MidPoint.TIMEOUT_LONG_1_M).exists(); }
public Boolean isSuccess() { return getParentElement().$(By.cssSelector("div.feedback-message.box.box-solid.box-success")).waitUntil(Condition.appears, MidPoint.TIMEOUT_LONG_1_M).exists(); }
public Boolean isWarning() { return getParentElement().$(By.cssSelector("div.feedback-message.box.box-solid.box-warning")).waitUntil(Condition.appears, MidPoint.TIMEOUT_LONG_1_M).exists(); }
public FocusSetAssignmentsModal<T> selectType(String option) { SelenideElement tabElement = $(Schrodinger.byElementValue("a", "class", "tab-label", option)) .waitUntil(Condition.appears, MidPoint.TIMEOUT_DEFAULT_2_S); String classActive = tabElement.attr("class"); tabElement.click(); if (!classActive.contains("active")) { $(Schrodinger.byElementValue("a", "class", "tab-label", option)) .waitUntil(Condition.attribute("class", classActive + " active"), MidPoint.TIMEOUT_DEFAULT_2_S).exists(); } return this; }
/** * Скроллит страницу вниз до появления элемента каждую секунду. * Если достигнут футер страницы и элемент не найден - выбрасывается exception. */ @И("^страница прокручена до появления элемента \"([^\"]*)\"$") public void scrollWhileElemNotFoundOnPage(String elementName) { SelenideElement el = null; do { el = akitaScenario.getCurrentPage().getElement(elementName); if (el.exists()) { break; } executeJavaScript("return window.scrollBy(0, 250);"); sleep(1000); } while (!atBottom()); assertThat("Элемент " + elementName + " не найден", el.isDisplayed()); }
/** * Скроллит страницу вниз до появления элемента с текстом из property файла, из переменной сценария или указанному в шаге каждую секунду. * Если достигнут футер страницы и элемент не найден - выбрасывается exception. */ @И("^страница прокручена до появления элемента с текстом \"([^\"]*)\"$") public void scrollWhileElemWithTextNotFoundOnPage(String expectedValue) { SelenideElement el = null; do { el = $(By.xpath(getTranslateNormalizeSpaceText(getPropertyOrStringVariableOrValue(expectedValue)))); if (el.exists()) { break; } executeJavaScript("return window.scrollBy(0, 250);"); sleep(1000); } while (!atBottom()); assertThat("Элемент с текстом " + expectedValue + " не найден", el.isDisplayed()); }
private SelenideElement findProperty(String name) { Selenide.sleep(5000); SelenideElement element = null; boolean doesElementAttrValueExist = $(Schrodinger.byElementAttributeValue(null, "contains", Schrodinger.DATA_S_QNAME, "#" + name)).exists(); if (doesElementAttrValueExist) { element = $(Schrodinger.byElementAttributeValue(null, "contains", Schrodinger.DATA_S_QNAME, "#" + name)).waitUntil(Condition.visible, MidPoint.TIMEOUT_DEFAULT_2_S); } else { element = $(By.xpath("//span[@data-s-id=\"label\"][contains(.,\"" + name + "\")]/..")).waitUntil(Condition.visible, MidPoint.TIMEOUT_MEDIUM_6_S) .parent().waitUntil(Condition.visible, MidPoint.TIMEOUT_MEDIUM_6_S); } return element; }