Skip to content

Commit

Permalink
Add opposite checking steps part1 (#64)
Browse files Browse the repository at this point in the history
add steps for opposite core verifications #65
@Тогда("^текущий URL не равен \"([^\"]*)\"$")
@Тогда("^(?:страница|блок|форма|вкладка) \"([^\"]*)\" не (?:загрузилась|загрузился)$")
@Тогда("^значения в переменных \"([^\"]*)\" и \"([^\"]*)\" не совпадают$")
  • Loading branch information
snfrolov authored and GannaChernyshova committed May 11, 2018
1 parent 37faa8d commit c742b5b
Show file tree
Hide file tree
Showing 4 changed files with 116 additions and 2 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -31,3 +31,5 @@ local.properties
*.settings

gradle.properties
out/
.DS_Store
2 changes: 1 addition & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ targetCompatibility = 1.8

project.ext {
cucumberVersion = '2.4.0'
selenideVersion = '4.11.1'
selenideVersion = '4.11.2'
}

dependencies {
Expand Down
34 changes: 34 additions & 0 deletions src/main/java/ru/alfabank/steps/DefaultSteps.java
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
import cucumber.api.java.ru.*;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.RandomStringUtils;
import org.hamcrest.Matchers;
import org.junit.Assert;
import org.openqa.selenium.By;
import org.openqa.selenium.Dimension;
Expand Down Expand Up @@ -115,6 +116,18 @@ public void checkCurrentURL(String url) {
assertThat("Текущий URL не совпадает с ожидаемым", currentUrl, is(expectedUrl));
}

/**
* Проверка, что текущий URL не совпадает с ожидаемым
* (берется из property / переменной, если такая переменная не найдена,
* то берется переданное значение)
*/
@Тогда("^текущий URL не равен \"([^\"]*)\"$")
public void checkCurrentURLIsNotEquals(String url) {
String currentUrl = url();
String expectedUrl = resolveVars(getPropertyOrStringVariableOrValue(url));
assertThat("Текущий URL совпадает с ожидаемым", currentUrl, Matchers.not(expectedUrl));
}

/**
* На странице происходит клик по заданному элементу
*/
Expand Down Expand Up @@ -181,6 +194,16 @@ public void loadPage(String nameOfPage) {
akitaScenario.getCurrentPage().appeared();
}

/**
* Проверка того, что все элементы, которые описаны в классе страницы с аннотацией @Name,
* но без аннотации @Optional, не появились на странице
*/
@Тогда("^(?:страница|блок|форма|вкладка) \"([^\"]*)\" не (?:загрузилась|загрузился)$")
public void loadPageFailed(String nameOfPage) {
akitaScenario.setCurrentPage(akitaScenario.getPage(nameOfPage));
akitaScenario.getCurrentPage().disappeared();
}

/**
* Устанавливается значение переменной в хранилище переменных. Один из кейсов: установка login пользователя
*/
Expand All @@ -201,6 +224,17 @@ public void compareTwoVariables(String firstVariableName, String secondVariableN
firstValueToCompare, equalTo(secondValueToCompare));
}

/**
* Проверка неравенства двух переменных из хранилища
*/
@Тогда("^значения в переменных \"([^\"]*)\" и \"([^\"]*)\" не совпадают$")
public void checkingTwoVariablesAreNotEquals(String firstVariableName, String secondVariableName) {
String firstValueToCompare = akitaScenario.getVar(firstVariableName).toString();
String secondValueToCompare = akitaScenario.getVar(secondVariableName).toString();
assertThat(String.format("Значения в переменных [%s] и [%s] совпадают", firstVariableName, secondVariableName),
firstValueToCompare, Matchers.not(equalTo(secondValueToCompare)));
}

/**
* Проверка того, что значение из поля совпадает со значением заданной переменной из хранилища
*/
Expand Down
80 changes: 79 additions & 1 deletion src/test/java/ru/alfabank/steps/DefaultStepsTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,28 @@ public void checkCurrentURLNegative() {
ds.checkCurrentURL(null);
}

@Test(expected = AssertionError.class)
public void testCheckCurrentURLAnotherNegative() {
String myURL = "https://google.ru/";
ds.checkCurrentURL(myURL);
}

@Test
public void testCheckCurrentURLIsNotEqualsPositive(){
String myURL = "https://google.ru/";
ds.checkCurrentURLIsNotEquals(myURL);
}

@Test(expected = AssertionError.class)
public void testCheckCurrentURLIsNotEqualsNegative(){
ds.checkCurrentURLIsNotEquals(akitaScenario.getVar("Page").toString());
}

@Test(expected = NullPointerException.class)
public void testCheckCurrentURLIsNotEqualsAnotherNegative(){
ds.checkCurrentURLIsNotEquals(null);
}

@Ignore
@Test
public void setWindowSizeSimple() {
Expand Down Expand Up @@ -123,6 +145,47 @@ public void compareTwoDigitVars() {
ds.compareTwoVariables(number1Name, number2Name);
}

@Test(expected = IllegalArgumentException.class)
public void testCompareTwoDigitVarsAnotherNegative() {
String number1Name = "number1", number1Value = null;
akitaScenario.setVar(number1Name, number1Value);

String number2Name = "number2", number2Value = null;
akitaScenario.setVar(number2Name, number2Value);

ds.compareTwoVariables(number1Name, number2Name);
}

@Test
public void testCheckingTwoVariablesAreNotEqualsPositive(){
String variable1Name = "number1"; int variable1Value = 666;
akitaScenario.setVar(variable1Name, variable1Value);

String variable2Name = "number2"; int variable2Value = 123;
akitaScenario.setVar(variable2Name, variable2Value);
ds.checkingTwoVariablesAreNotEquals(variable1Name, variable2Name);
}

@Test(expected = AssertionError.class)
public void testCheckingTwoVariablesAreNotEqualsNegative(){
String variable1Name = "number1"; int variable1Value = 666;
akitaScenario.setVar(variable1Name, variable1Value);

String variable2Name = "number2"; int variable2Value = 666;
akitaScenario.setVar(variable2Name, variable2Value);
ds.checkingTwoVariablesAreNotEquals(variable1Name, variable2Name);
}

@Test(expected = IllegalArgumentException.class)
public void testCheckingTwoVariablesAreNotEqualsAnotherNegative(){
String variable1Name = "number1", variable1Value = null;
akitaScenario.setVar(variable1Name, variable1Value);

String variable2Name = "number2", variable2Value = null;
akitaScenario.setVar(variable2Name, variable2Value);
ds.checkingTwoVariablesAreNotEquals(variable1Name, variable2Name);
}

@Test
public void saveValueToVarPositive() {
ds.saveValueToVar("testVar", "test");
Expand All @@ -147,10 +210,25 @@ public void listIsPresentedOnPageTest() {
}

@Test
public void loadPageSimple() {
public void testLoadPagePositive() {
ds.loadPage("AkitaPageMock");
}

@Test(expected = IllegalArgumentException.class)
public void testLoadPageNegative() {
ds.loadPage("thisPageDoesNotExists");
}

@Test
public void testLoadPageFailedPositive(){
ds.loadPageFailed("RedirectionPage");
}

@Test(expected = IllegalArgumentException.class)
public void testLoadPageFailedNegative(){
ds.loadPageFailed("thisPageDoesNotExists");
}

@Test
public void compareFieldAndVariablePositive() {
akitaScenario.setVar("test", "Serious testing page");
Expand Down

0 comments on commit c742b5b

Please sign in to comment.