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
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
# Practice of automation school 2016

See all info in repo [autoschool/autoschool.github.io](https://github.com/autoschool/autoschool.github.io)
Ссылка на репозиторий с Dockerfile: https://github.com/chibert/DockerUbuntuCurlGit
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.0</version>
</plugin>
</plugins>
</reporting>

</project>
53 changes: 53 additions & 0 deletions commons-module/src/test/java/ru/qatools/school/MyFirstTest.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
package ru.qatools.school;

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.data.Place;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

import static ru.qatools.school.steps.UserSteps.user;


/**
* @author gladnik (Nikolai Gladkov)
*/
@RunWith(DataProviderRunner.class)
public class MyFirstTest {

@DataProvider
public static List<Object> places() {
List<Object> placesList
= new ArrayList<Object>(Arrays.asList(Place.values()));
placesList.add(null);
return placesList;
}

@Test
public void shouldBeAtNullWhenDefault() {
user().shouldBeAtPlace(null);
}

@Test
@UseDataProvider("places")
public void afterGoSomewhereShouldBeThere(Place place) {
user().goTo(place).shouldBeAtPlace(place);
}

@Test
@UseDataProvider("places")
public void afterGoSomewhereTwiceShouldBeThere(Place place) {
user().goTo(place).goTo(place).shouldBeAtPlace(place);
}

@Test
public void afterGoSomewhereElseShouldBeThere() {
user().goTo(Place.HOME).goTo(Place.AT_YANDEX)
.shouldBeAtPlace(Place.AT_YANDEX);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
package ru.qatools.school.webtests;

import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import ru.qatools.school.pages.MainPage;
import ru.qatools.school.rules.WebDriverRule;
import ru.qatools.school.steps.websteps.DefaultSteps;
import ru.yandex.qatools.allure.annotations.Title;

public class WeatherWebTest {

public static final String MOSCOW = "Moscow";

private DefaultSteps defaultSteps;

@Rule
public WebDriverRule webDriverRule = new WebDriverRule();

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

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

private MainPage onMainPage() {
return new MainPage(webDriverRule.getDriver());
}

}
109 changes: 99 additions & 10 deletions pom.xml
Original file line number Diff line number Diff line change
@@ -1,23 +1,112 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
<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>

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

<packaging>pom</packaging>

<name>Automation Foreva</name>
<description>First automation project ever</description>

<modules>
<module>steps-module</module>
<module>commons-module</module>
</modules>

<name>Automation Foreva</name>
<description>First automation project ever</description>

<properties>
<compiler.version>1.8</compiler.version>

<allure.version>1.4.23</allure.version>
<selenium.version>2.53.0</selenium.version>
<htmlelements.version>1.15</htmlelements.version>
<aspectj.version>1.8.5</aspectj.version>
</properties>

<dependencies>
<!--Common deps here-->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
</dependencies>

</project>

<dependencyManagement>
<dependencies>
<dependency>
<groupId>ru.yandex.qatools.allure</groupId>
<artifactId>allure-junit-adaptor</artifactId>
<version>${allure.version}</version>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>${selenium.version}</version>
</dependency>
<dependency>
<groupId>ru.yandex.qatools.htmlelements</groupId>
<artifactId>htmlelements-java</artifactId>
<version>${htmlelements.version}</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.4</version>
</dependency>
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-all</artifactId>
<version>1.3</version>
</dependency>
<dependency>
<groupId>ru.yandex.qatools.htmlelements</groupId>
<artifactId>htmlelements-matchers</artifactId>
<version>1.12</version>
</dependency>
</dependencies>
</dependencyManagement>

<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.0</version>
<configuration>
<source>${compiler.version}</source>
<target>${compiler.version}</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.18.1</version>
<configuration>
<argLine>
-javaagent:"${settings.localRepository}/org/aspectj/aspectjweaver/${aspectj.version}/aspectjweaver-${aspectj.version}.jar"
</argLine>
<properties>
<property>
<name>listener</name>
<value>ru.yandex.qatools.allure.junit.AllureRunListener</value>
</property>
</properties>
</configuration>
<dependencies>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>${aspectj.version}</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</pluginManagement>
</build>


</project>
41 changes: 34 additions & 7 deletions steps-module/pom.xml
Original file line number Diff line number Diff line change
@@ -1,18 +1,45 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
<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>

<modelVersion>4.0.0</modelVersion>
<packaging>jar</packaging>


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

<name>Logic Module</name>

<dependencies>
<dependency>
<groupId>ru.yandex.qatools.allure</groupId>
<artifactId>allure-junit-adaptor</artifactId>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
</dependency>
<dependency>
<groupId>ru.yandex.qatools.htmlelements</groupId>
<artifactId>htmlelements-java</artifactId>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
</dependency>
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-all</artifactId>
</dependency>
<dependency>
<groupId>ru.yandex.qatools.htmlelements</groupId>
<artifactId>htmlelements-matchers</artifactId>
</dependency>
</dependencies>

</project>
</project>
30 changes: 30 additions & 0 deletions steps-module/src/main/java/ru/qatools/school/pages/MainPage.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
package ru.qatools.school.pages;

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.support.FindBy;
import org.openqa.selenium.support.PageFactory;
import ru.qatools.school.pages.blocks.WeatherWidget;
import ru.yandex.qatools.htmlelements.annotations.Name;
import ru.yandex.qatools.htmlelements.loader.decorator.HtmlElementDecorator;
import ru.yandex.qatools.htmlelements.loader.decorator.HtmlElementLocatorFactory;

import java.util.List;

/**
* Created by kurau.
*/
public class MainPage {

public MainPage(WebDriver driver) {
PageFactory.initElements(new HtmlElementDecorator(new HtmlElementLocatorFactory(driver)), this);
}

@Name("Список виджетов")
@FindBy(css = ".card.card_md")
private List<WeatherWidget> weatherWidget;

public List<WeatherWidget> getWeatherWidget() {
return weatherWidget;
}

}
Loading