diff --git a/README.md b/README.md index 69e007d..887dbd4 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,3 @@ -# Practice of automation school 2016 +Repository с файлом для docker. +https://github.com/merkushevio/docker.git -See all info in repo [autoschool/autoschool.github.io](https://github.com/autoschool/autoschool.github.io) diff --git a/api-tests-module/pom.xml b/api-tests-module/pom.xml new file mode 100644 index 0000000..3d369bf --- /dev/null +++ b/api-tests-module/pom.xml @@ -0,0 +1,58 @@ + + + 4.0.0 + jar + + + school-2016 + ru.qatools.school + 1.0-SNAPSHOT + + + api-tests-module + + + 1.8 + + 1.10.4 + 2.0.2 + 1.16.6 + + + + + + ru.qatools.school + steps-module + ${project.version} + + + ru.qatools.school + dbclient-module + ${project.version} + + + com.tngtech.java + junit-dataprovider + ${dataprovider.version} + test + + + com.squareup.retrofit2 + retrofit + ${retrofit.version} + + + com.squareup.retrofit2 + converter-gson + ${retrofit.version} + + + org.projectlombok + lombok + ${lombok.version} + + + \ No newline at end of file diff --git a/api-tests-module/src/main/java/ru/qatools/school/ApiMatchers.java b/api-tests-module/src/main/java/ru/qatools/school/ApiMatchers.java new file mode 100644 index 0000000..a3c4763 --- /dev/null +++ b/api-tests-module/src/main/java/ru/qatools/school/ApiMatchers.java @@ -0,0 +1,34 @@ +package ru.qatools.school; + +import org.hamcrest.Description; +import org.hamcrest.Matcher; +import org.hamcrest.TypeSafeDiagnosingMatcher; +import ru.qatools.school.entity.City; + +import java.util.List; + +public class ApiMatchers { + + + public static Matcher findInList(List list) { + return new TypeSafeDiagnosingMatcher() { + @Override + public void describeTo(Description description) { + description.appendText("expected inlist"); + } + + @Override + protected boolean matchesSafely(String word, Description mismatch) { + for (City city : list) { + if (city.getName().toLowerCase().contains(word.toLowerCase())) { + mismatch.appendText("return string was ") + .appendText(city.getName()); + return true; + } + } + + return false; + } + }; + } +} diff --git a/api-tests-module/src/main/java/ru/qatools/school/WebApiInterface.java b/api-tests-module/src/main/java/ru/qatools/school/WebApiInterface.java new file mode 100644 index 0000000..e8782de --- /dev/null +++ b/api-tests-module/src/main/java/ru/qatools/school/WebApiInterface.java @@ -0,0 +1,29 @@ +package ru.qatools.school; + +import retrofit2.Call; +import retrofit2.http.GET; +import retrofit2.http.Query; +import ru.qatools.school.entity.City; +import ru.qatools.school.entity.Widget; + +import java.util.List; + + +public interface WebApiInterface { + + @GET("cities") + Call> getCities(); + + @GET("init") + Call> getInit(); + + @GET("cities") + Call> getCitiesLimit(@Query("limit") String limit); + + @GET("suggest") + Call> getListSuggest(@Query("query") String query); + + @GET("weather") + Call getWeatherWidget(@Query("city") String city, @Query("region") String region); +} + diff --git a/api-tests-module/src/main/java/ru/qatools/school/entity/City.java b/api-tests-module/src/main/java/ru/qatools/school/entity/City.java new file mode 100644 index 0000000..f5c1626 --- /dev/null +++ b/api-tests-module/src/main/java/ru/qatools/school/entity/City.java @@ -0,0 +1,24 @@ +package ru.qatools.school.entity; + + +import lombok.Getter; + +@Getter +public class City { + + public City(int id, long uid, String name, String country) { + this.id = id; + this.uid = uid; + this.name = name; + this.country = country; + } + + private int id; + + private long uid; + + private String name; + + private String country; + +} diff --git a/api-tests-module/src/main/java/ru/qatools/school/entity/DAYPART.java b/api-tests-module/src/main/java/ru/qatools/school/entity/DAYPART.java new file mode 100644 index 0000000..d982093 --- /dev/null +++ b/api-tests-module/src/main/java/ru/qatools/school/entity/DAYPART.java @@ -0,0 +1,5 @@ +package ru.qatools.school.entity; + +public enum DAYPART { + DAY, NIGHT +} diff --git a/api-tests-module/src/main/java/ru/qatools/school/entity/Temperature.java b/api-tests-module/src/main/java/ru/qatools/school/entity/Temperature.java new file mode 100644 index 0000000..571b93b --- /dev/null +++ b/api-tests-module/src/main/java/ru/qatools/school/entity/Temperature.java @@ -0,0 +1,17 @@ +package ru.qatools.school.entity; + + +import lombok.Getter; + +@Getter +public class Temperature { + + public Temperature(String unit, double value) { + this.unit = unit; + this.value = value; + } + + private String unit; + + private double value; +} diff --git a/api-tests-module/src/main/java/ru/qatools/school/entity/Widget.java b/api-tests-module/src/main/java/ru/qatools/school/entity/Widget.java new file mode 100644 index 0000000..cc635e4 --- /dev/null +++ b/api-tests-module/src/main/java/ru/qatools/school/entity/Widget.java @@ -0,0 +1,37 @@ +package ru.qatools.school.entity; + +import lombok.Getter; + +import java.util.Date; +import java.util.List; + + +@Getter +public class Widget { + + + private String city; + private DAYPART daypart; + private int weathercode; + private Date sunset; + private Date sunrise; + private Date dt; + private int humidity; + private double wind; + private List temperatures; + + + public Widget(String city, DAYPART daypart, + int weathercode, Date sunset, Date sunrise, Date dt, int humidity, + double wind, List temperatures) { + this.city = city; + this.daypart = daypart; + this.weathercode = weathercode; + this.sunset = sunset; + this.sunrise = sunrise; + this.dt = dt; + this.humidity = humidity; + this.wind = wind; + this.temperatures = temperatures; + } +} diff --git a/api-tests-module/src/test/java/ru/qatools/school/WeatherDB.java b/api-tests-module/src/test/java/ru/qatools/school/WeatherDB.java new file mode 100644 index 0000000..b4e395d --- /dev/null +++ b/api-tests-module/src/test/java/ru/qatools/school/WeatherDB.java @@ -0,0 +1,54 @@ +package ru.qatools.school; + +import com.google.gson.Gson; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Test; +import retrofit2.Call; +import retrofit2.Response; +import retrofit2.Retrofit; +import retrofit2.converter.gson.*; +import ru.qatools.school.entity.City; +import java.io.IOException; +import java.util.List; + +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.core.IsEqual.equalTo; + +public class WeatherDB { + + private static DbClient dbClient; + private static final String MAIN_PAGE = "http://weather.lanwen.ru/api/"; + private static WebApiInterface webApiInterface; + private static final String city = "Moscow"; + + + @BeforeClass + public static void getDbClient() { + dbClient = new DbClient(); + Retrofit retrofit = new Retrofit.Builder() + .baseUrl(MAIN_PAGE) + .addConverterFactory(GsonConverterFactory.create(new Gson())) + .build(); + webApiInterface = retrofit.create(WebApiInterface.class); + } + + + @Test + public void shouldSeeResultFromAPIEqualResultFromDB() throws IOException { + String cityDb = dbClient.getCityById(3); + Call> callSuggest = webApiInterface.getListSuggest(city); + Response> response = callSuggest.execute(); + assertThat("Вывод от метода suggest по запросу " + city + " не совпадает с выводом из базы данных", cityDb, + equalTo(response.body().get(0).getName())); + } + + + + + @AfterClass + public static void closeDbClient() { + dbClient.close(); + } + +} diff --git a/api-tests-module/src/test/java/ru/qatools/school/restassured/WeatherWebApiRest.java b/api-tests-module/src/test/java/ru/qatools/school/restassured/WeatherWebApiRest.java new file mode 100644 index 0000000..614b3d2 --- /dev/null +++ b/api-tests-module/src/test/java/ru/qatools/school/restassured/WeatherWebApiRest.java @@ -0,0 +1,59 @@ +package ru.qatools.school.restassured; + +import org.apache.http.HttpStatus; +import org.junit.Test; +import static com.jayway.restassured.RestAssured.given; +import static org.hamcrest.Matchers.*; + + +public class WeatherWebApiRest { + + private static final String MAIN_PAGE = "http://weather.lanwen.ru"; + private static final String BASE_PATH = "api"; + private static final String WEATHER = "weather"; + private static final String CITIES = "cities"; + private static final String INIT = "init"; + private static final String CITY = "Moscow"; + private static final int ZERO = 0; + private static final int ONE = 1; + + + @Test + public void shouldSeeCitiesCityRecord() { + given().baseUri(MAIN_PAGE).basePath(BASE_PATH).param("city", "Moscow") + .get(WEATHER) + .then().assertThat().statusCode(HttpStatus.SC_OK) + .and().body("city", equalTo("Moscow")) + .and().body("temperatures", hasSize(4)); + + } + + @Test + public void shouldSeeInitCitiesRecords() { + given().baseUri(MAIN_PAGE).basePath(BASE_PATH) + .get(CITIES) + .then().assertThat().statusCode(HttpStatus.SC_OK) + .and().body("size()", greaterThan(ZERO)); + } + + @Test + public void shouldSeeCitiesListCities() { + given().baseUri(MAIN_PAGE).basePath(BASE_PATH) + .get(CITIES) + .then().assertThat().statusCode(HttpStatus.SC_OK) + .and().body("size()", greaterThan(ZERO)); + } + + @Test + public void shouldSeeCitiesLimitOneCity() { + given().baseUri(MAIN_PAGE).basePath(BASE_PATH).param("limit", ONE) + .get(CITIES) + .then().assertThat().statusCode(HttpStatus.SC_OK) + .and().body("size()", is(ONE)); + } + + + +} + + diff --git a/api-tests-module/src/test/java/ru/qatools/school/retrofit/Parameters.java b/api-tests-module/src/test/java/ru/qatools/school/retrofit/Parameters.java new file mode 100644 index 0000000..d1ba150 --- /dev/null +++ b/api-tests-module/src/test/java/ru/qatools/school/retrofit/Parameters.java @@ -0,0 +1,68 @@ +package ru.qatools.school.retrofit; + +import java.util.ArrayList; +import java.util.List; + +public class Parameters { + + public static Object[][] limitsPositive() { + return new Object[][]{ + {"1", 1, 200}, + {"0", 0, 200}, + {"273", 272, 200} + }; + } + + public static Object[][] limitsNegative() { + return new Object[][] { + {"null", 404}, + {"-3", 404}, + {"%20", 404}, + {"city", 404} + }; + } + + public static Object[][] queryString() { + return new Object[][]{ + {"Moscow", "Moscow", 200}, + {"", null, 200}, + {"Mosc", "Moscow", 200}, + {"Moscow Saint Petersburg", null, 200}, + {"S", null, 200}, + {"%20", null, 200}, + {null, null, 200} + }; + } + + public static List cityRegion() { + List queries + = new ArrayList(); + ArrayList listCity = new ArrayList<>(); + ArrayList listRegion = new ArrayList<>(); + + listCity.add("Moscow"); + listCity.add(""); + listCity.add("Mosc"); + listCity.add("Moscow Saint Petersburg"); + listCity.add("S"); + listCity.add("%20"); + listCity.add(null); + + listRegion.add("ru"); + listRegion.add(""); + listRegion.add("en"); + listRegion.add("eng ru"); + listRegion.add("e"); + listRegion.add("!"); + listRegion.add(null); + + for (String city : listCity) { + for (String region : listRegion) { + queries.add(new Object[]{city, region, 200}); + } + } + return queries; + } + + +} diff --git a/api-tests-module/src/test/java/ru/qatools/school/retrofit/WeatherWebApiRetrofit.java b/api-tests-module/src/test/java/ru/qatools/school/retrofit/WeatherWebApiRetrofit.java new file mode 100644 index 0000000..27c34ba --- /dev/null +++ b/api-tests-module/src/test/java/ru/qatools/school/retrofit/WeatherWebApiRetrofit.java @@ -0,0 +1,107 @@ +package ru.qatools.school.retrofit; + + +import com.tngtech.java.junit.dataprovider.DataProvider; +import com.tngtech.java.junit.dataprovider.DataProviderRunner; +import com.tngtech.java.junit.dataprovider.UseDataProvider; +import org.hamcrest.Matchers; +import org.junit.BeforeClass; +import org.junit.Test; +import org.junit.runner.RunWith; +import retrofit2.Call; +import retrofit2.Response; +import retrofit2.Retrofit; +import retrofit2.converter.gson.GsonConverterFactory; +import ru.qatools.school.ApiMatchers; +import ru.qatools.school.WebApiInterface; +import ru.qatools.school.entity.City; +import ru.yandex.qatools.allure.annotations.Title; +import java.io.IOException; +import java.util.List; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.*; +import static org.hamcrest.core.Is.is; + + +@RunWith(DataProviderRunner.class) +public class WeatherWebApiRetrofit { + private static final String MAIN_PAGE = "http://weather.lanwen.ru/api/"; + private static WebApiInterface webApiInterface; + + @DataProvider + public static Object[][] limitPositive() { + return Parameters.limitsPositive(); + } + + @DataProvider + public static Object[][] limitNegative() { + return Parameters.limitsNegative(); + } + + @DataProvider + public static Object[][] suggest() { + return Parameters.queryString(); + } + + @BeforeClass + public static void getWebApiInterface() { + Retrofit retrofit = new Retrofit.Builder() + .baseUrl(MAIN_PAGE) + .addConverterFactory(GsonConverterFactory.create()) + .build(); + webApiInterface = retrofit.create(WebApiInterface.class); + } + + + @Test + @Title("Получаем список городов используя метод /cities без параметров") + public void shouldSeeListCities() throws IOException { + Call> listCities = webApiInterface.getCities(); + Response> response = listCities.execute(); + assertThat("Не получили список городов", response.body().size(), greaterThan(0)); + } + + @Test + @UseDataProvider("limitPositive") + @Title("Получаем список городов используя метод /cities с параметром limit корректный ввод") + public void shouldSeeLimitCity(String limit, int result, int pageCode) throws IOException { + Call> city = webApiInterface.getCitiesLimit(limit); + Response> response = city.execute(); + assertThat("Статус страницы не соответствует ожидаемому " + pageCode + + ". \n Запрашиваемое количество городов равно " + limit, response.code(), is(pageCode)); + assertThat("Не получили ожидаемый список, запрашивали " + limit + " количество городов", + response.body().size(), is(result)); + } + @Test + @UseDataProvider("limitNegative") + @Title("Получаем список городов используя метод /cities с параметром limit не корректный ввод") + public void shouldSeePageNotFound(String limit, int pageCode) throws IOException { + Call> city = webApiInterface.getCitiesLimit(limit); + Response> response = city.execute(); + assertThat("Статус страницы не соответствует ожидаемому " + pageCode + + ". \n Запрашиваемое количество городов равно " + limit, response.code(), is(pageCode)); + } + + @Test + @Title("Получаем список городов используя метод /init без параметров") + public void shouldSeeListInit() throws IOException { + Call> init = webApiInterface.getInit(); + Response> response = init.execute(); + assertThat("Полученный список городов пуст", response.body().size(), greaterThan(0)); + } + + + @Test + @UseDataProvider("suggest") + @Title("Получаем список городов используя метод /suggest с параметром query") + public void shouldSeeSuggestCity(String query, String result, int pageCode) throws IOException{ + Call> listCall = webApiInterface.getListSuggest(query); + Response> response = listCall.execute(); + assertThat("Статус страницы не соответствует ожидаемому " + pageCode + + ". \n Параметр запроса: " + query, response.code(), is(pageCode)); + assertThat("Вернулось не верное значение города", result, + anyOf(is(ApiMatchers.findInList(response.body())), is(nullValue()))); + } + + +} diff --git a/commons-module/ajcore.20160420.125320.429.txt b/commons-module/ajcore.20160420.125320.429.txt new file mode 100644 index 0000000..f57916e --- /dev/null +++ b/commons-module/ajcore.20160420.125320.429.txt @@ -0,0 +1,168 @@ +---- AspectJ Properties --- +AspectJ Compiler 1.8.5 built on Thursday Jan 29, 2015 at 01:03:58 GMT +---- Dump Properties --- +Dump file: ajcore.20160420.125320.429.txt +Dump reason: org.aspectj.bridge.AbortException +Dump on exception: true +Dump at exit condition: abort +---- Exception Information --- +Message: abort trouble in: +org.codehaus.groovy.runtime.ArrayUtil -- (OutOfMemoryError) Java heap space +Java heap space +java.lang.OutOfMemoryError: Java heap space + at java.util.HashMap.newNode(HashMap.java:1734) + at java.util.HashMap.putVal(HashMap.java:630) + at java.util.HashMap.put(HashMap.java:611) + at java.util.HashSet.add(HashSet.java:219) + at org.aspectj.apache.bcel.generic.InstructionHandle.addTargeter(InstructionHandle.java:161) + at org.aspectj.apache.bcel.generic.MethodGen.(MethodGen.java:300) + at org.aspectj.weaver.bcel.LazyMethodGen.initialize(LazyMethodGen.java:366) + at org.aspectj.weaver.bcel.LazyMethodGen.markAsChanged(LazyMethodGen.java:534) + at org.aspectj.weaver.bcel.LazyMethodGen.getBody(LazyMethodGen.java:924) + at org.aspectj.weaver.bcel.BcelShadow.makeShadowForMethod(BcelShadow.java:679) + at org.aspectj.weaver.bcel.BcelShadow.makeMethodExecution(BcelShadow.java:675) + at org.aspectj.weaver.bcel.BcelShadow.makeMethodExecution(BcelShadow.java:655) + at org.aspectj.weaver.bcel.BcelClassWeaver.match(BcelClassWeaver.java:2664) + at org.aspectj.weaver.bcel.BcelClassWeaver.weave(BcelClassWeaver.java:480) + at org.aspectj.weaver.bcel.BcelClassWeaver.weave(BcelClassWeaver.java:100) + at org.aspectj.weaver.bcel.BcelWeaver.weave(BcelWeaver.java:1689) + at org.aspectj.weaver.bcel.BcelWeaver.weaveWithoutDump(BcelWeaver.java:1633) + at org.aspectj.weaver.bcel.BcelWeaver.weaveAndNotify(BcelWeaver.java:1398) + at org.aspectj.weaver.bcel.BcelWeaver.weave(BcelWeaver.java:1184) + at org.aspectj.weaver.tools.WeavingAdaptor.getWovenBytes(WeavingAdaptor.java:527) + at org.aspectj.weaver.tools.WeavingAdaptor.weaveClass(WeavingAdaptor.java:363) + at org.aspectj.weaver.loadtime.Aj.preProcess(Aj.java:121) + at org.aspectj.weaver.loadtime.ClassPreProcessorAgentAdapter.transform(ClassPreProcessorAgentAdapter.java:54) + at sun.instrument.TransformerManager.transform(TransformerManager.java:188) + at sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:428) + at java.lang.ClassLoader.defineClass1(Native Method) + at java.lang.ClassLoader.defineClass(ClassLoader.java:763) + at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) + at java.net.URLClassLoader.defineClass(URLClassLoader.java:467) + at java.net.URLClassLoader.access$100(URLClassLoader.java:73) + at java.net.URLClassLoader$1.run(URLClassLoader.java:368) + at java.net.URLClassLoader$1.run(URLClassLoader.java:362) + +org.aspectj.bridge.AbortException: trouble in: +org.codehaus.groovy.runtime.ArrayUtil + at org.aspectj.bridge.MessageWriter.handleMessage(MessageWriter.java:47) + at org.aspectj.weaver.tools.WeavingAdaptor$WeavingAdaptorMessageWriter.handleMessage(WeavingAdaptor.java:797) + at org.aspectj.weaver.tools.WeavingAdaptor$WeavingAdaptorMessageHolder.handleMessage(WeavingAdaptor.java:742) + at org.aspectj.weaver.bcel.BcelWeaver.weave(BcelWeaver.java:1730) + at org.aspectj.weaver.bcel.BcelWeaver.weaveWithoutDump(BcelWeaver.java:1633) + at org.aspectj.weaver.bcel.BcelWeaver.weaveAndNotify(BcelWeaver.java:1398) + at org.aspectj.weaver.bcel.BcelWeaver.weave(BcelWeaver.java:1184) + at org.aspectj.weaver.tools.WeavingAdaptor.getWovenBytes(WeavingAdaptor.java:527) + at org.aspectj.weaver.tools.WeavingAdaptor.weaveClass(WeavingAdaptor.java:363) + at org.aspectj.weaver.loadtime.Aj.preProcess(Aj.java:121) + at org.aspectj.weaver.loadtime.ClassPreProcessorAgentAdapter.transform(ClassPreProcessorAgentAdapter.java:54) + at sun.instrument.TransformerManager.transform(TransformerManager.java:188) + at sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:428) + at java.lang.ClassLoader.defineClass1(Native Method) + at java.lang.ClassLoader.defineClass(ClassLoader.java:763) + at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) + at java.net.URLClassLoader.defineClass(URLClassLoader.java:467) + at java.net.URLClassLoader.access$100(URLClassLoader.java:73) + at java.net.URLClassLoader$1.run(URLClassLoader.java:368) + at java.net.URLClassLoader$1.run(URLClassLoader.java:362) + at java.security.AccessController.doPrivileged(Native Method) + at java.net.URLClassLoader.findClass(URLClassLoader.java:361) + at java.lang.ClassLoader.loadClass(ClassLoader.java:424) + at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) + at java.lang.ClassLoader.loadClass(ClassLoader.java:357) + at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:214) + at com.jayway.restassured.internal.assertion.AssertParameter.notNull(AssertParameter.groovy:21) + at com.jayway.restassured.config.SSLConfig.(SSLConfig.java:192) + at com.jayway.restassured.config.SSLConfig.(SSLConfig.java:184) + at com.jayway.restassured.config.RestAssuredConfig.(RestAssuredConfig.java:41) + at com.jayway.restassured.RestAssured.(RestAssured.java:423) + at ru.qatools.school.tp.client.TPClient.callUpdate(TPClient.java:18) + at ru.qatools.school.tp.TPInformerRule.updateWithStatus(TPInformerRule.java:51) + at ru.qatools.school.tp.TPInformerRule.starting(TPInformerRule.java:27) + at org.junit.rules.TestWatcher.startingQuietly(TestWatcher.java:108) + at org.junit.rules.TestWatcher.access$000(TestWatcher.java:46) + at org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:53) + at org.junit.rules.RunRules.evaluate(RunRules.java:20) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) + at org.junit.runners.ParentRunner.run(ParentRunner.java:363) + at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:283) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:173) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:153) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:128) + at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:203) + at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:155) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103) +---- System Properties --- +idea.version=2016.1.1 +java.runtime.name=Java(TM) SE Runtime Environment +sun.boot.library.path=C:\Users\merkushev.io\Documents\jdk_1.8\jre\bin +java.vm.version=25.77-b03 +java.vm.vendor=Oracle Corporation +java.vendor.url=http://java.oracle.com/ +path.separator=; +java.vm.name=Java HotSpot(TM) Client VM +file.encoding.pkg=sun.io +user.country=RU +user.script= +sun.java.launcher=SUN_STANDARD +sun.os.patch.level= +java.vm.specification.name=Java Virtual Machine Specification +user.dir=C:\Users\merkushev.io\Documents\workspace\practice2016\commons-module +java.runtime.version=1.8.0_77-b03 +basedir=C:\Users\merkushev.io\Documents\workspace\practice2016\commons-module +java.awt.graphicsenv=sun.awt.Win32GraphicsEnvironment +java.endorsed.dirs=C:\Users\merkushev.io\Documents\jdk_1.8\jre\lib\endorsed +os.arch=x86 +surefire.real.class.path=C:\Users\merkushev.io\Documents\workspace\practice2016\commons-module\target\surefire\surefirebooter1981090511678953863.jar;C:\Users\merkushev.io\.m2\repository/org/aspectj/aspectjweaver/1.8.5/aspectjweaver-1.8.5.jar +java.io.tmpdir=C:\Users\MERKUS~1.IO\AppData\Local\Temp\ +line.separator= + +java.vm.specification.vendor=Oracle Corporation +user.variant= +os.name=Windows 8.1 +sun.jnu.encoding=Cp1251 +java.library.path=C:\Users\merkushev.io\Documents\jdk_1.8\jre\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\QuickTime\QTSystem\;C:\Users\merkushev.io\Documents\FirefoxPortable\App\Firefox64;. +surefire.test.class.path=C:\Users\merkushev.io\Documents\workspace\practice2016\commons-module\target\test-classes;C:\Users\merkushev.io\Documents\workspace\practice2016\commons-module\target\classes;C:\Users\merkushev.io\Documents\workspace\practice2016\steps-module\target\classes;C:\Users\merkushev.io\.m2\repository\ru\yandex\qatools\allure\allure-junit-adaptor\1.4.23\allure-junit-adaptor-1.4.23.jar;C:\Users\merkushev.io\.m2\repository\ru\yandex\qatools\allure\allure-java-aspects\1.4.23\allure-java-aspects-1.4.23.jar;C:\Users\merkushev.io\.m2\repository\ru\yandex\qatools\allure\allure-java-adaptor-api\1.4.23\allure-java-adaptor-api-1.4.23.jar;C:\Users\merkushev.io\.m2\repository\ru\yandex\qatools\allure\allure-java-annotations\1.4.23\allure-java-annotations-1.4.23.jar;C:\Users\merkushev.io\.m2\repository\ru\yandex\qatools\allure\allure-model\1.4.23\allure-model-1.4.23.jar;C:\Users\merkushev.io\.m2\repository\org\jvnet\jaxb2_commons\jaxb2-basics-runtime\0.9.3\jaxb2-basics-runtime-0.9.3.jar;C:\Users\merkushev.io\.m2\repository\ru\yandex\qatools\properties\properties-loader\1.5\properties-loader-1.5.jar;C:\Users\merkushev.io\.m2\repository\commons-beanutils\commons-beanutils-core\1.8.3\commons-beanutils-core-1.8.3.jar;C:\Users\merkushev.io\.m2\repository\org\slf4j\slf4j-api\1.7.12\slf4j-api-1.7.12.jar;C:\Users\merkushev.io\.m2\repository\org\apache\tika\tika-core\1.7\tika-core-1.7.jar;C:\Users\merkushev.io\.m2\repository\org\aspectj\aspectjrt\1.8.3\aspectjrt-1.8.3.jar;C:\Users\merkushev.io\.m2\repository\org\seleniumhq\selenium\selenium-java\2.53.0\selenium-java-2.53.0.jar;C:\Users\merkushev.io\.m2\repository\org\seleniumhq\selenium\selenium-chrome-driver\2.53.0\selenium-chrome-driver-2.53.0.jar;C:\Users\merkushev.io\.m2\repository\org\seleniumhq\selenium\selenium-remote-driver\2.53.0\selenium-remote-driver-2.53.0.jar;C:\Users\merkushev.io\.m2\repository\com\google\code\gson\gson\2.3.1\gson-2.3.1.jar;C:\Users\merkushev.io\.m2\repository\org\seleniumhq\selenium\selenium-api\2.53.0\selenium-api-2.53.0.jar;C:\Users\merkushev.io\.m2\repository\com\google\guava\guava\19.0\guava-19.0.jar;C:\Users\merkushev.io\.m2\repository\org\seleniumhq\selenium\selenium-edge-driver\2.53.0\selenium-edge-driver-2.53.0.jar;C:\Users\merkushev.io\.m2\repository\commons-io\commons-io\2.4\commons-io-2.4.jar;C:\Users\merkushev.io\.m2\repository\org\apache\commons\commons-exec\1.3\commons-exec-1.3.jar;C:\Users\merkushev.io\.m2\repository\org\seleniumhq\selenium\selenium-firefox-driver\2.53.0\selenium-firefox-driver-2.53.0.jar;C:\Users\merkushev.io\.m2\repository\org\seleniumhq\selenium\selenium-ie-driver\2.53.0\selenium-ie-driver-2.53.0.jar;C:\Users\merkushev.io\.m2\repository\net\java\dev\jna\jna\4.1.0\jna-4.1.0.jar;C:\Users\merkushev.io\.m2\repository\net\java\dev\jna\jna-platform\4.1.0\jna-platform-4.1.0.jar;C:\Users\merkushev.io\.m2\repository\org\seleniumhq\selenium\selenium-safari-driver\2.53.0\selenium-safari-driver-2.53.0.jar;C:\Users\merkushev.io\.m2\repository\io\netty\netty\3.5.7.Final\netty-3.5.7.Final.jar;C:\Users\merkushev.io\.m2\repository\org\seleniumhq\selenium\selenium-support\2.53.0\selenium-support-2.53.0.jar;C:\Users\merkushev.io\.m2\repository\org\seleniumhq\selenium\selenium-leg-rc\2.53.0\selenium-leg-rc-2.53.0.jar;C:\Users\merkushev.io\.m2\repository\ru\yandex\qatools\htmlelements\htmlelements-java\1.15\htmlelements-java-1.15.jar;C:\Users\merkushev.io\.m2\repository\commons-lang\commons-lang\2.6\commons-lang-2.6.jar;C:\Users\merkushev.io\.m2\repository\com\googlecode\lambdaj\lambdaj\2.3.3\lambdaj-2.3.3.jar;C:\Users\merkushev.io\.m2\repository\org\objenesis\objenesis\1.2\objenesis-1.2.jar;C:\Users\merkushev.io\.m2\repository\cglib\cglib-nodep\2.2\cglib-nodep-2.2.jar;C:\Users\merkushev.io\.m2\repository\org\apache\commons\commons-lang3\3.4\commons-lang3-3.4.jar;C:\Users\merkushev.io\.m2\repository\org\hamcrest\hamcrest-all\1.3\hamcrest-all-1.3.jar;C:\Users\merkushev.io\.m2\repository\ru\yandex\qatools\htmlelements\htmlelements-matchers\1.12\htmlelements-matchers-1.12.jar;C:\Users\merkushev.io\.m2\repository\com\jayway\restassured\rest-assured\2.9.0\rest-assured-2.9.0.jar;C:\Users\merkushev.io\.m2\repository\org\codehaus\groovy\groovy\2.4.4\groovy-2.4.4.jar;C:\Users\merkushev.io\.m2\repository\org\codehaus\groovy\groovy-xml\2.4.4\groovy-xml-2.4.4.jar;C:\Users\merkushev.io\.m2\repository\org\apache\httpcomponents\httpclient\4.5.1\httpclient-4.5.1.jar;C:\Users\merkushev.io\.m2\repository\org\apache\httpcomponents\httpcore\4.4.3\httpcore-4.4.3.jar;C:\Users\merkushev.io\.m2\repository\commons-logging\commons-logging\1.2\commons-logging-1.2.jar;C:\Users\merkushev.io\.m2\repository\commons-codec\commons-codec\1.9\commons-codec-1.9.jar;C:\Users\merkushev.io\.m2\repository\org\apache\httpcomponents\httpmime\4.5.1\httpmime-4.5.1.jar;C:\Users\merkushev.io\.m2\repository\org\hamcrest\hamcrest-library\1.3\hamcrest-library-1.3.jar;C:\Users\merkushev.io\.m2\repository\org\ccil\cowan\tagsoup\tagsoup\1.2.1\tagsoup-1.2.1.jar;C:\Users\merkushev.io\.m2\repository\com\jayway\restassured\json-path\2.9.0\json-path-2.9.0.jar;C:\Users\merkushev.io\.m2\repository\org\codehaus\groovy\groovy-json\2.4.4\groovy-json-2.4.4.jar;C:\Users\merkushev.io\.m2\repository\com\jayway\restassured\rest-assured-common\2.9.0\rest-assured-common-2.9.0.jar;C:\Users\merkushev.io\.m2\repository\com\jayway\restassured\xml-path\2.9.0\xml-path-2.9.0.jar;C:\Users\merkushev.io\.m2\repository\com\tngtech\java\junit-dataprovider\1.10.4\junit-dataprovider-1.10.4.jar;C:\Users\merkushev.io\.m2\repository\junit\junit\4.12\junit-4.12.jar;C:\Users\merkushev.io\.m2\repository\org\hamcrest\hamcrest-core\1.3\hamcrest-core-1.3.jar; +java.specification.name=Java Platform API Specification +java.class.version=52.0 +sun.management.compiler=HotSpot Client Compiler +os.version=6.3 +user.home=C:\Users\merkushev.io +user.timezone=Europe/Kaliningrad +java.awt.printerjob=sun.awt.windows.WPrinterJob +file.encoding=Cp1251 +java.specification.version=1.8 +java.class.path=C:\Users\merkushev.io\Documents\workspace\practice2016\commons-module\target\test-classes;C:\Users\merkushev.io\Documents\workspace\practice2016\commons-module\target\classes;C:\Users\merkushev.io\Documents\workspace\practice2016\steps-module\target\classes;C:\Users\merkushev.io\.m2\repository\ru\yandex\qatools\allure\allure-junit-adaptor\1.4.23\allure-junit-adaptor-1.4.23.jar;C:\Users\merkushev.io\.m2\repository\ru\yandex\qatools\allure\allure-java-aspects\1.4.23\allure-java-aspects-1.4.23.jar;C:\Users\merkushev.io\.m2\repository\ru\yandex\qatools\allure\allure-java-adaptor-api\1.4.23\allure-java-adaptor-api-1.4.23.jar;C:\Users\merkushev.io\.m2\repository\ru\yandex\qatools\allure\allure-java-annotations\1.4.23\allure-java-annotations-1.4.23.jar;C:\Users\merkushev.io\.m2\repository\ru\yandex\qatools\allure\allure-model\1.4.23\allure-model-1.4.23.jar;C:\Users\merkushev.io\.m2\repository\org\jvnet\jaxb2_commons\jaxb2-basics-runtime\0.9.3\jaxb2-basics-runtime-0.9.3.jar;C:\Users\merkushev.io\.m2\repository\ru\yandex\qatools\properties\properties-loader\1.5\properties-loader-1.5.jar;C:\Users\merkushev.io\.m2\repository\commons-beanutils\commons-beanutils-core\1.8.3\commons-beanutils-core-1.8.3.jar;C:\Users\merkushev.io\.m2\repository\org\slf4j\slf4j-api\1.7.12\slf4j-api-1.7.12.jar;C:\Users\merkushev.io\.m2\repository\org\apache\tika\tika-core\1.7\tika-core-1.7.jar;C:\Users\merkushev.io\.m2\repository\org\aspectj\aspectjrt\1.8.3\aspectjrt-1.8.3.jar;C:\Users\merkushev.io\.m2\repository\org\seleniumhq\selenium\selenium-java\2.53.0\selenium-java-2.53.0.jar;C:\Users\merkushev.io\.m2\repository\org\seleniumhq\selenium\selenium-chrome-driver\2.53.0\selenium-chrome-driver-2.53.0.jar;C:\Users\merkushev.io\.m2\repository\org\seleniumhq\selenium\selenium-remote-driver\2.53.0\selenium-remote-driver-2.53.0.jar;C:\Users\merkushev.io\.m2\repository\com\google\code\gson\gson\2.3.1\gson-2.3.1.jar;C:\Users\merkushev.io\.m2\repository\org\seleniumhq\selenium\selenium-api\2.53.0\selenium-api-2.53.0.jar;C:\Users\merkushev.io\.m2\repository\com\google\guava\guava\19.0\guava-19.0.jar;C:\Users\merkushev.io\.m2\repository\org\seleniumhq\selenium\selenium-edge-driver\2.53.0\selenium-edge-driver-2.53.0.jar;C:\Users\merkushev.io\.m2\repository\commons-io\commons-io\2.4\commons-io-2.4.jar;C:\Users\merkushev.io\.m2\repository\org\apache\commons\commons-exec\1.3\commons-exec-1.3.jar;C:\Users\merkushev.io\.m2\repository\org\seleniumhq\selenium\selenium-firefox-driver\2.53.0\selenium-firefox-driver-2.53.0.jar;C:\Users\merkushev.io\.m2\repository\org\seleniumhq\selenium\selenium-ie-driver\2.53.0\selenium-ie-driver-2.53.0.jar;C:\Users\merkushev.io\.m2\repository\net\java\dev\jna\jna\4.1.0\jna-4.1.0.jar;C:\Users\merkushev.io\.m2\repository\net\java\dev\jna\jna-platform\4.1.0\jna-platform-4.1.0.jar;C:\Users\merkushev.io\.m2\repository\org\seleniumhq\selenium\selenium-safari-driver\2.53.0\selenium-safari-driver-2.53.0.jar;C:\Users\merkushev.io\.m2\repository\io\netty\netty\3.5.7.Final\netty-3.5.7.Final.jar;C:\Users\merkushev.io\.m2\repository\org\seleniumhq\selenium\selenium-support\2.53.0\selenium-support-2.53.0.jar;C:\Users\merkushev.io\.m2\repository\org\seleniumhq\selenium\selenium-leg-rc\2.53.0\selenium-leg-rc-2.53.0.jar;C:\Users\merkushev.io\.m2\repository\ru\yandex\qatools\htmlelements\htmlelements-java\1.15\htmlelements-java-1.15.jar;C:\Users\merkushev.io\.m2\repository\commons-lang\commons-lang\2.6\commons-lang-2.6.jar;C:\Users\merkushev.io\.m2\repository\com\googlecode\lambdaj\lambdaj\2.3.3\lambdaj-2.3.3.jar;C:\Users\merkushev.io\.m2\repository\org\objenesis\objenesis\1.2\objenesis-1.2.jar;C:\Users\merkushev.io\.m2\repository\cglib\cglib-nodep\2.2\cglib-nodep-2.2.jar;C:\Users\merkushev.io\.m2\repository\org\apache\commons\commons-lang3\3.4\commons-lang3-3.4.jar;C:\Users\merkushev.io\.m2\repository\org\hamcrest\hamcrest-all\1.3\hamcrest-all-1.3.jar;C:\Users\merkushev.io\.m2\repository\ru\yandex\qatools\htmlelements\htmlelements-matchers\1.12\htmlelements-matchers-1.12.jar;C:\Users\merkushev.io\.m2\repository\com\jayway\restassured\rest-assured\2.9.0\rest-assured-2.9.0.jar;C:\Users\merkushev.io\.m2\repository\org\codehaus\groovy\groovy\2.4.4\groovy-2.4.4.jar;C:\Users\merkushev.io\.m2\repository\org\codehaus\groovy\groovy-xml\2.4.4\groovy-xml-2.4.4.jar;C:\Users\merkushev.io\.m2\repository\org\apache\httpcomponents\httpclient\4.5.1\httpclient-4.5.1.jar;C:\Users\merkushev.io\.m2\repository\org\apache\httpcomponents\httpcore\4.4.3\httpcore-4.4.3.jar;C:\Users\merkushev.io\.m2\repository\commons-logging\commons-logging\1.2\commons-logging-1.2.jar;C:\Users\merkushev.io\.m2\repository\commons-codec\commons-codec\1.9\commons-codec-1.9.jar;C:\Users\merkushev.io\.m2\repository\org\apache\httpcomponents\httpmime\4.5.1\httpmime-4.5.1.jar;C:\Users\merkushev.io\.m2\repository\org\hamcrest\hamcrest-library\1.3\hamcrest-library-1.3.jar;C:\Users\merkushev.io\.m2\repository\org\ccil\cowan\tagsoup\tagsoup\1.2.1\tagsoup-1.2.1.jar;C:\Users\merkushev.io\.m2\repository\com\jayway\restassured\json-path\2.9.0\json-path-2.9.0.jar;C:\Users\merkushev.io\.m2\repository\org\codehaus\groovy\groovy-json\2.4.4\groovy-json-2.4.4.jar;C:\Users\merkushev.io\.m2\repository\com\jayway\restassured\rest-assured-common\2.9.0\rest-assured-common-2.9.0.jar;C:\Users\merkushev.io\.m2\repository\com\jayway\restassured\xml-path\2.9.0\xml-path-2.9.0.jar;C:\Users\merkushev.io\.m2\repository\com\tngtech\java\junit-dataprovider\1.10.4\junit-dataprovider-1.10.4.jar;C:\Users\merkushev.io\.m2\repository\junit\junit\4.12\junit-4.12.jar;C:\Users\merkushev.io\.m2\repository\org\hamcrest\hamcrest-core\1.3\hamcrest-core-1.3.jar; +user.name=merkushev.io +java.vm.specification.version=1.8 +sun.java.command=C:\Users\merkushev.io\Documents\workspace\practice2016\commons-module\target\surefire\surefirebooter1981090511678953863.jar C:\Users\merkushev.io\Documents\workspace\practice2016\commons-module\target\surefire\surefire3877191890069359457tmp C:\Users\merkushev.io\Documents\workspace\practice2016\commons-module\target\surefire\surefire_03621909824743149175tmp +java.home=C:\Users\merkushev.io\Documents\jdk_1.8\jre +sun.arch.data.model=32 +user.language=ru +java.specification.vendor=Oracle Corporation +awt.toolkit=sun.awt.windows.WToolkit +java.vm.info=mixed mode +java.version=1.8.0_77 +java.ext.dirs=C:\Users\merkushev.io\Documents\jdk_1.8\jre\lib\ext;C:\Windows\Sun\Java\lib\ext +sun.boot.class.path=C:\Users\merkushev.io\Documents\jdk_1.8\jre\lib\resources.jar;C:\Users\merkushev.io\Documents\jdk_1.8\jre\lib\rt.jar;C:\Users\merkushev.io\Documents\jdk_1.8\jre\lib\sunrsasign.jar;C:\Users\merkushev.io\Documents\jdk_1.8\jre\lib\jsse.jar;C:\Users\merkushev.io\Documents\jdk_1.8\jre\lib\jce.jar;C:\Users\merkushev.io\Documents\jdk_1.8\jre\lib\charsets.jar;C:\Users\merkushev.io\Documents\jdk_1.8\jre\lib\jfr.jar;C:\Users\merkushev.io\Documents\jdk_1.8\jre\classes +java.vendor=Oracle Corporation +localRepository=C:\Users\merkushev.io\.m2\repository +file.separator=\ +java.vendor.url.bug=http://bugreport.sun.com/bugreport/ +sun.io.unicode.encoding=UnicodeLittle +sun.cpu.endian=little +sun.desktop=windows +sun.cpu.isalist=pentium_pro+mmx pentium_pro pentium+mmx pentium i486 i386 i86 +---- Command Line --- +Empty +---- Full Classpath --- +Empty +---- Compiler Messages --- +Empty diff --git a/commons-module/ajcore.20160420.125320.516.txt b/commons-module/ajcore.20160420.125320.516.txt new file mode 100644 index 0000000..17064f5 --- /dev/null +++ b/commons-module/ajcore.20160420.125320.516.txt @@ -0,0 +1,113 @@ +---- AspectJ Properties --- +AspectJ Compiler 1.8.5 built on Thursday Jan 29, 2015 at 01:03:58 GMT +---- Dump Properties --- +Dump file: ajcore.20160420.125320.516.txt +Dump reason: abort +Dump on exception: true +Dump at exit condition: abort +---- System Properties --- +idea.version=2016.1.1 +java.runtime.name=Java(TM) SE Runtime Environment +sun.boot.library.path=C:\Users\merkushev.io\Documents\jdk_1.8\jre\bin +java.vm.version=25.77-b03 +java.vm.vendor=Oracle Corporation +java.vendor.url=http://java.oracle.com/ +path.separator=; +java.vm.name=Java HotSpot(TM) Client VM +file.encoding.pkg=sun.io +user.country=RU +user.script= +sun.java.launcher=SUN_STANDARD +sun.os.patch.level= +java.vm.specification.name=Java Virtual Machine Specification +user.dir=C:\Users\merkushev.io\Documents\workspace\practice2016\commons-module +java.runtime.version=1.8.0_77-b03 +basedir=C:\Users\merkushev.io\Documents\workspace\practice2016\commons-module +java.awt.graphicsenv=sun.awt.Win32GraphicsEnvironment +java.endorsed.dirs=C:\Users\merkushev.io\Documents\jdk_1.8\jre\lib\endorsed +os.arch=x86 +surefire.real.class.path=C:\Users\merkushev.io\Documents\workspace\practice2016\commons-module\target\surefire\surefirebooter1981090511678953863.jar;C:\Users\merkushev.io\.m2\repository/org/aspectj/aspectjweaver/1.8.5/aspectjweaver-1.8.5.jar +java.io.tmpdir=C:\Users\MERKUS~1.IO\AppData\Local\Temp\ +line.separator= + +java.vm.specification.vendor=Oracle Corporation +user.variant= +os.name=Windows 8.1 +sun.jnu.encoding=Cp1251 +java.library.path=C:\Users\merkushev.io\Documents\jdk_1.8\jre\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\QuickTime\QTSystem\;C:\Users\merkushev.io\Documents\FirefoxPortable\App\Firefox64;. +surefire.test.class.path=C:\Users\merkushev.io\Documents\workspace\practice2016\commons-module\target\test-classes;C:\Users\merkushev.io\Documents\workspace\practice2016\commons-module\target\classes;C:\Users\merkushev.io\Documents\workspace\practice2016\steps-module\target\classes;C:\Users\merkushev.io\.m2\repository\ru\yandex\qatools\allure\allure-junit-adaptor\1.4.23\allure-junit-adaptor-1.4.23.jar;C:\Users\merkushev.io\.m2\repository\ru\yandex\qatools\allure\allure-java-aspects\1.4.23\allure-java-aspects-1.4.23.jar;C:\Users\merkushev.io\.m2\repository\ru\yandex\qatools\allure\allure-java-adaptor-api\1.4.23\allure-java-adaptor-api-1.4.23.jar;C:\Users\merkushev.io\.m2\repository\ru\yandex\qatools\allure\allure-java-annotations\1.4.23\allure-java-annotations-1.4.23.jar;C:\Users\merkushev.io\.m2\repository\ru\yandex\qatools\allure\allure-model\1.4.23\allure-model-1.4.23.jar;C:\Users\merkushev.io\.m2\repository\org\jvnet\jaxb2_commons\jaxb2-basics-runtime\0.9.3\jaxb2-basics-runtime-0.9.3.jar;C:\Users\merkushev.io\.m2\repository\ru\yandex\qatools\properties\properties-loader\1.5\properties-loader-1.5.jar;C:\Users\merkushev.io\.m2\repository\commons-beanutils\commons-beanutils-core\1.8.3\commons-beanutils-core-1.8.3.jar;C:\Users\merkushev.io\.m2\repository\org\slf4j\slf4j-api\1.7.12\slf4j-api-1.7.12.jar;C:\Users\merkushev.io\.m2\repository\org\apache\tika\tika-core\1.7\tika-core-1.7.jar;C:\Users\merkushev.io\.m2\repository\org\aspectj\aspectjrt\1.8.3\aspectjrt-1.8.3.jar;C:\Users\merkushev.io\.m2\repository\org\seleniumhq\selenium\selenium-java\2.53.0\selenium-java-2.53.0.jar;C:\Users\merkushev.io\.m2\repository\org\seleniumhq\selenium\selenium-chrome-driver\2.53.0\selenium-chrome-driver-2.53.0.jar;C:\Users\merkushev.io\.m2\repository\org\seleniumhq\selenium\selenium-remote-driver\2.53.0\selenium-remote-driver-2.53.0.jar;C:\Users\merkushev.io\.m2\repository\com\google\code\gson\gson\2.3.1\gson-2.3.1.jar;C:\Users\merkushev.io\.m2\repository\org\seleniumhq\selenium\selenium-api\2.53.0\selenium-api-2.53.0.jar;C:\Users\merkushev.io\.m2\repository\com\google\guava\guava\19.0\guava-19.0.jar;C:\Users\merkushev.io\.m2\repository\org\seleniumhq\selenium\selenium-edge-driver\2.53.0\selenium-edge-driver-2.53.0.jar;C:\Users\merkushev.io\.m2\repository\commons-io\commons-io\2.4\commons-io-2.4.jar;C:\Users\merkushev.io\.m2\repository\org\apache\commons\commons-exec\1.3\commons-exec-1.3.jar;C:\Users\merkushev.io\.m2\repository\org\seleniumhq\selenium\selenium-firefox-driver\2.53.0\selenium-firefox-driver-2.53.0.jar;C:\Users\merkushev.io\.m2\repository\org\seleniumhq\selenium\selenium-ie-driver\2.53.0\selenium-ie-driver-2.53.0.jar;C:\Users\merkushev.io\.m2\repository\net\java\dev\jna\jna\4.1.0\jna-4.1.0.jar;C:\Users\merkushev.io\.m2\repository\net\java\dev\jna\jna-platform\4.1.0\jna-platform-4.1.0.jar;C:\Users\merkushev.io\.m2\repository\org\seleniumhq\selenium\selenium-safari-driver\2.53.0\selenium-safari-driver-2.53.0.jar;C:\Users\merkushev.io\.m2\repository\io\netty\netty\3.5.7.Final\netty-3.5.7.Final.jar;C:\Users\merkushev.io\.m2\repository\org\seleniumhq\selenium\selenium-support\2.53.0\selenium-support-2.53.0.jar;C:\Users\merkushev.io\.m2\repository\org\seleniumhq\selenium\selenium-leg-rc\2.53.0\selenium-leg-rc-2.53.0.jar;C:\Users\merkushev.io\.m2\repository\ru\yandex\qatools\htmlelements\htmlelements-java\1.15\htmlelements-java-1.15.jar;C:\Users\merkushev.io\.m2\repository\commons-lang\commons-lang\2.6\commons-lang-2.6.jar;C:\Users\merkushev.io\.m2\repository\com\googlecode\lambdaj\lambdaj\2.3.3\lambdaj-2.3.3.jar;C:\Users\merkushev.io\.m2\repository\org\objenesis\objenesis\1.2\objenesis-1.2.jar;C:\Users\merkushev.io\.m2\repository\cglib\cglib-nodep\2.2\cglib-nodep-2.2.jar;C:\Users\merkushev.io\.m2\repository\org\apache\commons\commons-lang3\3.4\commons-lang3-3.4.jar;C:\Users\merkushev.io\.m2\repository\org\hamcrest\hamcrest-all\1.3\hamcrest-all-1.3.jar;C:\Users\merkushev.io\.m2\repository\ru\yandex\qatools\htmlelements\htmlelements-matchers\1.12\htmlelements-matchers-1.12.jar;C:\Users\merkushev.io\.m2\repository\com\jayway\restassured\rest-assured\2.9.0\rest-assured-2.9.0.jar;C:\Users\merkushev.io\.m2\repository\org\codehaus\groovy\groovy\2.4.4\groovy-2.4.4.jar;C:\Users\merkushev.io\.m2\repository\org\codehaus\groovy\groovy-xml\2.4.4\groovy-xml-2.4.4.jar;C:\Users\merkushev.io\.m2\repository\org\apache\httpcomponents\httpclient\4.5.1\httpclient-4.5.1.jar;C:\Users\merkushev.io\.m2\repository\org\apache\httpcomponents\httpcore\4.4.3\httpcore-4.4.3.jar;C:\Users\merkushev.io\.m2\repository\commons-logging\commons-logging\1.2\commons-logging-1.2.jar;C:\Users\merkushev.io\.m2\repository\commons-codec\commons-codec\1.9\commons-codec-1.9.jar;C:\Users\merkushev.io\.m2\repository\org\apache\httpcomponents\httpmime\4.5.1\httpmime-4.5.1.jar;C:\Users\merkushev.io\.m2\repository\org\hamcrest\hamcrest-library\1.3\hamcrest-library-1.3.jar;C:\Users\merkushev.io\.m2\repository\org\ccil\cowan\tagsoup\tagsoup\1.2.1\tagsoup-1.2.1.jar;C:\Users\merkushev.io\.m2\repository\com\jayway\restassured\json-path\2.9.0\json-path-2.9.0.jar;C:\Users\merkushev.io\.m2\repository\org\codehaus\groovy\groovy-json\2.4.4\groovy-json-2.4.4.jar;C:\Users\merkushev.io\.m2\repository\com\jayway\restassured\rest-assured-common\2.9.0\rest-assured-common-2.9.0.jar;C:\Users\merkushev.io\.m2\repository\com\jayway\restassured\xml-path\2.9.0\xml-path-2.9.0.jar;C:\Users\merkushev.io\.m2\repository\com\tngtech\java\junit-dataprovider\1.10.4\junit-dataprovider-1.10.4.jar;C:\Users\merkushev.io\.m2\repository\junit\junit\4.12\junit-4.12.jar;C:\Users\merkushev.io\.m2\repository\org\hamcrest\hamcrest-core\1.3\hamcrest-core-1.3.jar; +java.specification.name=Java Platform API Specification +java.class.version=52.0 +sun.management.compiler=HotSpot Client Compiler +os.version=6.3 +user.home=C:\Users\merkushev.io +user.timezone=Europe/Kaliningrad +java.awt.printerjob=sun.awt.windows.WPrinterJob +file.encoding=Cp1251 +java.specification.version=1.8 +java.class.path=C:\Users\merkushev.io\Documents\workspace\practice2016\commons-module\target\test-classes;C:\Users\merkushev.io\Documents\workspace\practice2016\commons-module\target\classes;C:\Users\merkushev.io\Documents\workspace\practice2016\steps-module\target\classes;C:\Users\merkushev.io\.m2\repository\ru\yandex\qatools\allure\allure-junit-adaptor\1.4.23\allure-junit-adaptor-1.4.23.jar;C:\Users\merkushev.io\.m2\repository\ru\yandex\qatools\allure\allure-java-aspects\1.4.23\allure-java-aspects-1.4.23.jar;C:\Users\merkushev.io\.m2\repository\ru\yandex\qatools\allure\allure-java-adaptor-api\1.4.23\allure-java-adaptor-api-1.4.23.jar;C:\Users\merkushev.io\.m2\repository\ru\yandex\qatools\allure\allure-java-annotations\1.4.23\allure-java-annotations-1.4.23.jar;C:\Users\merkushev.io\.m2\repository\ru\yandex\qatools\allure\allure-model\1.4.23\allure-model-1.4.23.jar;C:\Users\merkushev.io\.m2\repository\org\jvnet\jaxb2_commons\jaxb2-basics-runtime\0.9.3\jaxb2-basics-runtime-0.9.3.jar;C:\Users\merkushev.io\.m2\repository\ru\yandex\qatools\properties\properties-loader\1.5\properties-loader-1.5.jar;C:\Users\merkushev.io\.m2\repository\commons-beanutils\commons-beanutils-core\1.8.3\commons-beanutils-core-1.8.3.jar;C:\Users\merkushev.io\.m2\repository\org\slf4j\slf4j-api\1.7.12\slf4j-api-1.7.12.jar;C:\Users\merkushev.io\.m2\repository\org\apache\tika\tika-core\1.7\tika-core-1.7.jar;C:\Users\merkushev.io\.m2\repository\org\aspectj\aspectjrt\1.8.3\aspectjrt-1.8.3.jar;C:\Users\merkushev.io\.m2\repository\org\seleniumhq\selenium\selenium-java\2.53.0\selenium-java-2.53.0.jar;C:\Users\merkushev.io\.m2\repository\org\seleniumhq\selenium\selenium-chrome-driver\2.53.0\selenium-chrome-driver-2.53.0.jar;C:\Users\merkushev.io\.m2\repository\org\seleniumhq\selenium\selenium-remote-driver\2.53.0\selenium-remote-driver-2.53.0.jar;C:\Users\merkushev.io\.m2\repository\com\google\code\gson\gson\2.3.1\gson-2.3.1.jar;C:\Users\merkushev.io\.m2\repository\org\seleniumhq\selenium\selenium-api\2.53.0\selenium-api-2.53.0.jar;C:\Users\merkushev.io\.m2\repository\com\google\guava\guava\19.0\guava-19.0.jar;C:\Users\merkushev.io\.m2\repository\org\seleniumhq\selenium\selenium-edge-driver\2.53.0\selenium-edge-driver-2.53.0.jar;C:\Users\merkushev.io\.m2\repository\commons-io\commons-io\2.4\commons-io-2.4.jar;C:\Users\merkushev.io\.m2\repository\org\apache\commons\commons-exec\1.3\commons-exec-1.3.jar;C:\Users\merkushev.io\.m2\repository\org\seleniumhq\selenium\selenium-firefox-driver\2.53.0\selenium-firefox-driver-2.53.0.jar;C:\Users\merkushev.io\.m2\repository\org\seleniumhq\selenium\selenium-ie-driver\2.53.0\selenium-ie-driver-2.53.0.jar;C:\Users\merkushev.io\.m2\repository\net\java\dev\jna\jna\4.1.0\jna-4.1.0.jar;C:\Users\merkushev.io\.m2\repository\net\java\dev\jna\jna-platform\4.1.0\jna-platform-4.1.0.jar;C:\Users\merkushev.io\.m2\repository\org\seleniumhq\selenium\selenium-safari-driver\2.53.0\selenium-safari-driver-2.53.0.jar;C:\Users\merkushev.io\.m2\repository\io\netty\netty\3.5.7.Final\netty-3.5.7.Final.jar;C:\Users\merkushev.io\.m2\repository\org\seleniumhq\selenium\selenium-support\2.53.0\selenium-support-2.53.0.jar;C:\Users\merkushev.io\.m2\repository\org\seleniumhq\selenium\selenium-leg-rc\2.53.0\selenium-leg-rc-2.53.0.jar;C:\Users\merkushev.io\.m2\repository\ru\yandex\qatools\htmlelements\htmlelements-java\1.15\htmlelements-java-1.15.jar;C:\Users\merkushev.io\.m2\repository\commons-lang\commons-lang\2.6\commons-lang-2.6.jar;C:\Users\merkushev.io\.m2\repository\com\googlecode\lambdaj\lambdaj\2.3.3\lambdaj-2.3.3.jar;C:\Users\merkushev.io\.m2\repository\org\objenesis\objenesis\1.2\objenesis-1.2.jar;C:\Users\merkushev.io\.m2\repository\cglib\cglib-nodep\2.2\cglib-nodep-2.2.jar;C:\Users\merkushev.io\.m2\repository\org\apache\commons\commons-lang3\3.4\commons-lang3-3.4.jar;C:\Users\merkushev.io\.m2\repository\org\hamcrest\hamcrest-all\1.3\hamcrest-all-1.3.jar;C:\Users\merkushev.io\.m2\repository\ru\yandex\qatools\htmlelements\htmlelements-matchers\1.12\htmlelements-matchers-1.12.jar;C:\Users\merkushev.io\.m2\repository\com\jayway\restassured\rest-assured\2.9.0\rest-assured-2.9.0.jar;C:\Users\merkushev.io\.m2\repository\org\codehaus\groovy\groovy\2.4.4\groovy-2.4.4.jar;C:\Users\merkushev.io\.m2\repository\org\codehaus\groovy\groovy-xml\2.4.4\groovy-xml-2.4.4.jar;C:\Users\merkushev.io\.m2\repository\org\apache\httpcomponents\httpclient\4.5.1\httpclient-4.5.1.jar;C:\Users\merkushev.io\.m2\repository\org\apache\httpcomponents\httpcore\4.4.3\httpcore-4.4.3.jar;C:\Users\merkushev.io\.m2\repository\commons-logging\commons-logging\1.2\commons-logging-1.2.jar;C:\Users\merkushev.io\.m2\repository\commons-codec\commons-codec\1.9\commons-codec-1.9.jar;C:\Users\merkushev.io\.m2\repository\org\apache\httpcomponents\httpmime\4.5.1\httpmime-4.5.1.jar;C:\Users\merkushev.io\.m2\repository\org\hamcrest\hamcrest-library\1.3\hamcrest-library-1.3.jar;C:\Users\merkushev.io\.m2\repository\org\ccil\cowan\tagsoup\tagsoup\1.2.1\tagsoup-1.2.1.jar;C:\Users\merkushev.io\.m2\repository\com\jayway\restassured\json-path\2.9.0\json-path-2.9.0.jar;C:\Users\merkushev.io\.m2\repository\org\codehaus\groovy\groovy-json\2.4.4\groovy-json-2.4.4.jar;C:\Users\merkushev.io\.m2\repository\com\jayway\restassured\rest-assured-common\2.9.0\rest-assured-common-2.9.0.jar;C:\Users\merkushev.io\.m2\repository\com\jayway\restassured\xml-path\2.9.0\xml-path-2.9.0.jar;C:\Users\merkushev.io\.m2\repository\com\tngtech\java\junit-dataprovider\1.10.4\junit-dataprovider-1.10.4.jar;C:\Users\merkushev.io\.m2\repository\junit\junit\4.12\junit-4.12.jar;C:\Users\merkushev.io\.m2\repository\org\hamcrest\hamcrest-core\1.3\hamcrest-core-1.3.jar; +user.name=merkushev.io +java.vm.specification.version=1.8 +sun.java.command=C:\Users\merkushev.io\Documents\workspace\practice2016\commons-module\target\surefire\surefirebooter1981090511678953863.jar C:\Users\merkushev.io\Documents\workspace\practice2016\commons-module\target\surefire\surefire3877191890069359457tmp C:\Users\merkushev.io\Documents\workspace\practice2016\commons-module\target\surefire\surefire_03621909824743149175tmp +java.home=C:\Users\merkushev.io\Documents\jdk_1.8\jre +sun.arch.data.model=32 +user.language=ru +java.specification.vendor=Oracle Corporation +awt.toolkit=sun.awt.windows.WToolkit +java.vm.info=mixed mode +java.version=1.8.0_77 +java.ext.dirs=C:\Users\merkushev.io\Documents\jdk_1.8\jre\lib\ext;C:\Windows\Sun\Java\lib\ext +sun.boot.class.path=C:\Users\merkushev.io\Documents\jdk_1.8\jre\lib\resources.jar;C:\Users\merkushev.io\Documents\jdk_1.8\jre\lib\rt.jar;C:\Users\merkushev.io\Documents\jdk_1.8\jre\lib\sunrsasign.jar;C:\Users\merkushev.io\Documents\jdk_1.8\jre\lib\jsse.jar;C:\Users\merkushev.io\Documents\jdk_1.8\jre\lib\jce.jar;C:\Users\merkushev.io\Documents\jdk_1.8\jre\lib\charsets.jar;C:\Users\merkushev.io\Documents\jdk_1.8\jre\lib\jfr.jar;C:\Users\merkushev.io\Documents\jdk_1.8\jre\classes +java.vendor=Oracle Corporation +localRepository=C:\Users\merkushev.io\.m2\repository +file.separator=\ +java.vendor.url.bug=http://bugreport.sun.com/bugreport/ +sun.io.unicode.encoding=UnicodeLittle +sun.cpu.endian=little +sun.desktop=windows +sun.cpu.isalist=pentium_pro+mmx pentium_pro pentium+mmx pentium i486 i386 i86 +---- Command Line --- +Empty +---- Full Classpath --- +Empty +---- Compiler Messages --- +info AspectJ Weaver Version 1.8.5 built on Thursday Jan 29, 2015 at 01:03:58 GMT +info register classloader sun.misc.Launcher$AppClassLoader@b4aac2 +info using configuration file:/C:/Users/merkushev.io/.m2/repository/ru/yandex/qatools/allure/allure-java-aspects/1.4.23/allure-java-aspects-1.4.23.jar!/META-INF/aop-ajc.xml +abort trouble in: +org.codehaus.groovy.runtime.ArrayUtil -- (OutOfMemoryError) Java heap space +Java heap space +java.lang.OutOfMemoryError: Java heap space + at java.util.HashMap.newNode(HashMap.java:1734) + at java.util.HashMap.putVal(HashMap.java:630) + at java.util.HashMap.put(HashMap.java:611) + at java.util.HashSet.add(HashSet.java:219) + at org.aspectj.apache.bcel.generic.InstructionHandle.addTargeter(InstructionHandle.java:161) + at org.aspectj.apache.bcel.generic.MethodGen.(MethodGen.java:300) + at org.aspectj.weaver.bcel.LazyMethodGen.initialize(LazyMethodGen.java:366) + at org.aspectj.weaver.bcel.LazyMethodGen.markAsChanged(LazyMethodGen.java:534) + at org.aspectj.weaver.bcel.LazyMethodGen.getBody(LazyMethodGen.java:924) + at org.aspectj.weaver.bcel.BcelShadow.makeShadowForMethod(BcelShadow.java:679) + at org.aspectj.weaver.bcel.BcelShadow.makeMethodExecution(BcelShadow.java:675) + at org.aspectj.weaver.bcel.BcelShadow.makeMethodExecution(BcelShadow.java:655) + at org.aspectj.weaver.bcel.BcelClassWeaver.match(BcelClassWeaver.java:2664) + at org.aspectj.weaver.bcel.BcelClassWeaver.weave(BcelClassWeaver.java:480) + at org.aspectj.weaver.bcel.BcelClassWeaver.weave(BcelClassWeaver.java:100) + at org.aspectj.weaver.bcel.BcelWeaver.weave(BcelWeaver.java:1689) + at org.aspectj.weaver.bcel.BcelWeaver.weaveWithoutDump(BcelWeaver.java:1633) + at org.aspectj.weaver.bcel.BcelWeaver.weaveAndNotify(BcelWeaver.java:1398) + at org.aspectj.weaver.bcel.BcelWeaver.weave(BcelWeaver.java:1184) + at org.aspectj.weaver.tools.WeavingAdaptor.getWovenBytes(WeavingAdaptor.java:527) + at org.aspectj.weaver.tools.WeavingAdaptor.weaveClass(WeavingAdaptor.java:363) + at org.aspectj.weaver.loadtime.Aj.preProcess(Aj.java:121) + at org.aspectj.weaver.loadtime.ClassPreProcessorAgentAdapter.transform(ClassPreProcessorAgentAdapter.java:54) + at sun.instrument.TransformerManager.transform(TransformerManager.java:188) + at sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:428) + at java.lang.ClassLoader.defineClass1(Native Method) + at java.lang.ClassLoader.defineClass(ClassLoader.java:763) + at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) + at java.net.URLClassLoader.defineClass(URLClassLoader.java:467) + at java.net.URLClassLoader.access$100(URLClassLoader.java:73) + at java.net.URLClassLoader$1.run(URLClassLoader.java:368) + at java.net.URLClassLoader$1.run(URLClassLoader.java:362) + diff --git a/commons-module/ajcore.20160420.134534.084.txt b/commons-module/ajcore.20160420.134534.084.txt new file mode 100644 index 0000000..e1eb5f7 --- /dev/null +++ b/commons-module/ajcore.20160420.134534.084.txt @@ -0,0 +1,174 @@ +---- AspectJ Properties --- +AspectJ Compiler 1.8.5 built on Thursday Jan 29, 2015 at 01:03:58 GMT +---- Dump Properties --- +Dump file: ajcore.20160420.134534.084.txt +Dump reason: org.aspectj.bridge.AbortException +Dump on exception: true +Dump at exit condition: abort +---- Exception Information --- +Message: abort trouble in: +org.codehaus.groovy.runtime.ArrayUtil -- (OutOfMemoryError) Java heap space +Java heap space +java.lang.OutOfMemoryError: Java heap space + at java.util.HashMap.newNode(HashMap.java:1734) + at java.util.HashMap.putVal(HashMap.java:630) + at java.util.HashMap.put(HashMap.java:611) + at java.util.HashSet.add(HashSet.java:219) + at org.aspectj.apache.bcel.generic.InstructionHandle.addTargeter(InstructionHandle.java:161) + at org.aspectj.apache.bcel.generic.MethodGen.(MethodGen.java:300) + at org.aspectj.weaver.bcel.LazyMethodGen.initialize(LazyMethodGen.java:366) + at org.aspectj.weaver.bcel.LazyMethodGen.markAsChanged(LazyMethodGen.java:534) + at org.aspectj.weaver.bcel.LazyMethodGen.getBody(LazyMethodGen.java:924) + at org.aspectj.weaver.bcel.BcelShadow.makeShadowForMethod(BcelShadow.java:679) + at org.aspectj.weaver.bcel.BcelShadow.makeMethodExecution(BcelShadow.java:675) + at org.aspectj.weaver.bcel.BcelShadow.makeMethodExecution(BcelShadow.java:655) + at org.aspectj.weaver.bcel.BcelClassWeaver.match(BcelClassWeaver.java:2664) + at org.aspectj.weaver.bcel.BcelClassWeaver.weave(BcelClassWeaver.java:480) + at org.aspectj.weaver.bcel.BcelClassWeaver.weave(BcelClassWeaver.java:100) + at org.aspectj.weaver.bcel.BcelWeaver.weave(BcelWeaver.java:1689) + at org.aspectj.weaver.bcel.BcelWeaver.weaveWithoutDump(BcelWeaver.java:1633) + at org.aspectj.weaver.bcel.BcelWeaver.weaveAndNotify(BcelWeaver.java:1398) + at org.aspectj.weaver.bcel.BcelWeaver.weave(BcelWeaver.java:1184) + at org.aspectj.weaver.tools.WeavingAdaptor.getWovenBytes(WeavingAdaptor.java:527) + at org.aspectj.weaver.tools.WeavingAdaptor.weaveClass(WeavingAdaptor.java:363) + at org.aspectj.weaver.loadtime.Aj.preProcess(Aj.java:121) + at org.aspectj.weaver.loadtime.ClassPreProcessorAgentAdapter.transform(ClassPreProcessorAgentAdapter.java:54) + at sun.instrument.TransformerManager.transform(TransformerManager.java:188) + at sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:428) + at java.lang.ClassLoader.defineClass1(Native Method) + at java.lang.ClassLoader.defineClass(ClassLoader.java:763) + at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) + at java.net.URLClassLoader.defineClass(URLClassLoader.java:467) + at java.net.URLClassLoader.access$100(URLClassLoader.java:73) + at java.net.URLClassLoader$1.run(URLClassLoader.java:368) + at java.net.URLClassLoader$1.run(URLClassLoader.java:362) + +org.aspectj.bridge.AbortException: trouble in: +org.codehaus.groovy.runtime.ArrayUtil + at org.aspectj.bridge.MessageWriter.handleMessage(MessageWriter.java:47) + at org.aspectj.weaver.tools.WeavingAdaptor$WeavingAdaptorMessageWriter.handleMessage(WeavingAdaptor.java:797) + at org.aspectj.weaver.tools.WeavingAdaptor$WeavingAdaptorMessageHolder.handleMessage(WeavingAdaptor.java:742) + at org.aspectj.weaver.bcel.BcelWeaver.weave(BcelWeaver.java:1730) + at org.aspectj.weaver.bcel.BcelWeaver.weaveWithoutDump(BcelWeaver.java:1633) + at org.aspectj.weaver.bcel.BcelWeaver.weaveAndNotify(BcelWeaver.java:1398) + at org.aspectj.weaver.bcel.BcelWeaver.weave(BcelWeaver.java:1184) + at org.aspectj.weaver.tools.WeavingAdaptor.getWovenBytes(WeavingAdaptor.java:527) + at org.aspectj.weaver.tools.WeavingAdaptor.weaveClass(WeavingAdaptor.java:363) + at org.aspectj.weaver.loadtime.Aj.preProcess(Aj.java:121) + at org.aspectj.weaver.loadtime.ClassPreProcessorAgentAdapter.transform(ClassPreProcessorAgentAdapter.java:54) + at sun.instrument.TransformerManager.transform(TransformerManager.java:188) + at sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:428) + at java.lang.ClassLoader.defineClass1(Native Method) + at java.lang.ClassLoader.defineClass(ClassLoader.java:763) + at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) + at java.net.URLClassLoader.defineClass(URLClassLoader.java:467) + at java.net.URLClassLoader.access$100(URLClassLoader.java:73) + at java.net.URLClassLoader$1.run(URLClassLoader.java:368) + at java.net.URLClassLoader$1.run(URLClassLoader.java:362) + at java.security.AccessController.doPrivileged(Native Method) + at java.net.URLClassLoader.findClass(URLClassLoader.java:361) + at java.lang.ClassLoader.loadClass(ClassLoader.java:424) + at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) + at java.lang.ClassLoader.loadClass(ClassLoader.java:357) + at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:214) + at com.jayway.restassured.internal.assertion.AssertParameter.notNull(AssertParameter.groovy:21) + at com.jayway.restassured.config.SSLConfig.(SSLConfig.java:192) + at com.jayway.restassured.config.SSLConfig.(SSLConfig.java:184) + at com.jayway.restassured.config.RestAssuredConfig.(RestAssuredConfig.java:41) + at com.jayway.restassured.RestAssured.(RestAssured.java:423) + at ru.qatools.school.tp.client.TPClient.callUpdate(TPClient.java:18) + at ru.qatools.school.tp.TPInformerRule.updateWithStatus(TPInformerRule.java:51) + at ru.qatools.school.tp.TPInformerRule.starting(TPInformerRule.java:27) + at org.junit.rules.TestWatcher.startingQuietly(TestWatcher.java:108) + at org.junit.rules.TestWatcher.access$000(TestWatcher.java:46) + at org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:53) + at org.junit.rules.ExternalResource$1.evaluate(ExternalResource.java:48) + at org.junit.rules.RunRules.evaluate(RunRules.java:20) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) + at org.junit.runners.ParentRunner.run(ParentRunner.java:363) + at org.junit.runner.JUnitCore.run(JUnitCore.java:137) + at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:119) + at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:42) + at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:234) + at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:74) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at com.intellij.rt.execution.application.AppMain.main(AppMain.java:144) +---- System Properties --- +java.runtime.name=Java(TM) SE Runtime Environment +tp.api.run=first +sun.boot.library.path=C:\Users\merkushev.io\Documents\jdk_1.8\jre\bin +java.vm.version=25.77-b03 +java.vm.vendor=Oracle Corporation +java.vendor.url=http://java.oracle.com/ +path.separator=; +idea.launcher.port=7533 +java.vm.name=Java HotSpot(TM) Client VM +file.encoding.pkg=sun.io +user.country=RU +user.script= +sun.java.launcher=SUN_STANDARD +sun.os.patch.level= +test=ru.qatools.school.ConnectedToTPTest +java.vm.specification.name=Java Virtual Machine Specification +user.dir=C:\Users\merkushev.io\Documents\workspace\practice2016\commons-module +java.runtime.version=1.8.0_77-b03 +java.awt.graphicsenv=sun.awt.Win32GraphicsEnvironment +java.endorsed.dirs=C:\Users\merkushev.io\Documents\jdk_1.8\jre\lib\endorsed +os.arch=x86 +java.io.tmpdir=C:\Users\MERKUS~1.IO\AppData\Local\Temp\ +line.separator= + +java.vm.specification.vendor=Oracle Corporation +user.variant= +os.name=Windows 8.1 +tp.api.token=809938ea-5f1f-40c7-8d08-2f72fb73b27c +sun.jnu.encoding=Cp1251 +java.library.path=C:\Users\merkushev.io\Documents\jdk_1.8\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\QuickTime\QTSystem\;C:\Users\merkushev.io\Documents\FirefoxPortable\App\Firefox64;. +java.specification.name=Java Platform API Specification +java.class.version=52.0 +sun.management.compiler=HotSpot Client Compiler +os.version=6.3 +user.home=C:\Users\merkushev.io +user.timezone=Europe/Moscow +java.awt.printerjob=sun.awt.windows.WPrinterJob +file.encoding=UTF-8 +idea.launcher.bin.path=C:\Users\merkushev.io\Documents\IdeaIC\IntelliJ IDEA Community Edition 2016.1.1\bin +java.specification.version=1.8 +java.class.path=C:\Users\merkushev.io\Documents\IdeaIC\IntelliJ IDEA Community Edition 2016.1.1\lib\idea_rt.jar;C:\Users\merkushev.io\Documents\IdeaIC\IntelliJ IDEA Community Edition 2016.1.1\plugins\junit\lib\junit-rt.jar;C:\Users\merkushev.io\Documents\jdk_1.8\jre\lib\charsets.jar;C:\Users\merkushev.io\Documents\jdk_1.8\jre\lib\deploy.jar;C:\Users\merkushev.io\Documents\jdk_1.8\jre\lib\ext\access-bridge-32.jar;C:\Users\merkushev.io\Documents\jdk_1.8\jre\lib\ext\access-bridge.jar;C:\Users\merkushev.io\Documents\jdk_1.8\jre\lib\ext\cldrdata.jar;C:\Users\merkushev.io\Documents\jdk_1.8\jre\lib\ext\dnsns.jar;C:\Users\merkushev.io\Documents\jdk_1.8\jre\lib\ext\jaccess.jar;C:\Users\merkushev.io\Documents\jdk_1.8\jre\lib\ext\jfxrt.jar;C:\Users\merkushev.io\Documents\jdk_1.8\jre\lib\ext\localedata.jar;C:\Users\merkushev.io\Documents\jdk_1.8\jre\lib\ext\nashorn.jar;C:\Users\merkushev.io\Documents\jdk_1.8\jre\lib\ext\sunec.jar;C:\Users\merkushev.io\Documents\jdk_1.8\jre\lib\ext\sunjce_provider.jar;C:\Users\merkushev.io\Documents\jdk_1.8\jre\lib\ext\sunmscapi.jar;C:\Users\merkushev.io\Documents\jdk_1.8\jre\lib\ext\sunpkcs11.jar;C:\Users\merkushev.io\Documents\jdk_1.8\jre\lib\ext\zipfs.jar;C:\Users\merkushev.io\Documents\jdk_1.8\jre\lib\javaws.jar;C:\Users\merkushev.io\Documents\jdk_1.8\jre\lib\jce.jar;C:\Users\merkushev.io\Documents\jdk_1.8\jre\lib\jfr.jar;C:\Users\merkushev.io\Documents\jdk_1.8\jre\lib\jfxswt.jar;C:\Users\merkushev.io\Documents\jdk_1.8\jre\lib\jsse.jar;C:\Users\merkushev.io\Documents\jdk_1.8\jre\lib\management-agent.jar;C:\Users\merkushev.io\Documents\jdk_1.8\jre\lib\plugin.jar;C:\Users\merkushev.io\Documents\jdk_1.8\jre\lib\resources.jar;C:\Users\merkushev.io\Documents\jdk_1.8\jre\lib\rt.jar;C:\Users\merkushev.io\Documents\workspace\practice2016\commons-module\target\test-classes;C:\Users\merkushev.io\Documents\workspace\practice2016\steps-module\target\classes;C:\Users\merkushev.io\.m2\repository\ru\yandex\qatools\allure\allure-junit-adaptor\1.4.23\allure-junit-adaptor-1.4.23.jar;C:\Users\merkushev.io\.m2\repository\ru\yandex\qatools\allure\allure-java-aspects\1.4.23\allure-java-aspects-1.4.23.jar;C:\Users\merkushev.io\.m2\repository\ru\yandex\qatools\allure\allure-java-adaptor-api\1.4.23\allure-java-adaptor-api-1.4.23.jar;C:\Users\merkushev.io\.m2\repository\ru\yandex\qatools\allure\allure-java-annotations\1.4.23\allure-java-annotations-1.4.23.jar;C:\Users\merkushev.io\.m2\repository\ru\yandex\qatools\allure\allure-model\1.4.23\allure-model-1.4.23.jar;C:\Users\merkushev.io\.m2\repository\org\jvnet\jaxb2_commons\jaxb2-basics-runtime\0.9.3\jaxb2-basics-runtime-0.9.3.jar;C:\Users\merkushev.io\.m2\repository\ru\yandex\qatools\properties\properties-loader\1.5\properties-loader-1.5.jar;C:\Users\merkushev.io\.m2\repository\commons-beanutils\commons-beanutils-core\1.8.3\commons-beanutils-core-1.8.3.jar;C:\Users\merkushev.io\.m2\repository\org\slf4j\slf4j-api\1.7.12\slf4j-api-1.7.12.jar;C:\Users\merkushev.io\.m2\repository\org\apache\tika\tika-core\1.7\tika-core-1.7.jar;C:\Users\merkushev.io\.m2\repository\org\aspectj\aspectjrt\1.8.3\aspectjrt-1.8.3.jar;C:\Users\merkushev.io\.m2\repository\org\seleniumhq\selenium\selenium-java\2.53.0\selenium-java-2.53.0.jar;C:\Users\merkushev.io\.m2\repository\org\seleniumhq\selenium\selenium-chrome-driver\2.53.0\selenium-chrome-driver-2.53.0.jar;C:\Users\merkushev.io\.m2\repository\org\seleniumhq\selenium\selenium-remote-driver\2.53.0\selenium-remote-driver-2.53.0.jar;C:\Users\merkushev.io\.m2\repository\com\google\code\gson\gson\2.3.1\gson-2.3.1.jar;C:\Users\merkushev.io\.m2\repository\org\seleniumhq\selenium\selenium-api\2.53.0\selenium-api-2.53.0.jar;C:\Users\merkushev.io\.m2\repository\com\google\guava\guava\19.0\guava-19.0.jar;C:\Users\merkushev.io\.m2\repository\org\seleniumhq\selenium\selenium-edge-driver\2.53.0\selenium-edge-driver-2.53.0.jar;C:\Users\merkushev.io\.m2\repository\commons-io\commons-io\2.4\commons-io-2.4.jar;C:\Users\merkushev.io\.m2\repository\org\apache\commons\commons-exec\1.3\commons-exec-1.3.jar;C:\Users\merkushev.io\.m2\repository\org\seleniumhq\selenium\selenium-firefox-driver\2.53.0\selenium-firefox-driver-2.53.0.jar;C:\Users\merkushev.io\.m2\repository\org\seleniumhq\selenium\selenium-ie-driver\2.53.0\selenium-ie-driver-2.53.0.jar;C:\Users\merkushev.io\.m2\repository\net\java\dev\jna\jna\4.1.0\jna-4.1.0.jar;C:\Users\merkushev.io\.m2\repository\net\java\dev\jna\jna-platform\4.1.0\jna-platform-4.1.0.jar;C:\Users\merkushev.io\.m2\repository\org\seleniumhq\selenium\selenium-safari-driver\2.53.0\selenium-safari-driver-2.53.0.jar;C:\Users\merkushev.io\.m2\repository\io\netty\netty\3.5.7.Final\netty-3.5.7.Final.jar;C:\Users\merkushev.io\.m2\repository\org\seleniumhq\selenium\selenium-support\2.53.0\selenium-support-2.53.0.jar;C:\Users\merkushev.io\.m2\repository\org\seleniumhq\selenium\selenium-leg-rc\2.53.0\selenium-leg-rc-2.53.0.jar;C:\Users\merkushev.io\.m2\repository\ru\yandex\qatools\htmlelements\htmlelements-java\1.15\htmlelements-java-1.15.jar;C:\Users\merkushev.io\.m2\repository\commons-lang\commons-lang\2.6\commons-lang-2.6.jar;C:\Users\merkushev.io\.m2\repository\com\googlecode\lambdaj\lambdaj\2.3.3\lambdaj-2.3.3.jar;C:\Users\merkushev.io\.m2\repository\org\objenesis\objenesis\1.2\objenesis-1.2.jar;C:\Users\merkushev.io\.m2\repository\cglib\cglib-nodep\2.2\cglib-nodep-2.2.jar;C:\Users\merkushev.io\.m2\repository\org\apache\commons\commons-lang3\3.4\commons-lang3-3.4.jar;C:\Users\merkushev.io\.m2\repository\org\hamcrest\hamcrest-all\1.3\hamcrest-all-1.3.jar;C:\Users\merkushev.io\.m2\repository\ru\yandex\qatools\htmlelements\htmlelements-matchers\1.12\htmlelements-matchers-1.12.jar;C:\Users\merkushev.io\.m2\repository\com\jayway\restassured\rest-assured\2.9.0\rest-assured-2.9.0.jar;C:\Users\merkushev.io\.m2\repository\org\codehaus\groovy\groovy\2.4.4\groovy-2.4.4.jar;C:\Users\merkushev.io\.m2\repository\org\codehaus\groovy\groovy-xml\2.4.4\groovy-xml-2.4.4.jar;C:\Users\merkushev.io\.m2\repository\org\apache\httpcomponents\httpclient\4.5.1\httpclient-4.5.1.jar;C:\Users\merkushev.io\.m2\repository\org\apache\httpcomponents\httpcore\4.4.3\httpcore-4.4.3.jar;C:\Users\merkushev.io\.m2\repository\commons-logging\commons-logging\1.2\commons-logging-1.2.jar;C:\Users\merkushev.io\.m2\repository\commons-codec\commons-codec\1.9\commons-codec-1.9.jar;C:\Users\merkushev.io\.m2\repository\org\apache\httpcomponents\httpmime\4.5.1\httpmime-4.5.1.jar;C:\Users\merkushev.io\.m2\repository\org\hamcrest\hamcrest-library\1.3\hamcrest-library-1.3.jar;C:\Users\merkushev.io\.m2\repository\org\ccil\cowan\tagsoup\tagsoup\1.2.1\tagsoup-1.2.1.jar;C:\Users\merkushev.io\.m2\repository\com\jayway\restassured\json-path\2.9.0\json-path-2.9.0.jar;C:\Users\merkushev.io\.m2\repository\org\codehaus\groovy\groovy-json\2.4.4\groovy-json-2.4.4.jar;C:\Users\merkushev.io\.m2\repository\com\jayway\restassured\rest-assured-common\2.9.0\rest-assured-common-2.9.0.jar;C:\Users\merkushev.io\.m2\repository\com\jayway\restassured\xml-path\2.9.0\xml-path-2.9.0.jar;C:\Users\merkushev.io\.m2\repository\com\tngtech\java\junit-dataprovider\1.10.4\junit-dataprovider-1.10.4.jar;C:\Users\merkushev.io\.m2\repository\junit\junit\4.12\junit-4.12.jar;C:\Users\merkushev.io\.m2\repository\org\hamcrest\hamcrest-core\1.3\hamcrest-core-1.3.jar;C:\Users\merkushev.io\.m2\repository/org/aspectj/aspectjweaver/1.8.5/aspectjweaver-1.8.5.jar +user.name=merkushev.io +java.vm.specification.version=1.8 +sun.java.command=com.intellij.rt.execution.application.AppMain com.intellij.rt.execution.junit.JUnitStarter -ideVersion5 ru.qatools.school.webtests.WeatherWebTest +java.home=C:\Users\merkushev.io\Documents\jdk_1.8\jre +sun.arch.data.model=32 +user.language=ru +java.specification.vendor=Oracle Corporation +awt.toolkit=sun.awt.windows.WToolkit +java.vm.info=mixed mode +java.version=1.8.0_77 +java.ext.dirs=C:\Users\merkushev.io\Documents\jdk_1.8\jre\lib\ext;C:\Windows\Sun\Java\lib\ext +sun.boot.class.path=C:\Users\merkushev.io\Documents\jdk_1.8\jre\lib\resources.jar;C:\Users\merkushev.io\Documents\jdk_1.8\jre\lib\rt.jar;C:\Users\merkushev.io\Documents\jdk_1.8\jre\lib\sunrsasign.jar;C:\Users\merkushev.io\Documents\jdk_1.8\jre\lib\jsse.jar;C:\Users\merkushev.io\Documents\jdk_1.8\jre\lib\jce.jar;C:\Users\merkushev.io\Documents\jdk_1.8\jre\lib\charsets.jar;C:\Users\merkushev.io\Documents\jdk_1.8\jre\lib\jfr.jar;C:\Users\merkushev.io\Documents\jdk_1.8\jre\classes +idea.junit.sm_runner= +java.vendor=Oracle Corporation +file.separator=\ +java.vendor.url.bug=http://bugreport.sun.com/bugreport/ +tp.api.endpoint=https://testpalm-school.yandex-team.ru/ +sun.io.unicode.encoding=UnicodeLittle +sun.cpu.endian=little +sun.desktop=windows +sun.cpu.isalist=pentium_pro+mmx pentium_pro pentium+mmx pentium i486 i386 i86 +---- Command Line --- +Empty +---- Full Classpath --- +Empty +---- Compiler Messages --- +Empty diff --git a/commons-module/ajcore.20160420.134534.212.txt b/commons-module/ajcore.20160420.134534.212.txt new file mode 100644 index 0000000..69c5db6 --- /dev/null +++ b/commons-module/ajcore.20160420.134534.212.txt @@ -0,0 +1,115 @@ +---- AspectJ Properties --- +AspectJ Compiler 1.8.5 built on Thursday Jan 29, 2015 at 01:03:58 GMT +---- Dump Properties --- +Dump file: ajcore.20160420.134534.212.txt +Dump reason: abort +Dump on exception: true +Dump at exit condition: abort +---- System Properties --- +java.runtime.name=Java(TM) SE Runtime Environment +tp.api.run=first +sun.boot.library.path=C:\Users\merkushev.io\Documents\jdk_1.8\jre\bin +java.vm.version=25.77-b03 +java.vm.vendor=Oracle Corporation +java.vendor.url=http://java.oracle.com/ +path.separator=; +idea.launcher.port=7533 +java.vm.name=Java HotSpot(TM) Client VM +file.encoding.pkg=sun.io +user.country=RU +user.script= +sun.java.launcher=SUN_STANDARD +sun.os.patch.level= +test=ru.qatools.school.ConnectedToTPTest +java.vm.specification.name=Java Virtual Machine Specification +user.dir=C:\Users\merkushev.io\Documents\workspace\practice2016\commons-module +java.runtime.version=1.8.0_77-b03 +java.awt.graphicsenv=sun.awt.Win32GraphicsEnvironment +java.endorsed.dirs=C:\Users\merkushev.io\Documents\jdk_1.8\jre\lib\endorsed +os.arch=x86 +java.io.tmpdir=C:\Users\MERKUS~1.IO\AppData\Local\Temp\ +line.separator= + +java.vm.specification.vendor=Oracle Corporation +user.variant= +os.name=Windows 8.1 +tp.api.token=809938ea-5f1f-40c7-8d08-2f72fb73b27c +sun.jnu.encoding=Cp1251 +java.library.path=C:\Users\merkushev.io\Documents\jdk_1.8\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\QuickTime\QTSystem\;C:\Users\merkushev.io\Documents\FirefoxPortable\App\Firefox64;. +java.specification.name=Java Platform API Specification +java.class.version=52.0 +sun.management.compiler=HotSpot Client Compiler +os.version=6.3 +user.home=C:\Users\merkushev.io +user.timezone=Europe/Moscow +java.awt.printerjob=sun.awt.windows.WPrinterJob +file.encoding=UTF-8 +idea.launcher.bin.path=C:\Users\merkushev.io\Documents\IdeaIC\IntelliJ IDEA Community Edition 2016.1.1\bin +java.specification.version=1.8 +java.class.path=C:\Users\merkushev.io\Documents\IdeaIC\IntelliJ IDEA Community Edition 2016.1.1\lib\idea_rt.jar;C:\Users\merkushev.io\Documents\IdeaIC\IntelliJ IDEA Community Edition 2016.1.1\plugins\junit\lib\junit-rt.jar;C:\Users\merkushev.io\Documents\jdk_1.8\jre\lib\charsets.jar;C:\Users\merkushev.io\Documents\jdk_1.8\jre\lib\deploy.jar;C:\Users\merkushev.io\Documents\jdk_1.8\jre\lib\ext\access-bridge-32.jar;C:\Users\merkushev.io\Documents\jdk_1.8\jre\lib\ext\access-bridge.jar;C:\Users\merkushev.io\Documents\jdk_1.8\jre\lib\ext\cldrdata.jar;C:\Users\merkushev.io\Documents\jdk_1.8\jre\lib\ext\dnsns.jar;C:\Users\merkushev.io\Documents\jdk_1.8\jre\lib\ext\jaccess.jar;C:\Users\merkushev.io\Documents\jdk_1.8\jre\lib\ext\jfxrt.jar;C:\Users\merkushev.io\Documents\jdk_1.8\jre\lib\ext\localedata.jar;C:\Users\merkushev.io\Documents\jdk_1.8\jre\lib\ext\nashorn.jar;C:\Users\merkushev.io\Documents\jdk_1.8\jre\lib\ext\sunec.jar;C:\Users\merkushev.io\Documents\jdk_1.8\jre\lib\ext\sunjce_provider.jar;C:\Users\merkushev.io\Documents\jdk_1.8\jre\lib\ext\sunmscapi.jar;C:\Users\merkushev.io\Documents\jdk_1.8\jre\lib\ext\sunpkcs11.jar;C:\Users\merkushev.io\Documents\jdk_1.8\jre\lib\ext\zipfs.jar;C:\Users\merkushev.io\Documents\jdk_1.8\jre\lib\javaws.jar;C:\Users\merkushev.io\Documents\jdk_1.8\jre\lib\jce.jar;C:\Users\merkushev.io\Documents\jdk_1.8\jre\lib\jfr.jar;C:\Users\merkushev.io\Documents\jdk_1.8\jre\lib\jfxswt.jar;C:\Users\merkushev.io\Documents\jdk_1.8\jre\lib\jsse.jar;C:\Users\merkushev.io\Documents\jdk_1.8\jre\lib\management-agent.jar;C:\Users\merkushev.io\Documents\jdk_1.8\jre\lib\plugin.jar;C:\Users\merkushev.io\Documents\jdk_1.8\jre\lib\resources.jar;C:\Users\merkushev.io\Documents\jdk_1.8\jre\lib\rt.jar;C:\Users\merkushev.io\Documents\workspace\practice2016\commons-module\target\test-classes;C:\Users\merkushev.io\Documents\workspace\practice2016\steps-module\target\classes;C:\Users\merkushev.io\.m2\repository\ru\yandex\qatools\allure\allure-junit-adaptor\1.4.23\allure-junit-adaptor-1.4.23.jar;C:\Users\merkushev.io\.m2\repository\ru\yandex\qatools\allure\allure-java-aspects\1.4.23\allure-java-aspects-1.4.23.jar;C:\Users\merkushev.io\.m2\repository\ru\yandex\qatools\allure\allure-java-adaptor-api\1.4.23\allure-java-adaptor-api-1.4.23.jar;C:\Users\merkushev.io\.m2\repository\ru\yandex\qatools\allure\allure-java-annotations\1.4.23\allure-java-annotations-1.4.23.jar;C:\Users\merkushev.io\.m2\repository\ru\yandex\qatools\allure\allure-model\1.4.23\allure-model-1.4.23.jar;C:\Users\merkushev.io\.m2\repository\org\jvnet\jaxb2_commons\jaxb2-basics-runtime\0.9.3\jaxb2-basics-runtime-0.9.3.jar;C:\Users\merkushev.io\.m2\repository\ru\yandex\qatools\properties\properties-loader\1.5\properties-loader-1.5.jar;C:\Users\merkushev.io\.m2\repository\commons-beanutils\commons-beanutils-core\1.8.3\commons-beanutils-core-1.8.3.jar;C:\Users\merkushev.io\.m2\repository\org\slf4j\slf4j-api\1.7.12\slf4j-api-1.7.12.jar;C:\Users\merkushev.io\.m2\repository\org\apache\tika\tika-core\1.7\tika-core-1.7.jar;C:\Users\merkushev.io\.m2\repository\org\aspectj\aspectjrt\1.8.3\aspectjrt-1.8.3.jar;C:\Users\merkushev.io\.m2\repository\org\seleniumhq\selenium\selenium-java\2.53.0\selenium-java-2.53.0.jar;C:\Users\merkushev.io\.m2\repository\org\seleniumhq\selenium\selenium-chrome-driver\2.53.0\selenium-chrome-driver-2.53.0.jar;C:\Users\merkushev.io\.m2\repository\org\seleniumhq\selenium\selenium-remote-driver\2.53.0\selenium-remote-driver-2.53.0.jar;C:\Users\merkushev.io\.m2\repository\com\google\code\gson\gson\2.3.1\gson-2.3.1.jar;C:\Users\merkushev.io\.m2\repository\org\seleniumhq\selenium\selenium-api\2.53.0\selenium-api-2.53.0.jar;C:\Users\merkushev.io\.m2\repository\com\google\guava\guava\19.0\guava-19.0.jar;C:\Users\merkushev.io\.m2\repository\org\seleniumhq\selenium\selenium-edge-driver\2.53.0\selenium-edge-driver-2.53.0.jar;C:\Users\merkushev.io\.m2\repository\commons-io\commons-io\2.4\commons-io-2.4.jar;C:\Users\merkushev.io\.m2\repository\org\apache\commons\commons-exec\1.3\commons-exec-1.3.jar;C:\Users\merkushev.io\.m2\repository\org\seleniumhq\selenium\selenium-firefox-driver\2.53.0\selenium-firefox-driver-2.53.0.jar;C:\Users\merkushev.io\.m2\repository\org\seleniumhq\selenium\selenium-ie-driver\2.53.0\selenium-ie-driver-2.53.0.jar;C:\Users\merkushev.io\.m2\repository\net\java\dev\jna\jna\4.1.0\jna-4.1.0.jar;C:\Users\merkushev.io\.m2\repository\net\java\dev\jna\jna-platform\4.1.0\jna-platform-4.1.0.jar;C:\Users\merkushev.io\.m2\repository\org\seleniumhq\selenium\selenium-safari-driver\2.53.0\selenium-safari-driver-2.53.0.jar;C:\Users\merkushev.io\.m2\repository\io\netty\netty\3.5.7.Final\netty-3.5.7.Final.jar;C:\Users\merkushev.io\.m2\repository\org\seleniumhq\selenium\selenium-support\2.53.0\selenium-support-2.53.0.jar;C:\Users\merkushev.io\.m2\repository\org\seleniumhq\selenium\selenium-leg-rc\2.53.0\selenium-leg-rc-2.53.0.jar;C:\Users\merkushev.io\.m2\repository\ru\yandex\qatools\htmlelements\htmlelements-java\1.15\htmlelements-java-1.15.jar;C:\Users\merkushev.io\.m2\repository\commons-lang\commons-lang\2.6\commons-lang-2.6.jar;C:\Users\merkushev.io\.m2\repository\com\googlecode\lambdaj\lambdaj\2.3.3\lambdaj-2.3.3.jar;C:\Users\merkushev.io\.m2\repository\org\objenesis\objenesis\1.2\objenesis-1.2.jar;C:\Users\merkushev.io\.m2\repository\cglib\cglib-nodep\2.2\cglib-nodep-2.2.jar;C:\Users\merkushev.io\.m2\repository\org\apache\commons\commons-lang3\3.4\commons-lang3-3.4.jar;C:\Users\merkushev.io\.m2\repository\org\hamcrest\hamcrest-all\1.3\hamcrest-all-1.3.jar;C:\Users\merkushev.io\.m2\repository\ru\yandex\qatools\htmlelements\htmlelements-matchers\1.12\htmlelements-matchers-1.12.jar;C:\Users\merkushev.io\.m2\repository\com\jayway\restassured\rest-assured\2.9.0\rest-assured-2.9.0.jar;C:\Users\merkushev.io\.m2\repository\org\codehaus\groovy\groovy\2.4.4\groovy-2.4.4.jar;C:\Users\merkushev.io\.m2\repository\org\codehaus\groovy\groovy-xml\2.4.4\groovy-xml-2.4.4.jar;C:\Users\merkushev.io\.m2\repository\org\apache\httpcomponents\httpclient\4.5.1\httpclient-4.5.1.jar;C:\Users\merkushev.io\.m2\repository\org\apache\httpcomponents\httpcore\4.4.3\httpcore-4.4.3.jar;C:\Users\merkushev.io\.m2\repository\commons-logging\commons-logging\1.2\commons-logging-1.2.jar;C:\Users\merkushev.io\.m2\repository\commons-codec\commons-codec\1.9\commons-codec-1.9.jar;C:\Users\merkushev.io\.m2\repository\org\apache\httpcomponents\httpmime\4.5.1\httpmime-4.5.1.jar;C:\Users\merkushev.io\.m2\repository\org\hamcrest\hamcrest-library\1.3\hamcrest-library-1.3.jar;C:\Users\merkushev.io\.m2\repository\org\ccil\cowan\tagsoup\tagsoup\1.2.1\tagsoup-1.2.1.jar;C:\Users\merkushev.io\.m2\repository\com\jayway\restassured\json-path\2.9.0\json-path-2.9.0.jar;C:\Users\merkushev.io\.m2\repository\org\codehaus\groovy\groovy-json\2.4.4\groovy-json-2.4.4.jar;C:\Users\merkushev.io\.m2\repository\com\jayway\restassured\rest-assured-common\2.9.0\rest-assured-common-2.9.0.jar;C:\Users\merkushev.io\.m2\repository\com\jayway\restassured\xml-path\2.9.0\xml-path-2.9.0.jar;C:\Users\merkushev.io\.m2\repository\com\tngtech\java\junit-dataprovider\1.10.4\junit-dataprovider-1.10.4.jar;C:\Users\merkushev.io\.m2\repository\junit\junit\4.12\junit-4.12.jar;C:\Users\merkushev.io\.m2\repository\org\hamcrest\hamcrest-core\1.3\hamcrest-core-1.3.jar;C:\Users\merkushev.io\.m2\repository/org/aspectj/aspectjweaver/1.8.5/aspectjweaver-1.8.5.jar +user.name=merkushev.io +java.vm.specification.version=1.8 +sun.java.command=com.intellij.rt.execution.application.AppMain com.intellij.rt.execution.junit.JUnitStarter -ideVersion5 ru.qatools.school.webtests.WeatherWebTest +java.home=C:\Users\merkushev.io\Documents\jdk_1.8\jre +sun.arch.data.model=32 +user.language=ru +java.specification.vendor=Oracle Corporation +awt.toolkit=sun.awt.windows.WToolkit +java.vm.info=mixed mode +java.version=1.8.0_77 +java.ext.dirs=C:\Users\merkushev.io\Documents\jdk_1.8\jre\lib\ext;C:\Windows\Sun\Java\lib\ext +sun.boot.class.path=C:\Users\merkushev.io\Documents\jdk_1.8\jre\lib\resources.jar;C:\Users\merkushev.io\Documents\jdk_1.8\jre\lib\rt.jar;C:\Users\merkushev.io\Documents\jdk_1.8\jre\lib\sunrsasign.jar;C:\Users\merkushev.io\Documents\jdk_1.8\jre\lib\jsse.jar;C:\Users\merkushev.io\Documents\jdk_1.8\jre\lib\jce.jar;C:\Users\merkushev.io\Documents\jdk_1.8\jre\lib\charsets.jar;C:\Users\merkushev.io\Documents\jdk_1.8\jre\lib\jfr.jar;C:\Users\merkushev.io\Documents\jdk_1.8\jre\classes +idea.junit.sm_runner= +java.vendor=Oracle Corporation +file.separator=\ +java.vendor.url.bug=http://bugreport.sun.com/bugreport/ +tp.api.endpoint=https://testpalm-school.yandex-team.ru/ +sun.io.unicode.encoding=UnicodeLittle +sun.cpu.endian=little +sun.desktop=windows +sun.cpu.isalist=pentium_pro+mmx pentium_pro pentium+mmx pentium i486 i386 i86 +---- Command Line --- +Empty +---- Full Classpath --- +Empty +---- Compiler Messages --- +info AspectJ Weaver Version 1.8.5 built on Thursday Jan 29, 2015 at 01:03:58 GMT +info register classloader sun.misc.Launcher$AppClassLoader@b4aac2 +info using configuration file:/C:/Users/merkushev.io/.m2/repository/ru/yandex/qatools/allure/allure-java-aspects/1.4.23/allure-java-aspects-1.4.23.jar!/META-INF/aop-ajc.xml +abort trouble in: +org.codehaus.groovy.runtime.ArrayUtil -- (OutOfMemoryError) Java heap space +Java heap space +java.lang.OutOfMemoryError: Java heap space + at java.util.HashMap.newNode(HashMap.java:1734) + at java.util.HashMap.putVal(HashMap.java:630) + at java.util.HashMap.put(HashMap.java:611) + at java.util.HashSet.add(HashSet.java:219) + at org.aspectj.apache.bcel.generic.InstructionHandle.addTargeter(InstructionHandle.java:161) + at org.aspectj.apache.bcel.generic.MethodGen.(MethodGen.java:300) + at org.aspectj.weaver.bcel.LazyMethodGen.initialize(LazyMethodGen.java:366) + at org.aspectj.weaver.bcel.LazyMethodGen.markAsChanged(LazyMethodGen.java:534) + at org.aspectj.weaver.bcel.LazyMethodGen.getBody(LazyMethodGen.java:924) + at org.aspectj.weaver.bcel.BcelShadow.makeShadowForMethod(BcelShadow.java:679) + at org.aspectj.weaver.bcel.BcelShadow.makeMethodExecution(BcelShadow.java:675) + at org.aspectj.weaver.bcel.BcelShadow.makeMethodExecution(BcelShadow.java:655) + at org.aspectj.weaver.bcel.BcelClassWeaver.match(BcelClassWeaver.java:2664) + at org.aspectj.weaver.bcel.BcelClassWeaver.weave(BcelClassWeaver.java:480) + at org.aspectj.weaver.bcel.BcelClassWeaver.weave(BcelClassWeaver.java:100) + at org.aspectj.weaver.bcel.BcelWeaver.weave(BcelWeaver.java:1689) + at org.aspectj.weaver.bcel.BcelWeaver.weaveWithoutDump(BcelWeaver.java:1633) + at org.aspectj.weaver.bcel.BcelWeaver.weaveAndNotify(BcelWeaver.java:1398) + at org.aspectj.weaver.bcel.BcelWeaver.weave(BcelWeaver.java:1184) + at org.aspectj.weaver.tools.WeavingAdaptor.getWovenBytes(WeavingAdaptor.java:527) + at org.aspectj.weaver.tools.WeavingAdaptor.weaveClass(WeavingAdaptor.java:363) + at org.aspectj.weaver.loadtime.Aj.preProcess(Aj.java:121) + at org.aspectj.weaver.loadtime.ClassPreProcessorAgentAdapter.transform(ClassPreProcessorAgentAdapter.java:54) + at sun.instrument.TransformerManager.transform(TransformerManager.java:188) + at sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:428) + at java.lang.ClassLoader.defineClass1(Native Method) + at java.lang.ClassLoader.defineClass(ClassLoader.java:763) + at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) + at java.net.URLClassLoader.defineClass(URLClassLoader.java:467) + at java.net.URLClassLoader.access$100(URLClassLoader.java:73) + at java.net.URLClassLoader$1.run(URLClassLoader.java:368) + at java.net.URLClassLoader$1.run(URLClassLoader.java:362) + diff --git a/commons-module/pom.xml b/commons-module/pom.xml index b1372c7..97cb03e 100644 --- a/commons-module/pom.xml +++ b/commons-module/pom.xml @@ -21,6 +21,11 @@ steps-module ${project.version} + + ru.qatools.school + dbclient-module + ${project.version} + com.tngtech.java junit-dataprovider diff --git a/commons-module/src/test/java/ru/qatools/school/MyFirstTest.java b/commons-module/src/test/java/ru/qatools/school/MyFirstTest.java index 7b9da2e..e594bdc 100644 --- a/commons-module/src/test/java/ru/qatools/school/MyFirstTest.java +++ b/commons-module/src/test/java/ru/qatools/school/MyFirstTest.java @@ -1,53 +1,23 @@ 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; +import static ru.qatools.school.data.Place.*; +import static ru.qatools.school.steps.UserSteps.*; /** * @author gladnik (Nikolai Gladkov) */ -@RunWith(DataProviderRunner.class) public class MyFirstTest { - @DataProvider - public static List places() { - List placesList - = new ArrayList(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); + public void shouldBeAtHomeWhenGoToHome() { + user().goTo(HOME).shouldBeAtPlace(HOME); } @Test - public void afterGoSomewhereElseShouldBeThere() { - user().goTo(Place.HOME).goTo(Place.AT_YANDEX) - .shouldBeAtPlace(Place.AT_YANDEX); + public void shouldBeAtYandexWhenGoToYandex() { + user().goTo(AT_YANDEX).shouldBeAtPlace(AT_YANDEX); } } diff --git a/commons-module/src/test/java/ru/qatools/school/webtests/WeatherWebTest.java b/commons-module/src/test/java/ru/qatools/school/webtests/WeatherWebTest.java index a4c5a40..097c24d 100644 --- a/commons-module/src/test/java/ru/qatools/school/webtests/WeatherWebTest.java +++ b/commons-module/src/test/java/ru/qatools/school/webtests/WeatherWebTest.java @@ -6,31 +6,126 @@ 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; +import ru.yandex.qatools.allure.annotations.TestCaseId; import ru.yandex.qatools.allure.annotations.Title; + public class WeatherWebTest { - public static final String MOSCOW = "Moscow"; + private static final String MOSCOW = "Moscow"; + private static final String SPB = "Saint Petersburg"; private DefaultSteps defaultSteps; @Rule public WebDriverRule webDriverRule = new WebDriverRule(); + //@Rule + //public TPInformerRule tms = new TPInformerRule("merkushevio"); + @Before public void initSteps() { defaultSteps = new DefaultSteps(webDriverRule.getDriver()); } + private MainPage onMainPage() { + return new MainPage(webDriverRule.getDriver()); + } + @Test + @TestCaseId("1") @Title("Должны видеть виджет на главной странице") public void shouldSeeWidgetOnMainPage() { defaultSteps.openMainPageWithCity(MOSCOW); - defaultSteps.shouldSee(onMainPage().getWeatherWidget().get(0)); + defaultSteps.shouldSee(onMainPage().getWeatherWidgets().get(0)); + defaultSteps.shouldSeeTitleWidgetEqualCity(MOSCOW); + defaultSteps.shouldSeeWidgetElements(); } - private MainPage onMainPage() { - return new MainPage(webDriverRule.getDriver()); + @Test + @Title("Должны увидеть главную страницу только с кнопокой добавить виджет") + @TestCaseId("2") + public void shouldSeeButtonOnMainPage() { + defaultSteps.openMainPageWithCity(""); + defaultSteps.shouldSeeButtonAddWidgetOnMainPage(); + defaultSteps.shouldSeeOnlyButtonAddWidget(); + } + + @Test + @Title("Должны увидеть главную страницу только с кнопкой добавить виджет") + @TestCaseId("3") + public void shouldSeeButtonAddWidgetOnMainPageWithoutParameter() { + defaultSteps.shouldSeeButtonOnlyAddWidgetOnMainPageWithoutParameter(); + defaultSteps.shouldSeeOnlyButtonAddWidget(); + } + + @Test + @Title("Можем добавлять виджет на главной странице") + @TestCaseId("4") + public void shouldSeeAddWidgetOnMainPage() { + defaultSteps.openMainPageWithCity(MOSCOW); + defaultSteps.shouldSeeWidgetAdd(); + } + + @Test + @Title("Можем удалить второй виджет на главной странице") + @TestCaseId("9") + public void shouldSeeRemoveSecondWidgetOnMainPage() { + defaultSteps.openMainPageWithCity(SPB); + defaultSteps.shouldSeeWidgetAdd(); + defaultSteps.shouldSeeWidgetRemove(); + } + + @Test + @Title("Может удалить последний виджет на главной странице") + @TestCaseId("10") + public void shouldSeeRemoveLastWidgetOnMainPage() { + defaultSteps.openMainPageWithCity(SPB); + defaultSteps.shouldSeeWidgetRemove(); + } + + @Test + @Title("Должны увидеть автозаполнение при не полном наборе названия") + @TestCaseId("12") + public void shouldAutoCompleteCity() { + defaultSteps.openMainPageWithCity(MOSCOW); + defaultSteps.shouldAutocompliteCity(SPB); } + @Test + @Title("Можем переименовать виджет") + @TestCaseId("11") + public void shouldSeeRenameWidget() { + defaultSteps.openMainPageWithCity(MOSCOW); + defaultSteps.shouldSeeRenameWidget(MOSCOW, SPB); + } + + @Test + @Title("Можем очистить название виджета, после чего назначить новое имя") + @TestCaseId("13") + public void shouldSeeClearWidgetName() { + defaultSteps.openMainPageWithCity(SPB); + defaultSteps.shouldSeeRenameWidget(SPB, ""); + defaultSteps.shouldSeeRenameWidget("", SPB); + } + + @Test + @Title("Можем написать не полное имя виджета") + @TestCaseId("14") + public void shouldSeeNotFullNameWidget() { + defaultSteps.openMainPageWithCity(MOSCOW); + defaultSteps.shouldSeeRenameWidget(MOSCOW, SPB.substring(0, SPB.length() / 3)); + } + + @Test + @Title("Можем менять форматы вывода градусов") + @ru.yandex.qatools.allure.annotations.TestCaseId("15") + public void shouldSeeChangeFormatDegree() { + defaultSteps.openMainPageWithCity(SPB); + defaultSteps.shouldSeeChangeFormatTemperature(); + } } + + + diff --git a/dbclient-module/pom.xml b/dbclient-module/pom.xml new file mode 100644 index 0000000..2994039 --- /dev/null +++ b/dbclient-module/pom.xml @@ -0,0 +1,28 @@ + + + + school-2016 + ru.qatools.school + 1.0-SNAPSHOT + + 4.0.0 + + dbclient-module + + + + org.jooq + jooq + 3.7.3 + + + mysql + mysql-connector-java + 5.1.6 + + + + + \ No newline at end of file diff --git a/dbclient-module/src/main/java/ru/qatools/school/DbClient.java b/dbclient-module/src/main/java/ru/qatools/school/DbClient.java new file mode 100644 index 0000000..d91d4c6 --- /dev/null +++ b/dbclient-module/src/main/java/ru/qatools/school/DbClient.java @@ -0,0 +1,49 @@ +package ru.qatools.school; + +import org.jooq.*; +import org.jooq.impl.DSL; + +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.SQLException; + +import static org.jooq.impl.DSL.field; +import static org.jooq.impl.DSL.table; + +/** + * Created by omaz on 27.04.16. + */ +public class DbClient { + private static final String CONNECTION_STRING = + System.getProperty("db.url", "jdbc:mysql://db.weather.lanwen.ru:3306/weather"); + private static final String USER = System.getProperty("db.user", "autoschool"); + private static final String PASSWORD = System.getProperty("db.password", "ya2016"); + + private Connection connection; + private DSLContext create; + + public DbClient() { + try { + connection = DriverManager.getConnection(CONNECTION_STRING, USER, PASSWORD); + } catch (SQLException e) { + throw new DbClientException("Не удалось установить подключение к " + CONNECTION_STRING, e); + } + create = DSL.using(connection, SQLDialect.MYSQL); + } + + public String getCityById(Integer id) { + Record1 result = create.select(field("name")) + .from(table("City")) + .where(field("id").equal(id)) + .fetchOne(); + return result.getValue(0, String.class); + } + + public void close() { + try { + connection.close(); + } catch (SQLException e) { + throw new DbClientException("Не удалось закрыть подключение к " + CONNECTION_STRING, e); + } + } +} diff --git a/dbclient-module/src/main/java/ru/qatools/school/DbClientException.java b/dbclient-module/src/main/java/ru/qatools/school/DbClientException.java new file mode 100644 index 0000000..31e9e94 --- /dev/null +++ b/dbclient-module/src/main/java/ru/qatools/school/DbClientException.java @@ -0,0 +1,25 @@ +package ru.qatools.school; + +/** + * Created by omaz on 27.04.16. + */ +public class DbClientException extends RuntimeException { + public DbClientException() { + } + + public DbClientException(String message) { + super(message); + } + + public DbClientException(String message, Throwable cause) { + super(message, cause); + } + + public DbClientException(Throwable cause) { + super(cause); + } + + public DbClientException(String message, Throwable cause, boolean enableSuppression, boolean writableStackTrace) { + super(message, cause, enableSuppression, writableStackTrace); + } +} diff --git a/pom.xml b/pom.xml index a32202a..1ca9549 100644 --- a/pom.xml +++ b/pom.xml @@ -15,6 +15,7 @@ steps-module commons-module + dbclient-module @@ -43,7 +44,7 @@ rest-assured 2.9.0 - + ru.yandex.qatools.allure allure-junit-adaptor @@ -117,4 +118,4 @@ - + \ No newline at end of file diff --git a/steps-module/pom.xml b/steps-module/pom.xml index 9bcfe79..d9f417d 100644 --- a/steps-module/pom.xml +++ b/steps-module/pom.xml @@ -1,18 +1,17 @@ - - 4.0.0 - school-2016 ru.qatools.school 1.0-SNAPSHOT - steps-module + 4.0.0 jar + steps-module Logic Module @@ -45,7 +44,12 @@ com.jayway.restassured rest-assured - + + + org.projectlombok + lombok + 1.16.6 + diff --git a/steps-module/src/main/java/ru/qatools/school/pages/MainPage.java b/steps-module/src/main/java/ru/qatools/school/pages/MainPage.java index 4d75376..c125b0c 100644 --- a/steps-module/src/main/java/ru/qatools/school/pages/MainPage.java +++ b/steps-module/src/main/java/ru/qatools/school/pages/MainPage.java @@ -1,6 +1,8 @@ package ru.qatools.school.pages; +import lombok.Getter; import org.openqa.selenium.WebDriver; +import org.openqa.selenium.WebElement; import org.openqa.selenium.support.FindBy; import org.openqa.selenium.support.PageFactory; import ru.qatools.school.pages.blocks.WeatherWidget; @@ -13,18 +15,71 @@ /** * Created by kurau. */ + +@Getter public class MainPage { public MainPage(WebDriver driver) { PageFactory.initElements(new HtmlElementDecorator(new HtmlElementLocatorFactory(driver)), this); } + private MainPage mainPage = this; + @Name("Список виджетов") @FindBy(css = ".card.card_md") - private List weatherWidget; + private List weatherWidgets; - public List getWeatherWidget() { - return weatherWidget; - } + @Name("Список городов") + @FindBy(css = ".inplace.inplace_displayed") + private List places; + + @Name("Добавление нового виджета") + @FindBy(css = ".new-card") + private WebElement addWidget; + + @Name("Список элементов отображения температуры") + @FindBy(css = "weather-temperature.md-12") + private List listTemperatures; + + @Name("Редактируемое поле названия города") + @FindBy(css = "input.inplace.inplace_editable") + private WebElement editPlace; + + @Name("Выпадающий список значений автодополнений") + @FindBy(css = "span.city__name") + private List autoCompleteValues; + + @Name("Заголовки показателей") + @FindBy(css = "span.info-line__title") + private List titleValues; + + @Name("Данные показателей погоды") + @FindBy(css = "span.info-line__value") + private List infoValues; + + @Name("Строки отображения времени") + @FindBy(css = ".card-title__secondary>div>div") + private List timeOnWidget; + + @Name("Изображение рассвета") + @FindBy(css = ".wi.wi-sunrise") + private WebElement sunrise; + + @Name("Изображение заката") + @FindBy(css = ".wi.wi-sunset") + private WebElement sunset; + + @Name("Изображение скорости ветра") + @FindBy(css = ".wi.wi-strong-wind") + private WebElement wind; + + @Name("Изображение влажности") + @FindBy(css = ".wi.wi-raindrops") + private WebElement humidity; + + //Поиск элемента по маске + @Name("Основное изображение на виджете") + @FindBy(css = ".wi.weather-image") + private WebElement mainImage; } diff --git a/steps-module/src/main/java/ru/qatools/school/pages/blocks/WeatherWidget.java b/steps-module/src/main/java/ru/qatools/school/pages/blocks/WeatherWidget.java index 3990d85..6b55ee7 100644 --- a/steps-module/src/main/java/ru/qatools/school/pages/blocks/WeatherWidget.java +++ b/steps-module/src/main/java/ru/qatools/school/pages/blocks/WeatherWidget.java @@ -8,6 +8,8 @@ import ru.yandex.qatools.htmlelements.annotations.Name; import ru.yandex.qatools.htmlelements.element.HtmlElement; +import java.util.List; + /** * Created by kurau. */ @@ -25,6 +27,22 @@ public class WeatherWidget extends HtmlElement { @FindBy(css = ".card-actions") private WebElement actions; + @Name("Название города в виджете") + @FindBy(css = ".inplace.inplace_displayed") + private WebElement place; + + @Name("Кнопка удаления виджета") + @FindBy(css = ".remove-card.btn.btn-default") + private WebElement removeBtn; + + @Name("Блок отображения температуры") + @FindBy(css = ".weather-temperature.md-12") + private WebElement weatherBlock; + + @Name("Единица измерения температуры") + @FindBy(css = ".weather-temperature__unit") + private WebElement weatherType; + public WidgetText getWidgetText() { return widgetText; } @@ -37,6 +55,22 @@ public WebElement getActions() { return actions; } + public WebElement getPlace() { + return place; + } + + public WebElement getRemoveBtn() { + return removeBtn; + } + + public WebElement getWeatherBlock() { + return weatherBlock; + } + + public WebElement getWeatherType() { + return weatherType; + } + public Rectangle getRect() { return null; } diff --git a/steps-module/src/main/java/ru/qatools/school/pages/blocks/widgetblocks/WidgetTitle.java b/steps-module/src/main/java/ru/qatools/school/pages/blocks/widgetblocks/WidgetTitle.java index 8a88782..2e30893 100644 --- a/steps-module/src/main/java/ru/qatools/school/pages/blocks/widgetblocks/WidgetTitle.java +++ b/steps-module/src/main/java/ru/qatools/school/pages/blocks/widgetblocks/WidgetTitle.java @@ -1,6 +1,9 @@ package ru.qatools.school.pages.blocks.widgetblocks; import org.openqa.selenium.Rectangle; +import org.openqa.selenium.WebElement; +import org.openqa.selenium.support.FindBy; +import ru.yandex.qatools.htmlelements.annotations.Name; import ru.yandex.qatools.htmlelements.element.HtmlElement; /** @@ -11,4 +14,5 @@ public class WidgetTitle extends HtmlElement { public Rectangle getRect() { return null; } + } diff --git a/steps-module/src/main/java/ru/qatools/school/rules/WebDriverRule.java b/steps-module/src/main/java/ru/qatools/school/rules/WebDriverRule.java index 418c363..89431af 100644 --- a/steps-module/src/main/java/ru/qatools/school/rules/WebDriverRule.java +++ b/steps-module/src/main/java/ru/qatools/school/rules/WebDriverRule.java @@ -4,6 +4,8 @@ import org.openqa.selenium.WebDriver; import org.openqa.selenium.firefox.FirefoxDriver; +import java.util.concurrent.TimeUnit; + /** * Created by kurau. */ @@ -13,6 +15,8 @@ public class WebDriverRule extends ExternalResource { protected void before() throws Throwable { this.driver = new FirefoxDriver(); + driver.manage().window().maximize(); + driver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS); } protected void after() { diff --git a/steps-module/src/main/java/ru/qatools/school/steps/UserSteps.java b/steps-module/src/main/java/ru/qatools/school/steps/UserSteps.java index f22648c..d3504c9 100644 --- a/steps-module/src/main/java/ru/qatools/school/steps/UserSteps.java +++ b/steps-module/src/main/java/ru/qatools/school/steps/UserSteps.java @@ -26,8 +26,7 @@ public UserSteps goTo(Place place) { return this; } - public UserSteps shouldBeAtPlace(Place expectedPlace) { - assertThat("Places should match!", this.place, is(expectedPlace)); - return this; + public void shouldBeAtPlace(Place expectedPlace) { + assertThat(this.place, is(expectedPlace)); } } diff --git a/steps-module/src/main/java/ru/qatools/school/steps/websteps/DefaultSteps.java b/steps-module/src/main/java/ru/qatools/school/steps/websteps/DefaultSteps.java index 1425a42..164fb04 100644 --- a/steps-module/src/main/java/ru/qatools/school/steps/websteps/DefaultSteps.java +++ b/steps-module/src/main/java/ru/qatools/school/steps/websteps/DefaultSteps.java @@ -6,6 +6,8 @@ import ru.yandex.qatools.allure.annotations.Step; import static java.lang.String.format; +import static org.hamcrest.core.Is.is; +import static org.hamcrest.core.IsEqual.equalTo; import static org.junit.Assert.assertThat; import static ru.yandex.qatools.htmlelements.matchers.WebElementMatchers.isDisplayed; @@ -14,7 +16,9 @@ */ public class DefaultSteps { - public static final String MAIN_PAGE = "http://weather.lanwen.ru/#?cities=%s"; + private static final String MAIN_PAGE = "http://weather.lanwen.ru/#?cities=%s"; + private static final String MAIN_PAGE_WITHOUT_PARAMETERS = "http://weather.lanwen.ru/"; + private WebDriver driver; @@ -27,12 +31,101 @@ public void openMainPageWithCity(String city) { driver.get(format(MAIN_PAGE, city)); } - @Step("Должны видеть на странице «{0}»") - public void shouldSee(WebElement element) { - assertThat("Должны видеть элемент", element, isDisplayed()); + @Step("Открываем главную страницу без параметра»") + public void openMainPageWithoutParameter() { + driver.get(MAIN_PAGE_WITHOUT_PARAMETERS); + } + + @Step("Должны видеть на странице элементы") + public void shouldSee(WebElement... elements) { + for (WebElement element : elements) { + assertThat("Не отображается элемент: " + element.getAttribute("class") + + " and value: " + element.getAttribute("value"), + element, isDisplayed()); + } + } + + @Step("Заголовок виджета должен совпадать с запрошенным городом") + public void shouldSeeTitleWidgetEqualCity(String city) { + assertThat("Заголовок города равен названию виджета", + onMainPage().getPlaces().get(0).getText(), equalTo(city)); + } + + @Step("На главной странице без виджетов отображается кнопка добавить виджет") + public void shouldSeeButtonAddWidgetOnMainPage() { + shouldSee(onMainPage().getAddWidget()); + } + + @Step("На главной странице должна быть только кнопка добавления города") + public void shouldSeeOnlyButtonAddWidget() { + shouldSee(onMainPage().getAddWidget()); + assertThat("На главной странице есть виджеты", + widgetSteps().getAllWidgets().size(), is(0)); + } + + @Step("Должны увидеть главную страницу с кнопкой добавить виджет") + public void shouldSeeButtonOnlyAddWidgetOnMainPageWithoutParameter() { + openMainPageWithoutParameter(); + assertThat("На главной странице не отображатся кнопка добавить виджет", onMainPage().getAddWidget(), isDisplayed()); + } + + @Step("На главной странице переименование название виджета") + public void shouldSeeRenameWidget(String oldName, String newName) { + widgetSteps().renameWidget(oldName, newName); + shouldSee(widgetSteps().findElement(widgetSteps().getAllPlaces(), newName)); + assertThat("Новое название в списке названий виджетов не найдено", newName, + equalTo(widgetSteps().getAllPlaces().get(0).getText())); + } + + @Step("На главной странице виджеты добавляются") + public void shouldSeeWidgetAdd() { + int count = widgetSteps().countWidgets(); + widgetSteps().addWidget(); + assertThat("Количество виджетов не увеличилось", + widgetSteps().getAllPlaces().size(), is(count + 1)); + } + + @Step("На главной странице виджет можно удалить") + public void shouldSeeWidgetRemove() { + int count = widgetSteps().countWidgets(); + onMainPage().getWeatherWidgets().get(0).getRemoveBtn().click(); + assertThat("Количество виджетов не уменьшилось после удаления одного виджета", + widgetSteps().countWidgets(), is(count - 1)); + } + + @Step("На ввод не полного названия города должно срабатывать автозаполнение") + public void shouldAutocompliteCity(String city) { + widgetSteps().autoComplete(city); + assertThat("Заголовок города равен названию набираемого города", + widgetSteps().getAllPlaces().get(0).getText(), equalTo(city)); + } + + @Step("На главной странице меняется формат градусов") + public void shouldSeeChangeFormatTemperature() { + widgetSteps().shouldSeeTemperatureCelcium(); + widgetSteps().shouldSeeChangeFormatDegreeCelciumToKelvin(); + widgetSteps().shouldSeeChangeFormatDegreeKelvinToFarengeit(); + widgetSteps().shouldSeeChangeFormatDegreeFarengeitToKaif(); + } + + public void shouldSeeWidgetElements() { + shouldSee(onMainPage().getTitleValues(). + toArray(new WebElement[onMainPage().getTitleValues().size()])); + + shouldSee(onMainPage().getHumidity(), onMainPage().getSunrise(), + onMainPage().getSunset(), onMainPage().getWind()); + + widgetSteps().shouldSeeFormatTimeSunrise(); + widgetSteps().shouldSeeFormatTimeSunset(); + widgetSteps().shouldSeeFormatSpeedWind(); + widgetSteps().shouldSeeFormatHumidity(); } private MainPage onMainPage() { return new MainPage(driver); } + + private WidgetSteps widgetSteps() { + return new WidgetSteps(driver); + } } diff --git a/steps-module/src/main/java/ru/qatools/school/steps/websteps/EXPECT_STRING.java b/steps-module/src/main/java/ru/qatools/school/steps/websteps/EXPECT_STRING.java new file mode 100644 index 0000000..f4b8ce9 --- /dev/null +++ b/steps-module/src/main/java/ru/qatools/school/steps/websteps/EXPECT_STRING.java @@ -0,0 +1,20 @@ +package ru.qatools.school.steps.websteps; + +public enum EXPECT_STRING { + CELCIUM("°C"), KELVIN("°K"), FARINGEIT("°F"), KAIF("°Kaif"), + SUNRISE_TIME("^[0-2][0-9]:[0-5][0-9]$"), + SUNSET_TIME("^[0-2][0-9]:[0-5][0-9]$"), + WIND_SPEED("^\\d+.?\\d+ m/s"), + HUMIDITY_VALUE("^[0-9]+ %"); + + private String value; + + EXPECT_STRING(String value) { + this.value = value; + } + + @Override + public String toString() { + return value; + } +} diff --git a/steps-module/src/main/java/ru/qatools/school/steps/websteps/WebDriverMatchers.java b/steps-module/src/main/java/ru/qatools/school/steps/websteps/WebDriverMatchers.java new file mode 100644 index 0000000..87ec8cc --- /dev/null +++ b/steps-module/src/main/java/ru/qatools/school/steps/websteps/WebDriverMatchers.java @@ -0,0 +1,55 @@ +package ru.qatools.school.steps.websteps; + +import org.hamcrest.Description; +import org.hamcrest.Matcher; +import org.hamcrest.TypeSafeDiagnosingMatcher; +import org.openqa.selenium.WebElement; + +import java.util.List; +import java.util.regex.Pattern; + +/** + * Created by merkushevio on 29.04.2016. + */ + +public class WebDriverMatchers { + + public static Matcher stringMatcher(String regexp) { + return new TypeSafeDiagnosingMatcher() { + @Override + protected boolean matchesSafely(String s, Description description) { + Pattern pattern = Pattern.compile(regexp); + java.util.regex.Matcher matcher = pattern.matcher(s); + description.appendText("String is " + s); + return matcher.matches(); + } + + @Override + public void describeTo(Description description) { + description.appendText("expected string format"); + } + }; + } + + public static Matcher hasItem(List list) { + return new TypeSafeDiagnosingMatcher() { + @Override + public void describeTo(Description description) { + description.appendText("expected list"); + } + + @Override + protected boolean matchesSafely(String word, Description mismatch) { + for (WebElement widget : list) { + if (widget.getText().equals(word)) { + mismatch.appendText("return string was ") + .appendText(widget.getText()); + return true; + } + } + + return false; + } + }; + } +} diff --git a/steps-module/src/main/java/ru/qatools/school/steps/websteps/WidgetSteps.java b/steps-module/src/main/java/ru/qatools/school/steps/websteps/WidgetSteps.java new file mode 100644 index 0000000..f0351b6 --- /dev/null +++ b/steps-module/src/main/java/ru/qatools/school/steps/websteps/WidgetSteps.java @@ -0,0 +1,140 @@ +package ru.qatools.school.steps.websteps; + +import org.openqa.selenium.Keys; +import org.openqa.selenium.WebDriver; +import org.openqa.selenium.WebElement; +import ru.qatools.school.pages.MainPage; +import ru.qatools.school.pages.blocks.WeatherWidget; +import ru.yandex.qatools.allure.annotations.Step; + +import java.util.List; + +import static org.hamcrest.core.IsEqual.equalTo; +import static org.junit.Assert.assertThat; + +/** + * Created by merkushevio on 22.04.2016. + */ +public class WidgetSteps { + private WebDriver driver; + + public WidgetSteps(WebDriver driver) { + this.driver = driver; + mainPage = new MainPage(driver); + } + + private MainPage mainPage; + + @Step("Должны увидеть изменение формата вывода градусов") + public void shouldSeeChangeFormatDegreeCelciumToKelvin() { + getAllWidgets().get(0).getWeatherBlock().click(); + assertThat("Не изменился формат вывода с градусов цельсия в градусы кельвина", + getAllWidgets().get(0).getWeatherType().getText(), + equalTo(EXPECT_STRING.KELVIN.toString())); + } + + @Step("Должны увидеть изменение формата вывода градусов") + public void shouldSeeChangeFormatDegreeKelvinToFarengeit() { + getAllWidgets().get(0).getWeatherBlock().click(); + assertThat("Не изменился формат вывода с градусов в кельвинах в градусы фаренгейта", + getAllWidgets().get(0).getWeatherType().getText(), + equalTo(EXPECT_STRING.FARINGEIT.toString())); + } + + @Step("Должны увидеть изменение формата вывода градусов") + public void shouldSeeChangeFormatDegreeFarengeitToKaif() { + getAllWidgets().get(0).getWeatherBlock().click(); + assertThat("Не изменился формат вывода с градусов фаренгейта в градусы °Kaif", + getAllWidgets().get(0).getWeatherType().getText(), + equalTo(EXPECT_STRING.KAIF.toString())); + } + + @Step("Начальное открытие виджета, единица измерений температуры Цельсий") + public void shouldSeeTemperatureCelcium() { + assertThat("Начальное значение температуры не в Цельсиях", + getAllWidgets().get(0).getWeatherType().getText(), + equalTo(EXPECT_STRING.CELCIUM.toString())); + } + + @Step("Формат времени для значения поля рассвет должен быть 'xx:xx'") + public void shouldSeeFormatTimeSunrise() { + assertThat("Формат времени для значения поля рассвет не 'xx:xx'", + mainPage.getInfoValues().get(0).getText(), + WebDriverMatchers.stringMatcher(EXPECT_STRING.SUNRISE_TIME.toString())); + } + + @Step("Формат времени для значения поля закат должен быть 'xx:xx'") + public void shouldSeeFormatTimeSunset() { + assertThat("Формат времени для значения поля закат не 'xx:xx'", + mainPage.getInfoValues().get(1).getText(), + WebDriverMatchers.stringMatcher(EXPECT_STRING.SUNSET_TIME.toString())); + } + + @Step("Формат времени для значения поля скорость ветра должен быть 'xx m/s'") + public void shouldSeeFormatSpeedWind() { + assertThat("Формат времени для значения поля скорость ветра не 'xx m/s'", + mainPage.getInfoValues().get(2).getText(), + WebDriverMatchers.stringMatcher(EXPECT_STRING.WIND_SPEED.toString())); + } + + + @Step("Формат времени для значения поля влажность должен быть 'xx %'") + public void shouldSeeFormatHumidity() { + assertThat("Формат времени для значения поля влажность не 'xx %'", + mainPage.getInfoValues().get(3).getText(), + WebDriverMatchers.stringMatcher(EXPECT_STRING.HUMIDITY_VALUE.toString())); + } + + public void addWidget() { + mainPage.getAddWidget().click(); + } + + public WebElement findElement(List list, String name) { + for (WebElement element : list) { + if (element.getText().equals(name)) { + return element; + } + } + return null; + } + + public void renameWidget(String oldName, String newName) { + findElement(getAllPlaces(), oldName).click(); + mainPage.getEditPlace().clear(); + mainPage.getEditPlace().sendKeys(newName); + mainPage.getEditPlace().sendKeys(Keys.RETURN); + } + + public int countWidgets() { + return mainPage.getWeatherWidgets().size(); + } + + public List getAllWidgets() { + return mainPage.getWeatherWidgets(); + } + + public List getAllPlaces() { + return mainPage.getPlaces(); + } + + public List getTitleValues() { + return mainPage.getTitleValues(); + } + + public void autoComplete(String city) { + mainPage.getPlaces().get(0).click(); + mainPage.getEditPlace().clear(); + mainPage.getEditPlace().sendKeys(city.substring(0, city.length() / 2)); + WebElement element = null; + List widget = mainPage.getAutoCompleteValues(); + for (WebElement elem : widget) { + if (elem.getText().equals(city)) { + element = elem; + } + } + element.click(); + } + + + +}