diff --git a/src/main/java/ru/alfabank/steps/DefaultSteps.java b/src/main/java/ru/alfabank/steps/DefaultSteps.java index ad32aab1..bfab722b 100644 --- a/src/main/java/ru/alfabank/steps/DefaultSteps.java +++ b/src/main/java/ru/alfabank/steps/DefaultSteps.java @@ -901,7 +901,15 @@ public void checkFieldSymbolsCount(String element, int num) { public void listContainsNumberOfElements(String listName, int quantity) { List listOfElementsFromPage = akitaScenario.getCurrentPage().getElementsList(listName); assertTrue(String.format("Число элементов в списке отличается от ожидаемого: %s", listOfElementsFromPage.size()), listOfElementsFromPage.size() == quantity); + } + /** + * Производится проверка соответствия числа элементов списка значению из property файла, из переменной сценария или указанному в шаге + */ + @Тогда("^в списке \"([^\"]*)\" содержится количество элементов, равное значению из переменной \"([^\"]*)\"") + public void listContainsNumberFromVariable(String listName, String quantity) { + int numberOfElements = Integer.parseInt(getPropertyOrStringVariableOrValue(quantity)); + listContainsNumberOfElements(listName, numberOfElements); } /** @@ -916,6 +924,15 @@ public void listContainsMoreOrLessElements(String listName, String moreOrLess, i } + /** + * Проверка совпадения значения из переменной и значения и property + */ + @Тогда("^значения из переменной \"([^\"]*)\" и из property файла \"([^\"]*)\" совпадают$") + public void checkIfValueFromVariableEqualPropertyVariable(String envVarible, String propertyVariable) { + assertThat("Переменные " + envVarible + " и " + propertyVariable + " не совпадают", + (String) akitaScenario.getVar(envVarible), equalToIgnoringCase(loadProperty(propertyVariable))); + } + /** * Возвращает значение из property файла, если отсутствует, то из пользовательских переменных, * если и оно отсутствует, то возвращает значение переданной на вход переменной diff --git a/src/test/java/ru/alfabank/steps/DefaultStepsTest.java b/src/test/java/ru/alfabank/steps/DefaultStepsTest.java index a3fb8ab5..0efa7408 100644 --- a/src/test/java/ru/alfabank/steps/DefaultStepsTest.java +++ b/src/test/java/ru/alfabank/steps/DefaultStepsTest.java @@ -721,6 +721,27 @@ public void testListContainsNumberOfElementsNegative() { ds.listContainsNumberOfElements("List", 4); } + @Test + public void testListContainsNumberOfElementsOrContainsFromVariablePositive() { + ds.listContainsNumberFromVariable("List", "3"); + } + + @Test + public void testListContainsNumberOfElementsOrContainsFromVariableAnotherPositive() { + akitaScenario.setVar("variable", "3"); + ds.listContainsNumberFromVariable("List", "variable"); + } + + @Test + public void testListContainsNumberOfElementsOrContainsFromVariableOneMorePositive() { + ds.listContainsNumberFromVariable("List", "var3"); + } + + @Test(expected = AssertionError.class) + public void testListContainsNumberOfElementsOrContainsFromVariableNegative() { + ds.listContainsNumberFromVariable("List", "4"); + } + @Test public void testListContainsMoreOrLessElementsLessPositive(){ ds.listContainsMoreOrLessElements("List", "менее", 4); @@ -741,4 +762,15 @@ public void testListContainsMoreOrLessElementsMoreNegative(){ ds.listContainsMoreOrLessElements("List", "более", 3); } + @Test + public void testCheckIfValueFromVariableEqualPropertyVariablePositive(){ + akitaScenario.setVar("timeout","60000"); + ds.checkIfValueFromVariableEqualPropertyVariable("timeout","waitingAppearTimeout"); + } + + @Test(expected = AssertionError.class) + public void testCheckIfValueFromVariableEqualPropertyVariableNegative(){ + akitaScenario.setVar("timeout","500"); + ds.checkIfValueFromVariableEqualPropertyVariable("timeout","waitingAppearTimeout"); + } } \ No newline at end of file diff --git a/src/test/resources/application.properties b/src/test/resources/application.properties index d7a122a5..48244c90 100644 --- a/src/test/resources/application.properties +++ b/src/test/resources/application.properties @@ -31,4 +31,5 @@ textValueInProps=text testingPageTextProps=Serious testing page testScript=alert('privet'); bodyValue={"property":"body"} -var2="2" \ No newline at end of file +var2="2" +var3=3 \ No newline at end of file