Skip to content
This repository was archived by the owner on Oct 18, 2018. It is now read-only.
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 1 addition & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1 @@
# Practice of automation school 2016

See all info in repo [autoschool/autoschool.github.io](https://github.com/autoschool/autoschool.github.io)
Ссылка на репозиторий с докер файлом: https://github.com/vananos/Docker.git
52 changes: 52 additions & 0 deletions commons-module/pom.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://maven.apache.org/POM/4.0.0"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<parent>
<artifactId>school-2016</artifactId>
<groupId>ru.qatools.school</groupId>
<version>1.0-SNAPSHOT</version>
</parent>

<artifactId>commons-module</artifactId>
<packaging>jar</packaging>

<name>Commons Module</name>

<dependencies>
<dependency>
<groupId>ru.qatools.school</groupId>
<artifactId>steps-module</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>com.tngtech.java</groupId>
<artifactId>junit-dataprovider</artifactId>
<version>1.10.4</version>
<scope>test</scope>
</dependency>
</dependencies>

<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
</plugin>
</plugins>
</build>

<reporting>
<excludeDefaults>true</excludeDefaults>
<plugins>
<plugin>
<groupId>ru.yandex.qatools.allure</groupId>
<artifactId>allure-maven-plugin</artifactId>
<version>2.5</version>
</plugin>
</plugins>
</reporting>

</project>
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
package ru.qatools.school.webtests;

import org.junit.Before;
import org.junit.Rule;
import ru.qatools.school.pages.MainPage;
import ru.qatools.school.rules.WebDriverRule;
import ru.qatools.school.steps.websteps.DefaultSteps;
import ru.qatools.school.tp.TPInformerRule;

/**
* Created by vananos on 4/20/16.
*/
public class BaseWeatherAppTest {
public static final String CITY = "Moscow";
@Rule
public WebDriverRule webDriverRule = new WebDriverRule();
@Rule
public TPInformerRule tms = new TPInformerRule("vananos");
protected DefaultSteps defaultSteps;

@Before
public void initSteps() {
defaultSteps = new DefaultSteps(webDriverRule.getDriver());
}

protected MainPage onMainPage() {
return new MainPage(webDriverRule.getDriver());
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
package ru.qatools.school.webtests.pagetest;

import com.tngtech.java.junit.dataprovider.DataProvider;
import com.tngtech.java.junit.dataprovider.DataProviderRunner;
import com.tngtech.java.junit.dataprovider.UseDataProvider;
import org.junit.Test;
import org.junit.runner.RunWith;
import ru.qatools.school.webtests.BaseWeatherAppTest;
import ru.yandex.qatools.allure.annotations.TestCaseId;
import ru.yandex.qatools.allure.annotations.Title;


@RunWith(DataProviderRunner.class)
public class AddWidgetButtonTest extends BaseWeatherAppTest {

@DataProvider
public static Object[][] dataProviderNumber() {
return new Object[][]{
{1}, {2}
};
}


@Test
@Title("Жмем на кнопку n раз, должно быть n+1 виджетов")
@UseDataProvider("dataProviderNumber")
@TestCaseId("1")
public void shouldSeeNPlusOneWidgetsAfterNClickByAddButton(int n) {
defaultSteps.openMainPageWithCity(CITY);
defaultSteps.clickNTimes(onMainPage().getNewWidgetButton(),n);
defaultSteps.widgetsAmountShouldBe(n + 1);
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
package ru.qatools.school.webtests.pagetest;

import org.junit.Test;
import ru.qatools.school.webtests.BaseWeatherAppTest;
import ru.yandex.qatools.allure.annotations.TestCaseId;
import ru.yandex.qatools.allure.annotations.Title;

import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.core.Is.is;
import static org.hamcrest.core.IsNot.not;


public class PageIsNotEmptyTest extends BaseWeatherAppTest {


@Test
@Title("При открытии страницы с пустым параметром cites на странице должна быть кнопка добавления виджета")
@TestCaseId("6")
public void addWidgetbuttonShouldBeOnPage() {
defaultSteps.openMainPage();
System.out.println(onMainPage());
assertThat(onMainPage().getNewWidgetButton(), is(not(null)));
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
package ru.qatools.school.webtests.pagetest;

import org.junit.Test;
import ru.qatools.school.webtests.BaseWeatherAppTest;
import ru.yandex.qatools.allure.annotations.TestCaseId;
import ru.yandex.qatools.allure.annotations.Title;


public class WeatherWebTest extends BaseWeatherAppTest {


@Test
@Title("Должны видеть виджет на главной странице")
@TestCaseId("4")
public void shouldSeeWidgetOnMainPage() {
defaultSteps.openMainPageWithCity(CITY);
defaultSteps.shouldSee(onMainPage().getWeatherWidgetList().get(0));
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
package ru.qatools.school.webtests.widgettest;

import org.junit.Test;
import ru.qatools.school.RepresentationPatterns;
import ru.qatools.school.webtests.BaseWeatherAppTest;
import ru.yandex.qatools.allure.annotations.TestCaseId;
import ru.yandex.qatools.allure.annotations.Title;


/**
* Created by vananos on 4/22/16.
*/
public class DateTimeTest extends BaseWeatherAppTest {


@Test
@Title("Дата должна отображаться в соответствии с определенным представлением")
@TestCaseId("7")
public void dateTimeTest() {
defaultSteps.openMainPageWithCity(CITY);
defaultSteps.shouldBeRepresentedAs(
onMainPage().getWeatherWidgetList().get(0).getWidgetTitle().getDateTime().getText()
, RepresentationPatterns.DATE_TIME
);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
package ru.qatools.school.webtests.widgettest;

import com.tngtech.java.junit.dataprovider.DataProvider;
import com.tngtech.java.junit.dataprovider.DataProviderRunner;
import com.tngtech.java.junit.dataprovider.UseDataProvider;
import org.junit.Test;
import org.junit.runner.RunWith;
import ru.qatools.school.RepresentationPatterns;
import ru.qatools.school.pages.blocks.widgetblocks.InfoLine;
import ru.qatools.school.webtests.BaseWeatherAppTest;
import ru.yandex.qatools.allure.annotations.TestCaseId;
import ru.yandex.qatools.allure.annotations.Title;
import ru.yandex.qatools.htmlelements.element.HtmlElement;

import java.util.List;

@RunWith(DataProviderRunner.class)
public class InfoFieldsTest extends BaseWeatherAppTest {

@DataProvider
public static Object[][] dataProvider() {

return new Object[][]{
{0, RepresentationPatterns.SUNRISE},
{1, RepresentationPatterns.SUNSET},
{2, RepresentationPatterns.WIND},
{3, RepresentationPatterns.HUMIDITY}
};
}


@Test
@Title("Проверяем, что поля соответствуют паттернам")
@UseDataProvider("dataProvider")
@TestCaseId("8")
public void infoFieldsTest(int n, RepresentationPatterns pattern) {
defaultSteps.openMainPageWithCity(CITY);
InfoLine infoLine = onMainPage().getWeatherWidgetList().get(0).getWidgetText().getInfoLines().get(n);
defaultSteps.shouldBeRepresentedAs(infoLine.getTextRepresentation(), pattern);
defaultSteps.shouldSee(infoLine.getImage());

}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
package ru.qatools.school.webtests.widgettest;

import com.tngtech.java.junit.dataprovider.DataProvider;
import com.tngtech.java.junit.dataprovider.DataProviderRunner;
import com.tngtech.java.junit.dataprovider.UseDataProvider;
import org.junit.Test;
import org.junit.runner.RunWith;
import ru.qatools.school.webtests.BaseWeatherAppTest;
import ru.yandex.qatools.allure.annotations.TestCaseId;
import ru.yandex.qatools.allure.annotations.Title;


@RunWith(DataProviderRunner.class)
public class RemoveButtonTest extends BaseWeatherAppTest {

@DataProvider
public static Object[][] dataProviderNumber() {
return new Object[][]{
{0}, {3}
};
}


@Test
@Title("Жмем на кнопку добавления n раз, Затем удаляем средний виджет")
@UseDataProvider("dataProviderNumber")
@TestCaseId("3")
public void shouldSeeNWidgetsAfterOneClickByRemoveButton(int n) {
defaultSteps.openMainPageWithCity(CITY);
defaultSteps.clickNTimes(onMainPage().getNewWidgetButton(), n);
defaultSteps.click(onMainPage().getWeatherWidgetList().get(n / 2).getActionBlock().getRemoveButton());
defaultSteps.widgetsAmountShouldBe(n);
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
package ru.qatools.school.webtests.widgettest;

import com.tngtech.java.junit.dataprovider.DataProvider;
import com.tngtech.java.junit.dataprovider.DataProviderRunner;
import com.tngtech.java.junit.dataprovider.UseDataProvider;
import org.junit.Test;
import org.junit.runner.RunWith;
import ru.qatools.school.RepresentationPatterns;
import ru.qatools.school.pages.blocks.widgetblocks.TemperatureBlock;
import ru.qatools.school.webtests.BaseWeatherAppTest;
import ru.yandex.qatools.allure.annotations.TestCaseId;
import ru.yandex.qatools.allure.annotations.Title;


/**
* Created by vananos on 4/22/16.
*/
@RunWith(DataProviderRunner.class)
public class TemperatureBlockTest extends BaseWeatherAppTest {

@DataProvider
public static Object[][] dataProvider() {
return new Object[][]{
{0,RepresentationPatterns.CELSIUS},
{1,RepresentationPatterns.KELVIN},
{2, RepresentationPatterns.FAHRENHEIT},
{3, RepresentationPatterns.KAIF},
{4, RepresentationPatterns.CELSIUS}
};
}


@Test
@Title("Температура должна отображаться в соответствии с определенным представлением")
@UseDataProvider("dataProvider")
@TestCaseId("5")
public void temperatureBlockTest(int n,RepresentationPatterns pattern) {
defaultSteps.openMainPageWithCity(CITY);
TemperatureBlock temperatureBlock = onMainPage().getWeatherWidgetList()
.get(0).getWidgetText().getTempBlock();
defaultSteps.clickNTimes(temperatureBlock,n);
defaultSteps.shouldBeRepresentedAs(temperatureBlock.getRepresentation(), pattern);


}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
package ru.qatools.school.webtests.widgettest;

import com.tngtech.java.junit.dataprovider.DataProvider;
import com.tngtech.java.junit.dataprovider.DataProviderRunner;
import com.tngtech.java.junit.dataprovider.UseDataProvider;
import org.junit.Test;
import org.junit.runner.RunWith;
import ru.qatools.school.webtests.BaseWeatherAppTest;
import ru.yandex.qatools.allure.annotations.TestCaseId;
import ru.yandex.qatools.allure.annotations.Title;


@RunWith(DataProviderRunner.class)

public class TitleTest extends BaseWeatherAppTest {

@DataProvider
public static Object[][] dataProviderCity() {
return new Object[][]{
{"Moscow"},
{"Kiev"},
{"Berlin"},
{"New York"}
};
}


@Test
@Title("В названии погоды должен быть город «{0}»")
@UseDataProvider("dataProviderCity")
@TestCaseId("2")
public void titleShouldBeCity(String city) {
defaultSteps.openMainPageWithCity(city);
defaultSteps.cityIntitleShouldBe(onMainPage().getWeatherWidgetList().get(0).getWidgetTitle(), city);
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
package ru.qatools.school.webtests.widgettest;

import org.junit.Test;
import ru.qatools.school.webtests.BaseWeatherAppTest;
import ru.yandex.qatools.allure.annotations.TestCaseId;
import ru.yandex.qatools.allure.annotations.Title;

/**
* Created by vananos on 4/21/16.
*/
public class WeatherImageTest extends BaseWeatherAppTest {

@Test
@Title("Проверяет наличие картинки погоды")
@TestCaseId("9")
public void widgetImageTest() {
defaultSteps.openMainPageWithCity(CITY);
defaultSteps.shouldSee(onMainPage().getWeatherWidgetList().get(0).getWidgetText().getWeatherImage());
}
}
Loading