From acdb78f40c3737ccd1723940ce523a89dab7f876 Mon Sep 17 00:00:00 2001 From: Stanislav Frolov Date: Fri, 25 May 2018 17:44:55 +0300 Subject: [PATCH] Add opposite checking steps part2 (#68) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * added step and unit tests @Тогда("^элемент \"([^\"]*)\" не содержит класс со значением \"(.*)\"$") --- .../java/ru/alfabank/steps/DefaultSteps.java | 11 +++++ src/test/java/ru/alfabank/AkitaPageMock.java | 6 ++- .../ru/alfabank/steps/DefaultStepsTest.java | 43 ++++++++++++++++++- src/test/resources/AkitaPageMock.html | 1 + 4 files changed, 59 insertions(+), 2 deletions(-) diff --git a/src/main/java/ru/alfabank/steps/DefaultSteps.java b/src/main/java/ru/alfabank/steps/DefaultSteps.java index 6b4844c3..c3d946ac 100644 --- a/src/main/java/ru/alfabank/steps/DefaultSteps.java +++ b/src/main/java/ru/alfabank/steps/DefaultSteps.java @@ -588,6 +588,17 @@ public void checkElemClassContainsExpectedValue(String elementName, String expec , currentClassValue.toLowerCase(), containsString(expectedClassValue.toLowerCase())); } + /** + * Проверка, что элемент не содержит указанный класс + */ + @Тогда("^элемент \"([^\"]*)\" не содержит класс со значением \"(.*)\"$") + public void checkElemClassNotContainsExpectedValue(String elementName, String expectedClassValue) { + SelenideElement currentElement = akitaScenario.getCurrentPage().getElement(elementName); + assertThat(String.format("Элемент [%s] содержит класс со значением [%s]", elementName, expectedClassValue), + currentElement.getAttribute("class").toLowerCase(), + Matchers.not(containsString(getPropertyOrStringVariableOrValue(expectedClassValue).toLowerCase()))); + } + /** * Выполняется переход в конец страницы */ diff --git a/src/test/java/ru/alfabank/AkitaPageMock.java b/src/test/java/ru/alfabank/AkitaPageMock.java index 0e06f11f..a1097209 100644 --- a/src/test/java/ru/alfabank/AkitaPageMock.java +++ b/src/test/java/ru/alfabank/AkitaPageMock.java @@ -27,6 +27,7 @@ @Getter @Name("AkitaPageMock") public class AkitaPageMock extends AkitaPage { + @FindBy(id = "mockId") @Name("mockId") public SelenideElement mockId; @@ -122,4 +123,7 @@ public class AkitaPageMock extends AkitaPage { @Name("SearchBlock") public SearchFieldMock searchField; -} + @FindBy(xpath = "//*[text()='Подписать и отправить']/parent::button") + @Name("Кнопка Подписать и отправить") + public SelenideElement signAndSendToBankButton; +} \ No newline at end of file diff --git a/src/test/java/ru/alfabank/steps/DefaultStepsTest.java b/src/test/java/ru/alfabank/steps/DefaultStepsTest.java index 1adb5395..bf92cad9 100644 --- a/src/test/java/ru/alfabank/steps/DefaultStepsTest.java +++ b/src/test/java/ru/alfabank/steps/DefaultStepsTest.java @@ -370,7 +370,7 @@ public void fieldIsDisablePositive() { } @Test - public void compareListFromUIAndFromVariableTest() { + public void testCompareListFromUIAndFromVariablePositive() { ArrayList arrayList = new ArrayList<>(); arrayList.add("One"); arrayList.add("Two"); @@ -379,6 +379,17 @@ public void compareListFromUIAndFromVariableTest() { ds.compareListFromUIAndFromVariable("List", "qwerty"); } + @Test(expected = AssertionError.class) + public void testCompareListFromUIAndFromVariableNegative() { + ArrayList arrayList = new ArrayList<>(); + arrayList.add("Ten"); + arrayList.add("One"); + arrayList.add("Two"); + arrayList.add("Three"); + akitaScenario.setVar("qwerty", arrayList); + ds.compareListFromUIAndFromVariable("List", "qwerty"); + } + @Test public void openReadOnlyFormPositive() { ds.goToSelectedPageByLinkFromPropertyFile("RedirectionPage", @@ -437,6 +448,16 @@ public void clickableFieldTest() { ds.clickableField("SUPERBUTTON"); } + @Test + public void testButtonIsActiveAnotherPositive() { + ds.clickableField("Link"); + } + + @Test(expected = AssertionError.class) + public void testButtonIsActiveNegative() { + ds.clickableField("Кнопка Подписать и отправить"); + } + @Test public void scrollDownSimple() { ds.scrollDown(); @@ -788,4 +809,24 @@ public void testCheckIfValueFromVariableEqualPropertyVariableNegative(){ akitaScenario.setVar("timeout","500"); ds.checkIfValueFromVariableEqualPropertyVariable("timeout","waitingAppearTimeout"); } + + @Test + public void testCheckElemClassContainsExpectedValuePositive() { + ds.checkElemClassContainsExpectedValue("Кнопка Подписать и отправить", "disabled"); + } + + @Test(expected = AssertionError.class) + public void testCheckElemClassContainsExpectedValueNegative() { + ds.checkElemClassContainsExpectedValue("Кнопка Подписать и отправить", "enabled"); + } + + @Test + public void testCheckElemClassNotContainsExpectedValuePositive() { + ds.checkElemClassNotContainsExpectedValue("Кнопка Подписать и отправить", "enabled"); + } + + @Test(expected = AssertionError.class) + public void testCheckElemClassNotContainsExpectedValueNegative() { + ds.checkElemClassNotContainsExpectedValue("Кнопка Подписать и отправить", "disabled"); + } } \ No newline at end of file diff --git a/src/test/resources/AkitaPageMock.html b/src/test/resources/AkitaPageMock.html index efce6126..ed331846 100644 --- a/src/test/resources/AkitaPageMock.html +++ b/src/test/resources/AkitaPageMock.html @@ -75,5 +75,6 @@
inner

text

+
\ No newline at end of file