/** * Выполняется запуск js-скрипта с указанием в js.executeScript его логики * Скрипт можно передать как аргумент метода или значение из application.properties */ @Когда("^выполнен js-скрипт \"([^\"]*)\"") public void executeJsScript(String scriptName) { String content = loadValueFromFileOrPropertyOrVariableOrDefault(scriptName); Selenide.executeJavaScript(content); }
/** * Скроллит страницу вниз до появления элемента каждую секунду. * Если достигнут футер страницы и элемент не найден - выбрасывается 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()); }
@Test void testSwitchToTheNextTab() { executeJavaScript("window.open(\"RedirectionPage.html\")"); dmbs.switchToTheNextTab(); assertThat(getWebDriver().getTitle(), IsEqual.equalTo("Page with redirection")); dmbs.switchToTheNextTab(); assertThat(getWebDriver().getTitle(), IsEqual.equalTo("Title")); }
/** * Скроллит страницу вниз до появления элемента с текстом из 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()); }
@Test void testCloseCurrentTab() { executeJavaScript("window.open(\"RedirectionPage.html\")"); wpis.switchToTheTabWithTitle("Page with redirection"); mbs.closeCurrentTab(); wpis.switchToTheTabWithTitle("Title"); } }
@Test void testSwitchToTheTabWithTitle() { executeJavaScript("window.open(\"RedirectionPage.html\")"); wpis.switchToTheTabWithTitle("Page with redirection"); wpvs.checkPageTitle("Page with redirection"); wpis.switchToTheTabWithTitle("Title"); wpvs.checkPageTitle("Title"); }