/** * Поиск элемента по имени внутри списка элементов */ public static SelenideElement getButtonFromListByName(List<SelenideElement> listButtons, String nameOfButton) { List<String> names = new ArrayList<>(); for (SelenideElement button : listButtons) { names.add(button.getText()); } return listButtons.get(names.indexOf(nameOfButton)); }
public List<String> getJVMproperties() { SelenideElement jvmProperties = $(Schrodinger.byDataId("jvmProperties")); String jvmPropertiesText = jvmProperties.getText(); List<String> listOfProperties = new ArrayList<>(); if (jvmPropertiesText != null && !jvmPropertiesText.isEmpty()) { String[] properties = jvmPropertiesText.split("\\r?\\n"); listOfProperties = Arrays.asList(properties); } else { // LOGGER.info("JVM properties not found"; } return listOfProperties; }
public boolean isActivationState(String state) { SelenideElement summaryPanel = $(Schrodinger.byDataId("span", "summaryTagLabel")).waitUntil(Condition.appear, MidPoint.TIMEOUT_DEFAULT_2_S); if (state != null || !(state.isEmpty())) { return state.equals(summaryPanel.getText()); } else { return "".equals(summaryPanel.getText()); } } }
/** * Выбор из списка со страницы элемента, который содержит заданный текст * (в приоритете: из property, из переменной сценария, значение аргумента) * Не чувствителен к регистру */ @Когда("^в списке \"([^\"]*)\" выбран элемент содержащий текст \"([^\"]*)\"$") public void selectElementInListIfFoundByText(String listName, String expectedValue) { final String value = getPropertyOrStringVariableOrValue(expectedValue); List<SelenideElement> listOfElementsFromPage = akitaScenario.getCurrentPage().getElementsList(listName); List<String> elementsListText = listOfElementsFromPage.stream() .map(element -> element.getText().trim().toLowerCase()) .collect(toList()); listOfElementsFromPage.stream() .filter(element -> element.getText().trim().toLowerCase().contains(value.toLowerCase())) .findFirst() .orElseThrow(() -> new IllegalArgumentException(String.format("Элемент [%s] не найден в списке %s: [%s] ", value, listName, elementsListText))) .click(); }
/** * Получение текста элемента, как редактируемого поля, так и статичного элемента по значению элемента */ public String getAnyElementText(SelenideElement element) { if (element.getTagName().equals("input")) { return element.getValue(); } else { return element.getText(); } }
/** * Выбор из списка со страницы элемента с заданным значением * (в приоритете: из property, из переменной сценария, значение аргумента) */ @Когда("^в списке \"([^\"]*)\" выбран элемент с (?:текстом|значением) \"(.*)\"$") public void checkIfSelectedListElementMatchesValue(String listName, String expectedValue) { final String value = getPropertyOrStringVariableOrValue(expectedValue); List<SelenideElement> listOfElementsFromPage = akitaScenario.getCurrentPage().getElementsList(listName); List<String> elementsText = listOfElementsFromPage.stream() .map(element -> element.getText().trim()) .collect(toList()); listOfElementsFromPage.stream() .filter(element -> element.getText().trim().equalsIgnoreCase(value)) .findFirst() .orElseThrow(() -> new IllegalArgumentException(String.format("Элемент [%s] не найден в списке %s: [%s] ", value, listName, elementsText))) .click(); }
/** * Получение текстов всех элементов, содержащихся в элементе-списке, * состоящего как из редактируемых полей, так и статичных элементов по имени */ public List<String> getAnyElementsListTexts(String listName) { List<SelenideElement> elementsList = getElementsList(listName); return elementsList.stream() .map(element -> element.getTagName().equals("input") ? element.getValue() : element.getText() ) .collect(toList()); }
/** * Проверка, что каждый элемент списка содержит ожидаемый текст * Не чувствителен к регистру */ @Тогда("^элементы списка \"([^\"]*)\" содержат текст \"([^\"]*)\"$") public void checkListElementsContainsText(String listName, String expectedValue) { final String value = getPropertyOrValue(expectedValue); List<SelenideElement> listOfElementsFromPage = akitaScenario.getCurrentPage().getElementsList(listName); List<String> elementsListText = listOfElementsFromPage.stream() .map(element -> element.getText().trim().toLowerCase()) .collect(toList()); assertTrue(elementsListText.stream().allMatch(item -> item.contains(value.toLowerCase())), String.format("Элемены списка %s: [%s] не содержат текст [%s] ", listName, elementsListText, value)); }
/** * Проверка, что каждый элемент списка не содержит ожидаемый текст */ @Тогда("^элементы списка \"([^\"]*)\" не содержат текст \"([^\"]*)\"$") public void checkListElementsNotContainsText(String listName, String expectedValue) { final String value = getPropertyOrValue(expectedValue); List<SelenideElement> listOfElementsFromPage = akitaScenario.getCurrentPage().getElementsList(listName); List<String> elementsListText = listOfElementsFromPage.stream() .map(element -> element.getText().trim().toLowerCase()) .collect(toList()); assertFalse(elementsListText.stream().allMatch(item -> item.contains(value.toLowerCase())), String.format("Элемены списка %s: [%s] содержат текст [%s] ", listName, elementsListText, value)); }
public String getParameterValue(String parameterName){ String value = $(Schrodinger.byPrecedingSiblingEnclosedValue("td",null,null,null,null,parameterName)).getText(); return value; }
public String fetchDisplayName() { return $(Schrodinger.byDataId("summaryDisplayName")).getText(); }
public String getTextByCssSelector(String cssSelector, int i) { return $$(cssSelector).get(i).getText(); }
public String utility() { return getParentElement().$(Schrodinger.byDataId("category")).getText(); } }
public String gitDescribe() { return $(Schrodinger.bySchrodingerDataResourceKey("PageAbout.midPointRevision")).parent().getText(); }
public String connIdFrameworkVersion() { return $(Schrodinger.bySchrodingerDataId("provisioningDetailValue")).parent().getText(); }
public String version() { return $(Schrodinger.bySchrodingerDataId("wicket_message-1130625241")).parent().getText(); }
public String buildAt() { return $(Schrodinger.bySchrodingerDataId("build")).parent().getText(); }
/** * Добавление строки (в приоритете: из property, из переменной сценария, значение аргумента) в поле к уже заполненой строке */ @Когда("^в элемент \"([^\"]*)\" дописывается значение \"(.*)\"$") public void addValue(String elementName, String value) { value = getPropertyOrStringVariableOrValue(value); SelenideElement field = akitaScenario.getCurrentPage().getElement(elementName); String oldValue = field.getValue(); if (oldValue.isEmpty()) { oldValue = field.getText(); } field.setValue(""); field.setValue(oldValue + value); }