From ba04e03862c23b3de73cb50fd633ab7a581e9466 Mon Sep 17 00:00:00 2001 From: Igor Merkushev Date: Thu, 14 Apr 2016 20:58:41 +0300 Subject: [PATCH 01/82] init second practice webtest widgets --- .../school/webtests/WeatherWebTest.java | 18 +++++++++++++++++ .../ru/qatools/school/pages/MainPage.java | 1 + .../school/steps/websteps/DefaultSteps.java | 20 +++++++++++++++++++ 3 files changed, 39 insertions(+) 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..cfb32c1 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,8 +6,11 @@ import ru.qatools.school.pages.MainPage; import ru.qatools.school.rules.WebDriverRule; import ru.qatools.school.steps.websteps.DefaultSteps; +import ru.yandex.qatools.allure.annotations.Step; import ru.yandex.qatools.allure.annotations.Title; +import static org.junit.Assert.assertThat; + public class WeatherWebTest { public static final String MOSCOW = "Moscow"; @@ -29,8 +32,23 @@ public void shouldSeeWidgetOnMainPage() { defaultSteps.shouldSee(onMainPage().getWeatherWidget().get(0)); } + @Test + @Title("Должны увидеть виджет с именем города") + public void shouldSeeWidgetWithTitleCity() { + defaultSteps.openMainPageWithCity(MOSCOW); + defaultSteps.shouldSeeTitleWidgetEqualCity(MOSCOW); + } + private MainPage onMainPage() { return new MainPage(webDriverRule.getDriver()); } + @Test + @Title("Должны видеть добавленный виджет на главной странице") + public void shouldSeeAddWidgetOnMainPage() { + defaultSteps.openMainPageWithCity(MOSCOW); + defaultSteps.addWidgetOnMainPage(); + defaultSteps.shouldSeeAddedWidgets(onMainPage().getWeatherWidget().size()); + } } + 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..57feab7 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 @@ -23,6 +23,7 @@ public MainPage(WebDriver driver) { @FindBy(css = ".card.card_md") private List weatherWidget; + public List getWeatherWidget() { return weatherWidget; } 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..605c561 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 @@ -1,11 +1,15 @@ package ru.qatools.school.steps.websteps; +import org.openqa.selenium.By; 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 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; @@ -32,6 +36,22 @@ public void shouldSee(WebElement element) { assertThat("Должны видеть элемент", element, isDisplayed()); } + @Step("Проверяем что заголовок виджета это запрошенный город") + public void shouldSeeTitleWidgetEqualCity(String city) { + assertThat("Заголовок города равен названию виджета", + driver.findElement(By.cssSelector("#text")).getText(), equalTo(city)); + } + + @Step("Добавляем виджет на страницу") + public void addWidgetOnMainPage() { + driver.findElement(By.cssSelector("div>.new-card")).click(); + } + + @Step("Проверяем что на главной странице три виджета") + public void shouldSeeAddedWidgets(int size) { + assertThat("Должно быть два виджета", size, is(3)); + } + private MainPage onMainPage() { return new MainPage(driver); } From 4f562d1ea175439a8f7f29e04e89284e6df7a869 Mon Sep 17 00:00:00 2001 From: Igor Merkushev Date: Sun, 17 Apr 2016 18:03:05 +0300 Subject: [PATCH 02/82] Add test for main page Add test for add widget Add test for remove widget --- .../school/webtests/WeatherWebTest.java | 13 +++-- .../qatools/school/rules/WebDriverRule.java | 5 +- .../school/steps/websteps/DefaultSteps.java | 50 ++++++++++++++++--- 3 files changed, 57 insertions(+), 11 deletions(-) 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 cfb32c1..69496e0 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 @@ -14,6 +14,7 @@ public class WeatherWebTest { public static final String MOSCOW = "Moscow"; + public static final String SPB = "Saint Petersburg"; private DefaultSteps defaultSteps; @@ -33,7 +34,7 @@ public void shouldSeeWidgetOnMainPage() { } @Test - @Title("Должны увидеть виджет с именем города") + @Title("Должны увидеть виджет с именем города на главной странице") public void shouldSeeWidgetWithTitleCity() { defaultSteps.openMainPageWithCity(MOSCOW); defaultSteps.shouldSeeTitleWidgetEqualCity(MOSCOW); @@ -47,8 +48,14 @@ private MainPage onMainPage() { @Title("Должны видеть добавленный виджет на главной странице") public void shouldSeeAddWidgetOnMainPage() { defaultSteps.openMainPageWithCity(MOSCOW); - defaultSteps.addWidgetOnMainPage(); - defaultSteps.shouldSeeAddedWidgets(onMainPage().getWeatherWidget().size()); + defaultSteps.shouldSeeWidgetAdd(SPB); + } + + @Test + @Title("Должны увидеть виджеты, кроме удаленного на главной странице") + public void shouldSeeRemoveWidgetOnMainPage() { + defaultSteps.openMainPageWithCity(SPB); + defaultSteps.shouldSeeWidgetRemove(SPB); } } 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..2001963 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 @@ -13,11 +13,12 @@ public class WebDriverRule extends ExternalResource { protected void before() throws Throwable { this.driver = new FirefoxDriver(); + driver.manage().window().maximize(); } protected void after() { - driver.close(); - driver.quit(); + //driver.close(); + //driver.quit(); } public WebDriver getDriver() { 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 605c561..b7c0e50 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 @@ -1,16 +1,24 @@ package ru.qatools.school.steps.websteps; import org.openqa.selenium.By; +import org.openqa.selenium.Keys; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; +import org.openqa.selenium.interactions.Actions; +import org.openqa.selenium.support.ui.ExpectedConditions; +import org.openqa.selenium.support.ui.WebDriverWait; 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 java.util.concurrent.ThreadLocalRandom; + 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 org.junit.Assert.assertTrue; import static ru.yandex.qatools.htmlelements.matchers.WebElementMatchers.isDisplayed; /** @@ -39,17 +47,47 @@ public void shouldSee(WebElement element) { @Step("Проверяем что заголовок виджета это запрошенный город") public void shouldSeeTitleWidgetEqualCity(String city) { assertThat("Заголовок города равен названию виджета", - driver.findElement(By.cssSelector("#text")).getText(), equalTo(city)); + driver.findElement(By.cssSelector("div .inplace.inplace_displayed")).getText(), equalTo(city)); } @Step("Добавляем виджет на страницу") - public void addWidgetOnMainPage() { - driver.findElement(By.cssSelector("div>.new-card")).click(); + public void addWidgetOnMainPage(String city) { + driver.findElement(By.cssSelector(".new-card")).click(); + driver.findElement(By.cssSelector("span.inplace.inplace_displayed")).click(); + driver.findElement(By.cssSelector("input.inplace.inplace_editable")).clear(); + driver.findElement(By.cssSelector("input.inplace.inplace_editable")).sendKeys(city); + driver.findElement(By.cssSelector("input.inplace.inplace_editable")).sendKeys(Keys.RETURN); + } + + @Step("На главной странице виджеты добавляются") + public void shouldSeeWidgetAdd(String city) { + addWidgetOnMainPage(city); + boolean find = false; + List spans = driver.findElements(By.cssSelector(".inplace.inplace_displayed")); + for (WebElement span : spans) + { + String text = span.getText(); + if (text.equals(city)) { + find = true; + break; + } + } + assertTrue("Виджет с именем " + city + "не добавился", find); } - @Step("Проверяем что на главной странице три виджета") - public void shouldSeeAddedWidgets(int size) { - assertThat("Должно быть два виджета", size, is(3)); + @Step("На главной странице виджет можно удалить") + public void shouldSeeWidgetRemove(String removeCity) { + int count = onMainPage().getWeatherWidget().size(); + List widgets = onMainPage().getWeatherWidget(); + for (WeatherWidget widget : widgets ) + { + String text = widget.findElement(By.cssSelector(".inplace.inplace_displayed")).getText(); + if (text.equals(removeCity)) { + widget.findElement(By.cssSelector(".remove-card.btn.btn-default")).click(); + break; + } + } + assertThat("Количество виджетов не уменьшилось на единицу после удаления одного виджета", --count, is(onMainPage().getWeatherWidget().size())); } private MainPage onMainPage() { From e2a3e1ed1327f69e1136b3a9998a3647cca00c9c Mon Sep 17 00:00:00 2001 From: Igor Merkushev Date: Sun, 17 Apr 2016 21:19:25 +0300 Subject: [PATCH 03/82] Add test autocomplite add test for change temperature units --- .../school/webtests/WeatherWebTest.java | 18 +++++++ .../qatools/school/rules/WebDriverRule.java | 4 +- .../school/steps/websteps/DefaultSteps.java | 50 +++++++++++++++---- 3 files changed, 60 insertions(+), 12 deletions(-) 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 69496e0..6aee305 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 @@ -9,6 +9,8 @@ import ru.yandex.qatools.allure.annotations.Step; import ru.yandex.qatools.allure.annotations.Title; +import javax.swing.plaf.synth.SynthProgressBarUI; + import static org.junit.Assert.assertThat; public class WeatherWebTest { @@ -57,5 +59,21 @@ public void shouldSeeRemoveWidgetOnMainPage() { defaultSteps.openMainPageWithCity(SPB); defaultSteps.shouldSeeWidgetRemove(SPB); } + + @Test + @Title("Должны увидеть автозаполнение при не полном наборе названия") + public void shouldAutoCompleteCity() { + defaultSteps.openMainPageWithCity(MOSCOW); + defaultSteps.shouldAutocompliteCity(SPB); + } + + @Test + @Title("Должны меняться форматы вывода градуса") + public void shouldSeeChangeFormatDegree() { + defaultSteps.openMainPageWithCity(SPB); + defaultSteps.shouldSeeChangeFormatDegree(); + } + } + 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 2001963..f3d5f5e 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 @@ -17,8 +17,8 @@ protected void before() throws Throwable { } protected void after() { - //driver.close(); - //driver.quit(); + driver.close(); + driver.quit(); } public WebDriver getDriver() { 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 b7c0e50..05464d6 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 @@ -1,10 +1,13 @@ package ru.qatools.school.steps.websteps; +import com.google.common.base.Predicate; import org.openqa.selenium.By; +import org.openqa.selenium.By.ByCssSelector; import org.openqa.selenium.Keys; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.interactions.Actions; +import org.openqa.selenium.support.ui.ExpectedCondition; import org.openqa.selenium.support.ui.ExpectedConditions; import org.openqa.selenium.support.ui.WebDriverWait; import ru.qatools.school.pages.MainPage; @@ -13,6 +16,7 @@ import java.util.List; import java.util.concurrent.ThreadLocalRandom; +import java.util.function.Function; import static java.lang.String.format; import static org.hamcrest.core.Is.is; @@ -44,14 +48,13 @@ public void shouldSee(WebElement element) { assertThat("Должны видеть элемент", element, isDisplayed()); } - @Step("Проверяем что заголовок виджета это запрошенный город") + @Step("Заголовок виджета должен совпадать с запрошенным городом") public void shouldSeeTitleWidgetEqualCity(String city) { assertThat("Заголовок города равен названию виджета", - driver.findElement(By.cssSelector("div .inplace.inplace_displayed")).getText(), equalTo(city)); + driver.findElement(By.cssSelector(".inplace.inplace_displayed")).getText(), equalTo(city)); } - @Step("Добавляем виджет на страницу") - public void addWidgetOnMainPage(String city) { + private void addWidgetOnMainPage(String city) { driver.findElement(By.cssSelector(".new-card")).click(); driver.findElement(By.cssSelector("span.inplace.inplace_displayed")).click(); driver.findElement(By.cssSelector("input.inplace.inplace_editable")).clear(); @@ -64,8 +67,7 @@ public void shouldSeeWidgetAdd(String city) { addWidgetOnMainPage(city); boolean find = false; List spans = driver.findElements(By.cssSelector(".inplace.inplace_displayed")); - for (WebElement span : spans) - { + for (WebElement span : spans) { String text = span.getText(); if (text.equals(city)) { find = true; @@ -79,10 +81,8 @@ public void shouldSeeWidgetAdd(String city) { public void shouldSeeWidgetRemove(String removeCity) { int count = onMainPage().getWeatherWidget().size(); List widgets = onMainPage().getWeatherWidget(); - for (WeatherWidget widget : widgets ) - { - String text = widget.findElement(By.cssSelector(".inplace.inplace_displayed")).getText(); - if (text.equals(removeCity)) { + for (WeatherWidget widget : widgets) { + if (widget.findElement(By.cssSelector(".inplace.inplace_displayed")).getText().equals(removeCity)) { widget.findElement(By.cssSelector(".remove-card.btn.btn-default")).click(); break; } @@ -90,6 +90,36 @@ public void shouldSeeWidgetRemove(String removeCity) { assertThat("Количество виджетов не уменьшилось на единицу после удаления одного виджета", --count, is(onMainPage().getWeatherWidget().size())); } + @Step("На ввод не полного названия города должно срабатывать автозаполнение") + public void shouldAutocompliteCity(String city) { + driver.findElement(By.cssSelector(".inplace.inplace_displayed")).click(); + driver.findElement(By.cssSelector("input.inplace.inplace_editable")).clear(); + driver.findElement(By.cssSelector("input.inplace.inplace_editable")).sendKeys(city.substring(0, city.length() / 2)); + WebElement element = (new WebDriverWait(driver, 10)) + .until((ExpectedCondition) d -> { + List elements = driver.findElements(By.cssSelector(".city__name")); + for (WebElement element1 : elements) { + if (element1.getText().equals(city)) { + return element1; + } + } + return null; + }); + element.click(); + assertThat("Заголовок города равен названию набираемого города", + driver.findElement(By.cssSelector(".inplace.inplace_displayed")).getText(), equalTo(city)); + } + + @Step("Должны меняться форматы вывода градуса") + public void shouldSeeChangeFormatDegree() { + driver.findElement(By.cssSelector(".weather-temperature.md-12")).click(); + assertThat("Не произошло преобразование градусов цельсия в градусы кельвина", driver.findElement(By.cssSelector(".weather-temperature__unit")).getText(), equalTo("°K")); + driver.findElement(By.cssSelector(".weather-temperature.md-12")).click(); + assertThat("Не произошло преобразование градусов в кельвинах в градусы фаренгейта", driver.findElement(By.cssSelector(".weather-temperature__unit")).getText(), equalTo("°F")); + driver.findElement(By.cssSelector(".weather-temperature.md-12")).click(); + assertThat("Не произошло преобразование градусов фаренгейта в градусы °Kaif", driver.findElement(By.cssSelector(".weather-temperature__unit")).getText(), equalTo("°Kaif")); + } + private MainPage onMainPage() { return new MainPage(driver); } From 11f687a5e1afb9c9e19fb54d63cd44ea32c1ad73 Mon Sep 17 00:00:00 2001 From: Igor Merkushev Date: Sun, 17 Apr 2016 21:25:01 +0300 Subject: [PATCH 04/82] change constants from public to private --- .../test/java/ru/qatools/school/webtests/WeatherWebTest.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 6aee305..9129102 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 @@ -15,8 +15,8 @@ public class WeatherWebTest { - public static final String MOSCOW = "Moscow"; - public static final String SPB = "Saint Petersburg"; + private static final String MOSCOW = "Moscow"; + private static final String SPB = "Saint Petersburg"; private DefaultSteps defaultSteps; From 599365148374c99309ccf7bd921cc3a9e0188974 Mon Sep 17 00:00:00 2001 From: merkushevio Date: Mon, 18 Apr 2016 10:26:07 +0300 Subject: [PATCH 05/82] edit MainPage --- .../ru/qatools/school/pages/MainPage.java | 32 +++++++++++++++++++ .../school/steps/websteps/DefaultSteps.java | 6 ++-- 2 files changed, 35 insertions(+), 3 deletions(-) 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 57feab7..ccde5bc 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,7 @@ package ru.qatools.school.pages; 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; @@ -23,9 +24,40 @@ public MainPage(WebDriver driver) { @FindBy(css = ".card.card_md") private List weatherWidget; + @Name("Список городов") + @FindBy(css = ".inplace.inplace_displayed") + private List inplace; + + @Name("Добавление нового виджета") + @FindBy(css = ".new-card") + private WebElement addWidget; + + @Name("Редактируемое поле названия города") + @FindBy(css = "input.inplace.inplace_editable") + private WebElement editInplace; + + @Name("Список элементов отображения температуры") + @FindBy(css = "weather-temperature.md-12") + private List listTemperatures; public List getWeatherWidget() { return weatherWidget; } + public List getInplace() { + return inplace; + } + + public WebElement getAddWidget() { + return addWidget; + } + + public WebElement getEditInplace() { + return editInplace; + } + + public List getListTemperatures() { + return listTemperatures; + } + } 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 05464d6..9d655cc 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 @@ -51,12 +51,12 @@ public void shouldSee(WebElement element) { @Step("Заголовок виджета должен совпадать с запрошенным городом") public void shouldSeeTitleWidgetEqualCity(String city) { assertThat("Заголовок города равен названию виджета", - driver.findElement(By.cssSelector(".inplace.inplace_displayed")).getText(), equalTo(city)); + onMainPage().getInplace().get(0).getText(), equalTo(city)); } private void addWidgetOnMainPage(String city) { - driver.findElement(By.cssSelector(".new-card")).click(); - driver.findElement(By.cssSelector("span.inplace.inplace_displayed")).click(); + onMainPage().getAddWidget().click(); + onMainPage().getInplace().get(0).click(); driver.findElement(By.cssSelector("input.inplace.inplace_editable")).clear(); driver.findElement(By.cssSelector("input.inplace.inplace_editable")).sendKeys(city); driver.findElement(By.cssSelector("input.inplace.inplace_editable")).sendKeys(Keys.RETURN); From 68164e4d6574bbded98621cdfc956a622ba05550 Mon Sep 17 00:00:00 2001 From: merkushevio Date: Mon, 18 Apr 2016 18:31:54 +0300 Subject: [PATCH 06/82] edit WidgetTitle, DefaultSteps --- .../main/java/ru/qatools/school/pages/MainPage.java | 4 ++++ .../school/pages/blocks/widgetblocks/WidgetTitle.java | 11 +++++++++++ .../qatools/school/steps/websteps/DefaultSteps.java | 6 +++--- 3 files changed, 18 insertions(+), 3 deletions(-) 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 ccde5bc..810030a 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 @@ -60,4 +60,8 @@ public List getListTemperatures() { return listTemperatures; } + public void addWidget(String city) { + + } + } 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..0e872b9 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; /** @@ -8,7 +11,15 @@ */ public class WidgetTitle extends HtmlElement { + @Name("Заголовок виджета") + @FindBy(css = ".inplace.inplace_displayed") + private WebElement widgetTitle; + public Rectangle getRect() { return null; } + + public WebElement getWidgetTitle() { + return widgetTitle; + } } 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 9d655cc..106bd1b 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 @@ -57,9 +57,9 @@ public void shouldSeeTitleWidgetEqualCity(String city) { private void addWidgetOnMainPage(String city) { onMainPage().getAddWidget().click(); onMainPage().getInplace().get(0).click(); - driver.findElement(By.cssSelector("input.inplace.inplace_editable")).clear(); - driver.findElement(By.cssSelector("input.inplace.inplace_editable")).sendKeys(city); - driver.findElement(By.cssSelector("input.inplace.inplace_editable")).sendKeys(Keys.RETURN); + onMainPage().getEditInplace().clear(); + onMainPage().getEditInplace().sendKeys(city); + onMainPage().getEditInplace().sendKeys(Keys.RETURN); } @Step("На главной странице виджеты добавляются") From 36bb97fec9b0d6cf881193f53ecae109d132b314 Mon Sep 17 00:00:00 2001 From: Igor Merkushev Date: Tue, 19 Apr 2016 17:27:07 +0300 Subject: [PATCH 07/82] create class with methods for tests --- .../ru/qatools/school/pages/MainPage.java | 20 +++-- .../qatools/school/pages/MainPageMethods.java | 84 +++++++++++++++++++ .../school/pages/blocks/WeatherWidget.java | 8 ++ .../blocks/widgetblocks/WidgetTitle.java | 7 -- .../school/steps/websteps/DefaultSteps.java | 43 ++++------ 5 files changed, 119 insertions(+), 43 deletions(-) create mode 100644 steps-module/src/main/java/ru/qatools/school/pages/MainPageMethods.java 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 810030a..9fdeb62 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 @@ -26,7 +26,7 @@ public MainPage(WebDriver driver) { @Name("Список городов") @FindBy(css = ".inplace.inplace_displayed") - private List inplace; + private List inplace; @Name("Добавление нового виджета") @FindBy(css = ".new-card") @@ -34,7 +34,11 @@ public MainPage(WebDriver driver) { @Name("Редактируемое поле названия города") @FindBy(css = "input.inplace.inplace_editable") - private WebElement editInplace; + private WeatherWidget editInplace; + + @Name("Кнопка удаления виджета") + @FindBy(css = ".remove-card.btn.btn-default") + private WeatherWidget removeBtn; @Name("Список элементов отображения температуры") @FindBy(css = "weather-temperature.md-12") @@ -44,7 +48,7 @@ public List getWeatherWidget() { return weatherWidget; } - public List getInplace() { + public List getPlaces() { return inplace; } @@ -52,16 +56,16 @@ public WebElement getAddWidget() { return addWidget; } - public WebElement getEditInplace() { + public WeatherWidget getEditInplace() { return editInplace; } - public List getListTemperatures() { - return listTemperatures; + public WeatherWidget getRemoveBtn() { + return removeBtn; } - public void addWidget(String city) { - + public List getListTemperatures() { + return listTemperatures; } } diff --git a/steps-module/src/main/java/ru/qatools/school/pages/MainPageMethods.java b/steps-module/src/main/java/ru/qatools/school/pages/MainPageMethods.java new file mode 100644 index 0000000..8c291b6 --- /dev/null +++ b/steps-module/src/main/java/ru/qatools/school/pages/MainPageMethods.java @@ -0,0 +1,84 @@ +package ru.qatools.school.pages; + +import org.hamcrest.Description; +import org.hamcrest.Matcher; +import org.hamcrest.TypeSafeDiagnosingMatcher; +import org.openqa.selenium.Keys; +import org.openqa.selenium.WebDriver; +import org.openqa.selenium.WebElement; +import ru.qatools.school.pages.blocks.WeatherWidget; +import java.util.List; + +public class MainPageMethods { + + private MainPage mainPage; + + public MainPageMethods(WebDriver driver) { + mainPage = new MainPage(driver); + } + + public void clickOnElement(WebElement element) { + element.click(); + } + + public void sendChars(WebElement element, String text) { + element.clear(); + element.sendKeys(text); + element.sendKeys(Keys.RETURN); + } + + public void addWidget() { + mainPage.getAddWidget().click(); + } + + public WeatherWidget findWidget(String city) { + List list = allWidgets(); + for (WeatherWidget widget : list) { + if (widget.getInplace().getText().equalsIgnoreCase(city)) { + return widget; + } + } + return null; + } + + public void renameWidget(String oldName, String newName) { + List list = mainPage.getPlaces(); + for (WeatherWidget widget : list) { + if (widget.getInplace().getText().equalsIgnoreCase(oldName)) { + clickOnElement(widget.getInplace()); + sendChars(mainPage.getEditInplace(), newName); + } + } + } + + public int countWidgets() { + return mainPage.getWeatherWidget().size(); + } + + public List allWidgets() { + return mainPage.getWeatherWidget(); + } + + public Matcher hasItem(String city) { + final List list = mainPage.getPlaces(); + return new TypeSafeDiagnosingMatcher() { + @Override + public void describeTo(Description description) { + description.appendText("expected place"); + } + + @Override + protected boolean matchesSafely(String city, Description mismatch) { + for (WeatherWidget widget : list) { + if (widget.getInplace().getText() != city) { + mismatch.appendText("return city was ") + .appendValue(widget.getInplace().getText()); + return false; + } + } + + return true; + } + }; + } +} 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..f9e1628 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 @@ -25,6 +25,10 @@ public class WeatherWidget extends HtmlElement { @FindBy(css = ".card-actions") private WebElement actions; + @Name("Название города в виджете") + @FindBy(css = ".inplace.inplace_displayed") + private WebElement inplace; + public WidgetText getWidgetText() { return widgetText; } @@ -37,6 +41,10 @@ public WebElement getActions() { return actions; } + public WebElement getInplace() { + return inplace; + } + 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 0e872b9..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 @@ -11,15 +11,8 @@ */ public class WidgetTitle extends HtmlElement { - @Name("Заголовок виджета") - @FindBy(css = ".inplace.inplace_displayed") - private WebElement widgetTitle; - public Rectangle getRect() { return null; } - public WebElement getWidgetTitle() { - return widgetTitle; - } } 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 106bd1b..a4cc5b9 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 @@ -11,6 +11,7 @@ import org.openqa.selenium.support.ui.ExpectedConditions; import org.openqa.selenium.support.ui.WebDriverWait; import ru.qatools.school.pages.MainPage; +import ru.qatools.school.pages.MainPageMethods; import ru.qatools.school.pages.blocks.WeatherWidget; import ru.yandex.qatools.allure.annotations.Step; @@ -19,6 +20,7 @@ import java.util.function.Function; import static java.lang.String.format; +import static org.hamcrest.Matchers.hasItem; import static org.hamcrest.core.Is.is; import static org.hamcrest.core.IsEqual.equalTo; import static org.junit.Assert.assertThat; @@ -31,6 +33,7 @@ public class DefaultSteps { public static final String MAIN_PAGE = "http://weather.lanwen.ru/#?cities=%s"; + private static final String NEW_WIDGET = "What a city?"; private WebDriver driver; @@ -51,50 +54,30 @@ public void shouldSee(WebElement element) { @Step("Заголовок виджета должен совпадать с запрошенным городом") public void shouldSeeTitleWidgetEqualCity(String city) { assertThat("Заголовок города равен названию виджета", - onMainPage().getInplace().get(0).getText(), equalTo(city)); + onMainPage().getPlaces().get(0).getText(), equalTo(city)); } private void addWidgetOnMainPage(String city) { - onMainPage().getAddWidget().click(); - onMainPage().getInplace().get(0).click(); - onMainPage().getEditInplace().clear(); - onMainPage().getEditInplace().sendKeys(city); - onMainPage().getEditInplace().sendKeys(Keys.RETURN); + mainPageMethods().addWidget(); + mainPageMethods().renameWidget(NEW_WIDGET, city); } @Step("На главной странице виджеты добавляются") public void shouldSeeWidgetAdd(String city) { addWidgetOnMainPage(city); - boolean find = false; - List spans = driver.findElements(By.cssSelector(".inplace.inplace_displayed")); - for (WebElement span : spans) { - String text = span.getText(); - if (text.equals(city)) { - find = true; - break; - } - } - assertTrue("Виджет с именем " + city + "не добавился", find); + assertThat("Widget has", city, is(mainPageMethods().hasItem(city))); } @Step("На главной странице виджет можно удалить") public void shouldSeeWidgetRemove(String removeCity) { - int count = onMainPage().getWeatherWidget().size(); - List widgets = onMainPage().getWeatherWidget(); - for (WeatherWidget widget : widgets) { - if (widget.findElement(By.cssSelector(".inplace.inplace_displayed")).getText().equals(removeCity)) { - widget.findElement(By.cssSelector(".remove-card.btn.btn-default")).click(); - break; - } - } - assertThat("Количество виджетов не уменьшилось на единицу после удаления одного виджета", --count, is(onMainPage().getWeatherWidget().size())); + int count = mainPageMethods().countWidgets(); + mainPageMethods().clickOnElement(mainPageMethods().findWidget(removeCity)); + assertThat("Количество виджетов не уменьшилось на единицу после удаления одного виджета", mainPageMethods().countWidgets(), is(count - 1)); } @Step("На ввод не полного названия города должно срабатывать автозаполнение") public void shouldAutocompliteCity(String city) { - driver.findElement(By.cssSelector(".inplace.inplace_displayed")).click(); - driver.findElement(By.cssSelector("input.inplace.inplace_editable")).clear(); - driver.findElement(By.cssSelector("input.inplace.inplace_editable")).sendKeys(city.substring(0, city.length() / 2)); + mainPageMethods().renameWidget(mainPageMethods().allWidgets().get(0).getInplace().getText(), city.substring(0, city.length()/2)); WebElement element = (new WebDriverWait(driver, 10)) .until((ExpectedCondition) d -> { List elements = driver.findElements(By.cssSelector(".city__name")); @@ -123,4 +106,8 @@ public void shouldSeeChangeFormatDegree() { private MainPage onMainPage() { return new MainPage(driver); } + + private MainPageMethods mainPageMethods() { + return new MainPageMethods(driver); + } } From 1455b21303edc453c067e73231b5da3f696c0b16 Mon Sep 17 00:00:00 2001 From: Igor Merkushev Date: Wed, 20 Apr 2016 06:58:08 +0300 Subject: [PATCH 08/82] edit add widget test, work version --- .../school/webtests/WeatherWebTest.java | 40 ++++++++--------- .../ru/qatools/school/pages/MainPage.java | 30 +++++-------- .../qatools/school/pages/MainPageMethods.java | 45 +++++++++++-------- .../school/pages/blocks/WeatherWidget.java | 14 ++++-- .../school/steps/websteps/DefaultSteps.java | 16 +------ 5 files changed, 70 insertions(+), 75 deletions(-) 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 9129102..4086fd2 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 @@ -53,26 +53,26 @@ public void shouldSeeAddWidgetOnMainPage() { defaultSteps.shouldSeeWidgetAdd(SPB); } - @Test - @Title("Должны увидеть виджеты, кроме удаленного на главной странице") - public void shouldSeeRemoveWidgetOnMainPage() { - defaultSteps.openMainPageWithCity(SPB); - defaultSteps.shouldSeeWidgetRemove(SPB); - } - - @Test - @Title("Должны увидеть автозаполнение при не полном наборе названия") - public void shouldAutoCompleteCity() { - defaultSteps.openMainPageWithCity(MOSCOW); - defaultSteps.shouldAutocompliteCity(SPB); - } - - @Test - @Title("Должны меняться форматы вывода градуса") - public void shouldSeeChangeFormatDegree() { - defaultSteps.openMainPageWithCity(SPB); - defaultSteps.shouldSeeChangeFormatDegree(); - } +// @Test +// @Title("Должны увидеть виджеты, кроме удаленного на главной странице") +// public void shouldSeeRemoveWidgetOnMainPage() { +// defaultSteps.openMainPageWithCity(SPB); +// defaultSteps.shouldSeeWidgetRemove(SPB); +// } +// +// @Test +// @Title("Должны увидеть автозаполнение при не полном наборе названия") +// public void shouldAutoCompleteCity() { +// defaultSteps.openMainPageWithCity(MOSCOW); +// defaultSteps.shouldAutocompliteCity(SPB); +// } +// +// @Test +// @Title("Должны меняться форматы вывода градуса") +// public void shouldSeeChangeFormatDegree() { +// defaultSteps.openMainPageWithCity(SPB); +// defaultSteps.shouldSeeChangeFormatDegree(); +// } } 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 9fdeb62..9a59a98 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 @@ -26,42 +26,34 @@ public MainPage(WebDriver driver) { @Name("Список городов") @FindBy(css = ".inplace.inplace_displayed") - private List inplace; + private List places; @Name("Добавление нового виджета") @FindBy(css = ".new-card") private WebElement addWidget; - @Name("Редактируемое поле названия города") - @FindBy(css = "input.inplace.inplace_editable") - private WeatherWidget editInplace; - - @Name("Кнопка удаления виджета") - @FindBy(css = ".remove-card.btn.btn-default") - private WeatherWidget removeBtn; - @Name("Список элементов отображения температуры") @FindBy(css = "weather-temperature.md-12") private List listTemperatures; + @Name("Редактируемое поле названия города") + @FindBy(css = "input.inplace.inplace_editable") + private WebElement editPlace; + public List getWeatherWidget() { return weatherWidget; } - public List getPlaces() { - return inplace; + public List getPlaces() { + return places; } - public WebElement getAddWidget() { - return addWidget; - } - - public WeatherWidget getEditInplace() { - return editInplace; + public WebElement getEditPlace() { + return editPlace; } - public WeatherWidget getRemoveBtn() { - return removeBtn; + public WebElement getAddWidget() { + return addWidget; } public List getListTemperatures() { diff --git a/steps-module/src/main/java/ru/qatools/school/pages/MainPageMethods.java b/steps-module/src/main/java/ru/qatools/school/pages/MainPageMethods.java index 8c291b6..9575607 100644 --- a/steps-module/src/main/java/ru/qatools/school/pages/MainPageMethods.java +++ b/steps-module/src/main/java/ru/qatools/school/pages/MainPageMethods.java @@ -3,17 +3,24 @@ import org.hamcrest.Description; import org.hamcrest.Matcher; import org.hamcrest.TypeSafeDiagnosingMatcher; +import org.openqa.selenium.By; import org.openqa.selenium.Keys; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; +import org.openqa.selenium.support.ui.ExpectedCondition; +import org.openqa.selenium.support.ui.WebDriverWait; import ru.qatools.school.pages.blocks.WeatherWidget; + import java.util.List; +import java.util.concurrent.TimeUnit; public class MainPageMethods { private MainPage mainPage; + private WebDriver driver; public MainPageMethods(WebDriver driver) { + this.driver = driver; mainPage = new MainPage(driver); } @@ -31,24 +38,24 @@ public void addWidget() { mainPage.getAddWidget().click(); } - public WeatherWidget findWidget(String city) { - List list = allWidgets(); - for (WeatherWidget widget : list) { - if (widget.getInplace().getText().equalsIgnoreCase(city)) { - return widget; - } - } - return null; + public WebElement findWidget(String city) { + WebElement element = (new WebDriverWait(driver, 10)) + .until((ExpectedCondition) d -> { + List widgets = mainPage.getPlaces(); + for (WebElement widget : widgets) { + if (widget.getText().equals(city)) { + return widget; + } + } + return null; + }); + return element; } public void renameWidget(String oldName, String newName) { - List list = mainPage.getPlaces(); - for (WeatherWidget widget : list) { - if (widget.getInplace().getText().equalsIgnoreCase(oldName)) { - clickOnElement(widget.getInplace()); - sendChars(mainPage.getEditInplace(), newName); - } - } + WebElement element = findWidget(oldName); + clickOnElement(element); + sendChars(mainPage.getEditPlace(), newName); } public int countWidgets() { @@ -60,7 +67,7 @@ public List allWidgets() { } public Matcher hasItem(String city) { - final List list = mainPage.getPlaces(); + final List list = mainPage.getPlaces(); return new TypeSafeDiagnosingMatcher() { @Override public void describeTo(Description description) { @@ -69,10 +76,10 @@ public void describeTo(Description description) { @Override protected boolean matchesSafely(String city, Description mismatch) { - for (WeatherWidget widget : list) { - if (widget.getInplace().getText() != city) { + for (WebElement widget : list) { + if (widget.getText() != city) { mismatch.appendText("return city was ") - .appendValue(widget.getInplace().getText()); + .appendValue(widget.getText()); return false; } } 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 f9e1628..c3a3c5c 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 @@ -27,7 +27,11 @@ public class WeatherWidget extends HtmlElement { @Name("Название города в виджете") @FindBy(css = ".inplace.inplace_displayed") - private WebElement inplace; + private WebElement place; + + @Name("Кнопка удаления виджета") + @FindBy(css = ".remove-card.btn.btn-default") + private WebElement removeBtn; public WidgetText getWidgetText() { return widgetText; @@ -41,8 +45,12 @@ public WebElement getActions() { return actions; } - public WebElement getInplace() { - return inplace; + public WebElement getPlace() { + return place; + } + + public WebElement getRemoveBtn() { + return removeBtn; } public Rectangle getRect() { 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 a4cc5b9..26bd133 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 @@ -1,30 +1,18 @@ package ru.qatools.school.steps.websteps; -import com.google.common.base.Predicate; import org.openqa.selenium.By; -import org.openqa.selenium.By.ByCssSelector; -import org.openqa.selenium.Keys; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; -import org.openqa.selenium.interactions.Actions; import org.openqa.selenium.support.ui.ExpectedCondition; -import org.openqa.selenium.support.ui.ExpectedConditions; import org.openqa.selenium.support.ui.WebDriverWait; import ru.qatools.school.pages.MainPage; import ru.qatools.school.pages.MainPageMethods; -import ru.qatools.school.pages.blocks.WeatherWidget; import ru.yandex.qatools.allure.annotations.Step; - import java.util.List; -import java.util.concurrent.ThreadLocalRandom; -import java.util.function.Function; - import static java.lang.String.format; -import static org.hamcrest.Matchers.hasItem; import static org.hamcrest.core.Is.is; import static org.hamcrest.core.IsEqual.equalTo; import static org.junit.Assert.assertThat; -import static org.junit.Assert.assertTrue; import static ru.yandex.qatools.htmlelements.matchers.WebElementMatchers.isDisplayed; /** @@ -65,7 +53,7 @@ private void addWidgetOnMainPage(String city) { @Step("На главной странице виджеты добавляются") public void shouldSeeWidgetAdd(String city) { addWidgetOnMainPage(city); - assertThat("Widget has", city, is(mainPageMethods().hasItem(city))); + assertThat("Widget has", city, is(mainPageMethods().findWidget(city).getText())); } @Step("На главной странице виджет можно удалить") @@ -77,7 +65,7 @@ public void shouldSeeWidgetRemove(String removeCity) { @Step("На ввод не полного названия города должно срабатывать автозаполнение") public void shouldAutocompliteCity(String city) { - mainPageMethods().renameWidget(mainPageMethods().allWidgets().get(0).getInplace().getText(), city.substring(0, city.length()/2)); + mainPageMethods().renameWidget(mainPageMethods().allWidgets().get(0).getPlace().getText(), city.substring(0, city.length()/2)); WebElement element = (new WebDriverWait(driver, 10)) .until((ExpectedCondition) d -> { List elements = driver.findElements(By.cssSelector(".city__name")); From bb64de992626fa3a5150d36404564238e1addcaa Mon Sep 17 00:00:00 2001 From: "merkushev.io" Date: Wed, 20 Apr 2016 14:25:00 +0400 Subject: [PATCH 09/82] refactor tests add annotations --- .../school/webtests/WeatherWebTest.java | 59 +++++++++++-------- .../ru/qatools/school/pages/MainPage.java | 8 +++ .../qatools/school/pages/MainPageMethods.java | 25 ++++++-- .../school/pages/blocks/WeatherWidget.java | 16 +++++ .../qatools/school/rules/WebDriverRule.java | 5 +- .../school/steps/websteps/DefaultSteps.java | 50 ++++++++-------- 6 files changed, 111 insertions(+), 52 deletions(-) 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 4086fd2..7e8a759 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,12 +6,8 @@ import ru.qatools.school.pages.MainPage; import ru.qatools.school.rules.WebDriverRule; import ru.qatools.school.steps.websteps.DefaultSteps; -import ru.yandex.qatools.allure.annotations.Step; import ru.yandex.qatools.allure.annotations.Title; -import javax.swing.plaf.synth.SynthProgressBarUI; - -import static org.junit.Assert.assertThat; public class WeatherWebTest { @@ -23,12 +19,14 @@ public class WeatherWebTest { @Rule public WebDriverRule webDriverRule = new WebDriverRule(); + @Before public void initSteps() { defaultSteps = new DefaultSteps(webDriverRule.getDriver()); } @Test + @ru.yandex.qatools.allure.annotations.TestCaseId("1") @Title("Должны видеть виджет на главной странице") public void shouldSeeWidgetOnMainPage() { defaultSteps.openMainPageWithCity(MOSCOW); @@ -37,6 +35,7 @@ public void shouldSeeWidgetOnMainPage() { @Test @Title("Должны увидеть виджет с именем города на главной странице") + @ru.yandex.qatools.allure.annotations.TestCaseId("1") public void shouldSeeWidgetWithTitleCity() { defaultSteps.openMainPageWithCity(MOSCOW); defaultSteps.shouldSeeTitleWidgetEqualCity(MOSCOW); @@ -48,31 +47,43 @@ private MainPage onMainPage() { @Test @Title("Должны видеть добавленный виджет на главной странице") + @ru.yandex.qatools.allure.annotations.TestCaseId("2") public void shouldSeeAddWidgetOnMainPage() { defaultSteps.openMainPageWithCity(MOSCOW); defaultSteps.shouldSeeWidgetAdd(SPB); } -// @Test -// @Title("Должны увидеть виджеты, кроме удаленного на главной странице") -// public void shouldSeeRemoveWidgetOnMainPage() { -// defaultSteps.openMainPageWithCity(SPB); -// defaultSteps.shouldSeeWidgetRemove(SPB); -// } -// -// @Test -// @Title("Должны увидеть автозаполнение при не полном наборе названия") -// public void shouldAutoCompleteCity() { -// defaultSteps.openMainPageWithCity(MOSCOW); -// defaultSteps.shouldAutocompliteCity(SPB); -// } -// -// @Test -// @Title("Должны меняться форматы вывода градуса") -// public void shouldSeeChangeFormatDegree() { -// defaultSteps.openMainPageWithCity(SPB); -// defaultSteps.shouldSeeChangeFormatDegree(); -// } + @Test + @Title("Должны увидеть виджеты, кроме удаленного на главной странице") + @ru.yandex.qatools.allure.annotations.TestCaseId("3") + public void shouldSeeRemoveWidgetOnMainPage() { + defaultSteps.openMainPageWithCity(SPB); + defaultSteps.shouldSeeWidgetRemove(); + } + + @Test + @Title("Должны увидеть автозаполнение при не полном наборе названия") + @ru.yandex.qatools.allure.annotations.TestCaseId("4") + public void shouldAutoCompleteCity() { + defaultSteps.openMainPageWithCity(MOSCOW); + defaultSteps.shouldAutocompliteCity(SPB); + } + + @Test + @Title("Должны меняться форматы вывода градуса") + @ru.yandex.qatools.allure.annotations.TestCaseId("6") + public void shouldSeeChangeFormatDegree() { + defaultSteps.openMainPageWithCity(SPB); + defaultSteps.shouldSeeChangeFormatDegree(); + } + + @Test + @Title("Открываем виджет, единица измерения температуры Цельсий") + @ru.yandex.qatools.allure.annotations.TestCaseId("5") + public void shouldSeeTemperatureCelcium() { + defaultSteps.openMainPageWithCity(MOSCOW); + defaultSteps.shouldSeeTemperatureCelcium(); + } } 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 9a59a98..2709d8c 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 @@ -40,6 +40,10 @@ public MainPage(WebDriver driver) { @FindBy(css = "input.inplace.inplace_editable") private WebElement editPlace; + @Name("Выпадающий список значений автодополнений") + @FindBy(css = "span.city__name") + private List autoCompleteValues; + public List getWeatherWidget() { return weatherWidget; } @@ -56,6 +60,10 @@ public WebElement getAddWidget() { return addWidget; } + public List getAutoCompleteValues() { + return autoCompleteValues; + } + public List getListTemperatures() { return listTemperatures; } diff --git a/steps-module/src/main/java/ru/qatools/school/pages/MainPageMethods.java b/steps-module/src/main/java/ru/qatools/school/pages/MainPageMethods.java index 9575607..7195c26 100644 --- a/steps-module/src/main/java/ru/qatools/school/pages/MainPageMethods.java +++ b/steps-module/src/main/java/ru/qatools/school/pages/MainPageMethods.java @@ -39,7 +39,7 @@ public void addWidget() { } public WebElement findWidget(String city) { - WebElement element = (new WebDriverWait(driver, 10)) + WebElement element = (new WebDriverWait(driver, 3)) .until((ExpectedCondition) d -> { List widgets = mainPage.getPlaces(); for (WebElement widget : widgets) { @@ -66,6 +66,23 @@ public List allWidgets() { return mainPage.getWeatherWidget(); } + public void autoComplete(String city) { + mainPage.getPlaces().get(0).click(); + mainPage.getEditPlace().clear(); + mainPage.getEditPlace().sendKeys(city.substring(0, city.length()/2)); + WebElement element = (new WebDriverWait(driver, 5)) + .until((ExpectedCondition) d -> { + List widgets = mainPage.getAutoCompleteValues(); + for (WebElement widget : widgets) { + if (widget.getText().equals(city)) { + return widget; + } + } + return null; + }); + element.click(); + } + public Matcher hasItem(String city) { final List list = mainPage.getPlaces(); return new TypeSafeDiagnosingMatcher() { @@ -77,14 +94,14 @@ public void describeTo(Description description) { @Override protected boolean matchesSafely(String city, Description mismatch) { for (WebElement widget : list) { - if (widget.getText() != city) { + if (widget.getText().equals(city)) { mismatch.appendText("return city was ") .appendValue(widget.getText()); - return false; + return true; } } - return true; + return false; } }; } 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 c3a3c5c..71bf0af 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 @@ -33,6 +33,14 @@ public class WeatherWidget extends HtmlElement { @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; } @@ -53,6 +61,14 @@ 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/rules/WebDriverRule.java b/steps-module/src/main/java/ru/qatools/school/rules/WebDriverRule.java index f3d5f5e..abfb0a4 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,7 +15,8 @@ public class WebDriverRule extends ExternalResource { protected void before() throws Throwable { this.driver = new FirefoxDriver(); - driver.manage().window().maximize(); + //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/websteps/DefaultSteps.java b/steps-module/src/main/java/ru/qatools/school/steps/websteps/DefaultSteps.java index 26bd133..f9012d4 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 @@ -7,6 +7,7 @@ import org.openqa.selenium.support.ui.WebDriverWait; import ru.qatools.school.pages.MainPage; import ru.qatools.school.pages.MainPageMethods; +import ru.qatools.school.pages.blocks.WeatherWidget; import ru.yandex.qatools.allure.annotations.Step; import java.util.List; import static java.lang.String.format; @@ -22,6 +23,11 @@ public class DefaultSteps { public static final String MAIN_PAGE = "http://weather.lanwen.ru/#?cities=%s"; private static final String NEW_WIDGET = "What a city?"; + private static final String CELCIUM = "°C"; + private static final String KELVIN = "°K"; + private static final String FARINGEIT = "°F"; + private static final String KAIF = "°Kaif"; + private WebDriver driver; @@ -53,42 +59,40 @@ private void addWidgetOnMainPage(String city) { @Step("На главной странице виджеты добавляются") public void shouldSeeWidgetAdd(String city) { addWidgetOnMainPage(city); - assertThat("Widget has", city, is(mainPageMethods().findWidget(city).getText())); + assertThat("Widget has", city, is(mainPageMethods().hasItem(city))); } @Step("На главной странице виджет можно удалить") - public void shouldSeeWidgetRemove(String removeCity) { + public void shouldSeeWidgetRemove() { int count = mainPageMethods().countWidgets(); - mainPageMethods().clickOnElement(mainPageMethods().findWidget(removeCity)); - assertThat("Количество виджетов не уменьшилось на единицу после удаления одного виджета", mainPageMethods().countWidgets(), is(count - 1)); + mainPageMethods().clickOnElement(mainPageMethods().allWidgets().get(0).getRemoveBtn()); + assertThat("Количество виджетов не уменьшилось после удаления одного виджета", + mainPageMethods().countWidgets(), is(count - 1)); } @Step("На ввод не полного названия города должно срабатывать автозаполнение") public void shouldAutocompliteCity(String city) { - mainPageMethods().renameWidget(mainPageMethods().allWidgets().get(0).getPlace().getText(), city.substring(0, city.length()/2)); - WebElement element = (new WebDriverWait(driver, 10)) - .until((ExpectedCondition) d -> { - List elements = driver.findElements(By.cssSelector(".city__name")); - for (WebElement element1 : elements) { - if (element1.getText().equals(city)) { - return element1; - } - } - return null; - }); - element.click(); + mainPageMethods().autoComplete(city); assertThat("Заголовок города равен названию набираемого города", - driver.findElement(By.cssSelector(".inplace.inplace_displayed")).getText(), equalTo(city)); + mainPageMethods().findWidget(city).getText(), equalTo(city)); } @Step("Должны меняться форматы вывода градуса") public void shouldSeeChangeFormatDegree() { - driver.findElement(By.cssSelector(".weather-temperature.md-12")).click(); - assertThat("Не произошло преобразование градусов цельсия в градусы кельвина", driver.findElement(By.cssSelector(".weather-temperature__unit")).getText(), equalTo("°K")); - driver.findElement(By.cssSelector(".weather-temperature.md-12")).click(); - assertThat("Не произошло преобразование градусов в кельвинах в градусы фаренгейта", driver.findElement(By.cssSelector(".weather-temperature__unit")).getText(), equalTo("°F")); - driver.findElement(By.cssSelector(".weather-temperature.md-12")).click(); - assertThat("Не произошло преобразование градусов фаренгейта в градусы °Kaif", driver.findElement(By.cssSelector(".weather-temperature__unit")).getText(), equalTo("°Kaif")); + mainPageMethods().allWidgets().get(0).getWeatherBlock().click(); + assertThat("Не произошло преобразование градусов цельсия в градусы кельвина", + mainPageMethods().allWidgets().get(0).getWeatherType().getText(), equalTo(KELVIN)); + mainPageMethods().allWidgets().get(0).getWeatherBlock().click(); + assertThat("Не произошло преобразование градусов в кельвинах в градусы фаренгейта", + mainPageMethods().allWidgets().get(0).getWeatherType().getText(), equalTo(FARINGEIT)); + mainPageMethods().allWidgets().get(0).getWeatherBlock().click(); + assertThat("Не произошло преобразование градусов фаренгейта в градусы °Kaif", + mainPageMethods().allWidgets().get(0).getWeatherType().getText(), equalTo(KAIF)); + } + + @Step("Начальное открытие виджета, единица измерений температуры Цельсий") + public void shouldSeeTemperatureCelcium() { + assertThat("Начальное значение температуры не в Цельсиях", mainPageMethods().allWidgets().get(0).getWeatherType().getText(), equalTo(CELCIUM)); } private MainPage onMainPage() { From 528b4f986350994f61910ccfc36274cdafb00012 Mon Sep 17 00:00:00 2001 From: "merkushev.io" Date: Wed, 20 Apr 2016 14:40:59 +0400 Subject: [PATCH 10/82] add to tp --- .../test/java/ru/qatools/school/webtests/WeatherWebTest.java | 2 ++ 1 file changed, 2 insertions(+) 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 7e8a759..914b4b3 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 @@ -18,6 +18,8 @@ public class WeatherWebTest { @Rule public WebDriverRule webDriverRule = new WebDriverRule(); + @Rule + public TPInformerRule tms = new TPInformerRule("merkushevio"); @Before From 1c897c83ea4d4dae1028422f30d6c0e07f71e076 Mon Sep 17 00:00:00 2001 From: Kirill Merkushev Date: Tue, 19 Apr 2016 12:30:03 +0300 Subject: [PATCH 11/82] tp-rule --- .../qatools/school/tp/ConnectedToTPTest.java | 48 ++++++++++++++ pom.xml | 8 +++ steps-module/pom.xml | 6 ++ .../ru/qatools/school/tp/TPInformerRule.java | 64 +++++++++++++++++++ .../ru/qatools/school/tp/client/TPClient.java | 49 ++++++++++++++ 5 files changed, 175 insertions(+) create mode 100644 commons-module/src/test/java/ru/qatools/school/tp/ConnectedToTPTest.java create mode 100644 steps-module/src/main/java/ru/qatools/school/tp/TPInformerRule.java create mode 100644 steps-module/src/main/java/ru/qatools/school/tp/client/TPClient.java diff --git a/commons-module/src/test/java/ru/qatools/school/tp/ConnectedToTPTest.java b/commons-module/src/test/java/ru/qatools/school/tp/ConnectedToTPTest.java new file mode 100644 index 0000000..cc66bbe --- /dev/null +++ b/commons-module/src/test/java/ru/qatools/school/tp/ConnectedToTPTest.java @@ -0,0 +1,48 @@ +package ru.qatools.school.tp; + +import org.junit.Rule; +import org.junit.Test; +import ru.yandex.qatools.allure.annotations.TestCaseId; + +import java.io.IOException; + +import static java.util.concurrent.TimeUnit.SECONDS; +import static junit.framework.TestCase.fail; +import static org.hamcrest.Matchers.is; +import static org.junit.Assume.assumeThat; + + +public class ConnectedToTPTest { + + @Rule + public TPInformerRule tms = new TPInformerRule("ruletest"); + + + @Test + @TestCaseId("1") + public void shouldMarkCaseStatusAsPassed() throws IOException, InterruptedException { + SECONDS.sleep(15); + } + + + @Test + @TestCaseId("2") + public void shouldFail() throws IOException, InterruptedException { + SECONDS.sleep(5); + fail(); + } + + @Test + @TestCaseId("3") + public void shouldBroke() throws IOException, InterruptedException { + SECONDS.sleep(5); + throw new RuntimeException(); + } + + @Test + @TestCaseId("4") + public void shouldBeSkipped() throws IOException, InterruptedException { + SECONDS.sleep(5); + assumeThat(true, is(false)); + } +} diff --git a/pom.xml b/pom.xml index 208222f..a32202a 100644 --- a/pom.xml +++ b/pom.xml @@ -36,6 +36,14 @@ + + + + com.jayway.restassured + rest-assured + 2.9.0 + + ru.yandex.qatools.allure allure-junit-adaptor diff --git a/steps-module/pom.xml b/steps-module/pom.xml index 37efd44..9bcfe79 100644 --- a/steps-module/pom.xml +++ b/steps-module/pom.xml @@ -40,6 +40,12 @@ ru.yandex.qatools.htmlelements htmlelements-matchers + + + com.jayway.restassured + rest-assured + + diff --git a/steps-module/src/main/java/ru/qatools/school/tp/TPInformerRule.java b/steps-module/src/main/java/ru/qatools/school/tp/TPInformerRule.java new file mode 100644 index 0000000..62857d2 --- /dev/null +++ b/steps-module/src/main/java/ru/qatools/school/tp/TPInformerRule.java @@ -0,0 +1,64 @@ +package ru.qatools.school.tp; + +import org.junit.AssumptionViolatedException; +import org.junit.rules.TestWatcher; +import org.junit.runner.Description; +import ru.qatools.school.tp.client.TPClient; +import ru.yandex.qatools.allure.annotations.TestCaseId; + +import static com.google.common.collect.Lists.newArrayList; +import static java.lang.System.currentTimeMillis; + +/** + * @author lanwen (Merkushev Kirill) + */ +public class TPInformerRule extends TestWatcher { + + private String project; + private long start; + + public TPInformerRule(String project) { + this.project = project; + } + + @Override + protected void starting(Description description) { + start = currentTimeMillis(); + updateWithStatus("STARTED", description); + } + + @Override + protected void skipped(AssumptionViolatedException e, Description description) { + updateWithStatus("SKIPPED", description); + } + + @Override + protected void failed(Throwable e, Description description) { + if (e instanceof AssertionError) { + updateWithStatus("FAILED", description); + } else { + updateWithStatus("BROKEN", description); + } + } + + @Override + protected void succeeded(Description description) { + updateWithStatus("PASSED", description); + } + + private void updateWithStatus(String status, Description description) { + if (description.getAnnotation(TestCaseId.class) != null) { + TPClient.callUpdate(project, + newArrayList( + new TPClient.TCaseStatus(new TPClient.TCase(idFrom(description)), + status, + currentTimeMillis() - start + ))); + } + } + + private String idFrom(Description description) { + return description.getAnnotation(TestCaseId.class).value(); + } + +} diff --git a/steps-module/src/main/java/ru/qatools/school/tp/client/TPClient.java b/steps-module/src/main/java/ru/qatools/school/tp/client/TPClient.java new file mode 100644 index 0000000..85016ff --- /dev/null +++ b/steps-module/src/main/java/ru/qatools/school/tp/client/TPClient.java @@ -0,0 +1,49 @@ +package ru.qatools.school.tp.client; + +import com.jayway.restassured.RestAssured; +import com.jayway.restassured.http.ContentType; + +import java.util.List; + +/** + * @author lanwen (Merkushev Kirill) + */ +public class TPClient { + + private static final String ENDPOINT = System.getProperty("tp.api.endpoint", "http://localhost/"); + private static final String TOKEN = System.getProperty("tp.api.token", "empty"); + private static final String RUN = System.getProperty("tp.api.run", "empty"); + + public static void callUpdate(String project, List statuses) { + RestAssured.given() + .relaxedHTTPSValidation() + .log().all() + .baseUri(ENDPOINT) + .basePath("/api/") + .header("TestPalm-Api-Token", TOKEN) + .contentType(ContentType.JSON) + .body(statuses) + .when().log().all().post("/testrun/{project}/{run}/bulk", project, RUN).peek(); + } + + public static class TCaseStatus { + private TCase testCase; + private String status; + private Long duration; + + public TCaseStatus(TCase testCase, String status, Long duration) { + this.testCase = testCase; + this.status = status; + this.duration = duration; + } + } + + public static class TCase { + private String id; + + public TCase(String id) { + this.id = id; + } + } + +} From f24f4d2df96b1340c4c7cff1b556b0c0101c2dc7 Mon Sep 17 00:00:00 2001 From: "merkushev.io" Date: Wed, 20 Apr 2016 13:56:43 +0300 Subject: [PATCH 12/82] tp log errors --- commons-module/ajcore.20160420.125320.429.txt | 168 +++++++++++++++++ commons-module/ajcore.20160420.125320.516.txt | 113 ++++++++++++ commons-module/ajcore.20160420.134534.084.txt | 174 ++++++++++++++++++ commons-module/ajcore.20160420.134534.212.txt | 115 ++++++++++++ .../school/webtests/WeatherWebTest.java | 1 + 5 files changed, 571 insertions(+) create mode 100644 commons-module/ajcore.20160420.125320.429.txt create mode 100644 commons-module/ajcore.20160420.125320.516.txt create mode 100644 commons-module/ajcore.20160420.134534.084.txt create mode 100644 commons-module/ajcore.20160420.134534.212.txt 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/src/test/java/ru/qatools/school/webtests/WeatherWebTest.java b/commons-module/src/test/java/ru/qatools/school/webtests/WeatherWebTest.java index 914b4b3..443b21e 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,6 +6,7 @@ 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.Title; From da1ca428f4077db4b427c0ad2ee1dfbf17ea6236 Mon Sep 17 00:00:00 2001 From: "merkushev.io" Date: Wed, 20 Apr 2016 14:34:26 +0300 Subject: [PATCH 13/82] correct config test for test palm --- commons-module/ajcore.20160420.125320.429.txt | 168 ----------------- commons-module/ajcore.20160420.125320.516.txt | 113 ------------ commons-module/ajcore.20160420.134534.084.txt | 174 ------------------ commons-module/ajcore.20160420.134534.212.txt | 115 ------------ 4 files changed, 570 deletions(-) delete mode 100644 commons-module/ajcore.20160420.125320.429.txt delete mode 100644 commons-module/ajcore.20160420.125320.516.txt delete mode 100644 commons-module/ajcore.20160420.134534.084.txt delete mode 100644 commons-module/ajcore.20160420.134534.212.txt diff --git a/commons-module/ajcore.20160420.125320.429.txt b/commons-module/ajcore.20160420.125320.429.txt deleted file mode 100644 index f57916e..0000000 --- a/commons-module/ajcore.20160420.125320.429.txt +++ /dev/null @@ -1,168 +0,0 @@ ----- 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 deleted file mode 100644 index 17064f5..0000000 --- a/commons-module/ajcore.20160420.125320.516.txt +++ /dev/null @@ -1,113 +0,0 @@ ----- 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 deleted file mode 100644 index e1eb5f7..0000000 --- a/commons-module/ajcore.20160420.134534.084.txt +++ /dev/null @@ -1,174 +0,0 @@ ----- 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 deleted file mode 100644 index 69c5db6..0000000 --- a/commons-module/ajcore.20160420.134534.212.txt +++ /dev/null @@ -1,115 +0,0 @@ ----- 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) - From e0e05eb34d7cba43a1ebe56717ae9db1aedf0db7 Mon Sep 17 00:00:00 2001 From: "merkushev.io" Date: Wed, 20 Apr 2016 18:13:00 +0300 Subject: [PATCH 14/82] refactor autocomplete add PO for elements in widget --- .../school/webtests/WeatherWebTest.java | 26 +++++++++++-- .../ru/qatools/school/pages/MainPage.java | 16 ++++++++ .../qatools/school/pages/MainPageMethods.java | 39 +++++++++---------- .../qatools/school/rules/WebDriverRule.java | 2 +- .../school/steps/websteps/DefaultSteps.java | 14 +++++++ 5 files changed, 71 insertions(+), 26 deletions(-) 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 443b21e..513cac6 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 @@ -19,8 +19,8 @@ public class WeatherWebTest { @Rule public WebDriverRule webDriverRule = new WebDriverRule(); - @Rule - public TPInformerRule tms = new TPInformerRule("merkushevio"); + //@Rule + //public TPInformerRule tms = new TPInformerRule("merkushevio"); @Before @@ -28,6 +28,10 @@ public void initSteps() { defaultSteps = new DefaultSteps(webDriverRule.getDriver()); } + private MainPage onMainPage() { + return new MainPage(webDriverRule.getDriver()); + } + @Test @ru.yandex.qatools.allure.annotations.TestCaseId("1") @Title("Должны видеть виджет на главной странице") @@ -44,8 +48,20 @@ public void shouldSeeWidgetWithTitleCity() { defaultSteps.shouldSeeTitleWidgetEqualCity(MOSCOW); } - private MainPage onMainPage() { - return new MainPage(webDriverRule.getDriver()); + @Test + @Title("Должны увидеть страницу с кнопокой добавить виджет") + @ru.yandex.qatools.allure.annotations.TestCaseId("1") + public void shouldSeeButtonOnMainPage() { + defaultSteps.openMainPageWithCity(""); + defaultSteps.shouldSeeButtonAddWidgetOnMainPage(); + } + + @Test + @Title("Не указав город должны увидеть только кнопку добавления виджета") + @ru.yandex.qatools.allure.annotations.TestCaseId("1") + public void shouldSeeOnlyButtonAddWidget() { + defaultSteps.openMainPageWithCity(""); + defaultSteps.shouldSeeOnlyButtonAddWidget(); } @Test @@ -88,6 +104,8 @@ public void shouldSeeTemperatureCelcium() { defaultSteps.shouldSeeTemperatureCelcium(); } + + } 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 2709d8c..8cabced 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 @@ -44,6 +44,14 @@ public MainPage(WebDriver driver) { @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; + public List getWeatherWidget() { return weatherWidget; } @@ -64,6 +72,14 @@ public List getAutoCompleteValues() { return autoCompleteValues; } + public List getTitleValues() { + return titleValues; + } + + public List getInfoValues() { + return infoValues; + } + public List getListTemperatures() { return listTemperatures; } diff --git a/steps-module/src/main/java/ru/qatools/school/pages/MainPageMethods.java b/steps-module/src/main/java/ru/qatools/school/pages/MainPageMethods.java index 7195c26..ebdf91a 100644 --- a/steps-module/src/main/java/ru/qatools/school/pages/MainPageMethods.java +++ b/steps-module/src/main/java/ru/qatools/school/pages/MainPageMethods.java @@ -39,17 +39,13 @@ public void addWidget() { } public WebElement findWidget(String city) { - WebElement element = (new WebDriverWait(driver, 3)) - .until((ExpectedCondition) d -> { - List widgets = mainPage.getPlaces(); - for (WebElement widget : widgets) { - if (widget.getText().equals(city)) { - return widget; - } - } - return null; - }); - return element; + List widget = mainPage.getPlaces(); + for (WebElement element : widget) { + if (element.getText().equals(city)) { + return element; + } + } + return null; } public void renameWidget(String oldName, String newName) { @@ -70,16 +66,13 @@ public void autoComplete(String city) { mainPage.getPlaces().get(0).click(); mainPage.getEditPlace().clear(); mainPage.getEditPlace().sendKeys(city.substring(0, city.length()/2)); - WebElement element = (new WebDriverWait(driver, 5)) - .until((ExpectedCondition) d -> { - List widgets = mainPage.getAutoCompleteValues(); - for (WebElement widget : widgets) { - if (widget.getText().equals(city)) { - return widget; - } - } - return null; - }); + WebElement element = null; + List widget = mainPage.getAutoCompleteValues(); + for (WebElement elem : widget) { + if (elem.getText().equals(city)) { + element = elem; + } + } element.click(); } @@ -105,4 +98,8 @@ protected boolean matchesSafely(String city, Description mismatch) { } }; } + + public MainPage getMainPage() { + return mainPage; + } } 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 abfb0a4..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 @@ -15,7 +15,7 @@ public class WebDriverRule extends ExternalResource { protected void before() throws Throwable { this.driver = new FirefoxDriver(); - //driver.manage().window().maximize(); + driver.manage().window().maximize(); driver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS); } 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 f9012d4..98738f1 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 @@ -1,5 +1,6 @@ package ru.qatools.school.steps.websteps; +import com.thoughtworks.selenium.condition.Not; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; @@ -11,6 +12,7 @@ import ru.yandex.qatools.allure.annotations.Step; import java.util.List; import static java.lang.String.format; +import static org.hamcrest.CoreMatchers.notNullValue; import static org.hamcrest.core.Is.is; import static org.hamcrest.core.IsEqual.equalTo; import static org.junit.Assert.assertThat; @@ -56,10 +58,22 @@ private void addWidgetOnMainPage(String city) { mainPageMethods().renameWidget(NEW_WIDGET, city); } + @Step("На главной странице без виджетов отображается кнопка добавить виджет") + public void shouldSeeButtonAddWidgetOnMainPage() { + assertThat("На главной странице нет кнопки добавит виджет", mainPageMethods().getMainPage().getAddWidget(), isDisplayed()); + } + + @Step("На главной странице должна быть только кнопка добавления города") + public void shouldSeeOnlyButtonAddWidget() { + assertThat("На главной странице только кнопка добавления виджета", mainPageMethods().allWidgets().size(), is(0)); + } + @Step("На главной странице виджеты добавляются") public void shouldSeeWidgetAdd(String city) { + int count = mainPageMethods().countWidgets(); addWidgetOnMainPage(city); assertThat("Widget has", city, is(mainPageMethods().hasItem(city))); + assertThat("Количество виджетов не увеличелось", mainPageMethods().allWidgets().size(), is(count + 1)); } @Step("На главной странице виджет можно удалить") From e3d2abba31c40b6a9d6053bb1d057c390fd55803 Mon Sep 17 00:00:00 2001 From: "merkushev.io" Date: Wed, 20 Apr 2016 18:51:41 +0300 Subject: [PATCH 15/82] add test for view --- .../school/webtests/WeatherWebTest.java | 78 +++++++++++++++++++ .../ru/qatools/school/pages/MainPage.java | 41 ++++++++++ .../school/pages/blocks/WeatherWidget.java | 2 + 3 files changed, 121 insertions(+) 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 513cac6..8d90523 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 @@ -104,8 +104,86 @@ public void shouldSeeTemperatureCelcium() { defaultSteps.shouldSeeTemperatureCelcium(); } + @Test + @Title("Должны увидеть надпись показателя рассвета") + public void shouldSeeTitleSunrise() { + + } + + @Test + @Title("Должны увидеть надпись показателя заката") + public void shouldSeeTitleSunset() { + + } + + @Test + @Title("Должны увидеть надпись показателя скорости ветра") + public void shouldSeeTitleWind() { + + } + + @Test + @Title("Должны увидеть надпись показателя влажности") + public void shouldSeeTitleHumidity() { + + } + + @Test + @Title("Должны увидеть картинку для показателя рассвета") + public void shouldSeeImageSunrise() { + + } + + @Test + @Title("Должны увидеть картинку для показателя рассвета") + public void shouldSeeImageSunset() { + + } + + @Test + @Title("Должны увидеть картинку для показателя рассвета") + public void shouldSeeImageWind() { + + } + + @Test + @Title("Должны увидеть картинку для показателя рассвета") + public void shouldSeeImageHumidity() { + + } + + @Test + @Title("Должны увидеть основную картинку виджета") + public void shouldSeeMainImage() { + + } + + @Test + @Title("Должны увидеть формат времени для значения поля рассвет") + public void shouldSeeFormatTimeSunrise() { + + } + + @Test + @Title("Должны увидеть формат времени для значения поля закат") + public void shouldSeeFormatTimeSunset() { + + } + + @Test + @Title("Должны увидеть формат скорости для значения поля скорость ветра") + public void shouldSeeFormatSpeedWind() { + + } + + @Test + @Title("Должны увидеть формат времени для значения поля влажность") + public void shouldSeeFormatHumidity() { + + } } + 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 8cabced..23c54b3 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 @@ -52,6 +52,27 @@ public MainPage(WebDriver driver) { @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.weather-image") + private WebElement mainImage; + public List getWeatherWidget() { return weatherWidget; } @@ -76,6 +97,10 @@ public List getTitleValues() { return titleValues; } + public List getTimeOnWidget() { + return timeOnWidget; + } + public List getInfoValues() { return infoValues; } @@ -84,4 +109,20 @@ public List getListTemperatures() { return listTemperatures; } + public WebElement getSunrise() { + return sunrise; + } + + public WebElement getSunset() { + return sunset; + } + + public WebElement getWind() { + return wind; + } + + public WebElement getMainImage() { + return 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 71bf0af..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. */ From b328619d1a32b9d95c11b00f4b259e081613abb4 Mon Sep 17 00:00:00 2001 From: Igor Merkushev Date: Thu, 21 Apr 2016 15:56:05 +0300 Subject: [PATCH 16/82] test cases and skipped test with bug --- .../school/webtests/WeatherWebTest.java | 91 +++++++++----- .../ru/qatools/school/pages/MainPage.java | 12 +- .../qatools/school/pages/MainPageMethods.java | 52 +++++--- .../school/steps/websteps/DefaultSteps.java | 117 +++++++++++++++--- 4 files changed, 210 insertions(+), 62 deletions(-) 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 8d90523..3e679e3 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 @@ -19,8 +19,8 @@ public class WeatherWebTest { @Rule public WebDriverRule webDriverRule = new WebDriverRule(); - //@Rule - //public TPInformerRule tms = new TPInformerRule("merkushevio"); + @Rule + public TPInformerRule tms = new TPInformerRule("merkushevio"); @Before @@ -56,13 +56,13 @@ public void shouldSeeButtonOnMainPage() { defaultSteps.shouldSeeButtonAddWidgetOnMainPage(); } - @Test - @Title("Не указав город должны увидеть только кнопку добавления виджета") - @ru.yandex.qatools.allure.annotations.TestCaseId("1") - public void shouldSeeOnlyButtonAddWidget() { - defaultSteps.openMainPageWithCity(""); - defaultSteps.shouldSeeOnlyButtonAddWidget(); - } +// @Test +// @Title("Не указав город должны увидеть только кнопку добавления виджета") +// @ru.yandex.qatools.allure.annotations.TestCaseId("2") +// public void shouldSeeOnlyButtonAddWidget() { +// defaultSteps.openMainPageWithCity(""); +// defaultSteps.shouldSeeOnlyButtonAddWidget(); +// } @Test @Title("Должны видеть добавленный виджет на главной странице") @@ -77,20 +77,29 @@ public void shouldSeeAddWidgetOnMainPage() { @ru.yandex.qatools.allure.annotations.TestCaseId("3") public void shouldSeeRemoveWidgetOnMainPage() { defaultSteps.openMainPageWithCity(SPB); + defaultSteps.addWidgetOnMainPage(MOSCOW); defaultSteps.shouldSeeWidgetRemove(); } @Test - @Title("Должны увидеть автозаполнение при не полном наборе названия") - @ru.yandex.qatools.allure.annotations.TestCaseId("4") + @Title("Должны увидеть автозаполнение при не полном наборе названия виджета") + @ru.yandex.qatools.allure.annotations.TestCaseId("10") public void shouldAutoCompleteCity() { defaultSteps.openMainPageWithCity(MOSCOW); defaultSteps.shouldAutocompliteCity(SPB); } + @Test + @Title("Должны увидеть переименование названия виджета") + @ru.yandex.qatools.allure.annotations.TestCaseId("4") + public void shouldSeeRenameWidget() { + defaultSteps.openMainPageWithCity(MOSCOW); + defaultSteps.shouldSeeRenameWidget(MOSCOW, SPB); + } + @Test @Title("Должны меняться форматы вывода градуса") - @ru.yandex.qatools.allure.annotations.TestCaseId("6") + @ru.yandex.qatools.allure.annotations.TestCaseId("9") public void shouldSeeChangeFormatDegree() { defaultSteps.openMainPageWithCity(SPB); defaultSteps.shouldSeeChangeFormatDegree(); @@ -98,7 +107,7 @@ public void shouldSeeChangeFormatDegree() { @Test @Title("Открываем виджет, единица измерения температуры Цельсий") - @ru.yandex.qatools.allure.annotations.TestCaseId("5") + @ru.yandex.qatools.allure.annotations.TestCaseId("8") public void shouldSeeTemperatureCelcium() { defaultSteps.openMainPageWithCity(MOSCOW); defaultSteps.shouldSeeTemperatureCelcium(); @@ -106,50 +115,66 @@ public void shouldSeeTemperatureCelcium() { @Test @Title("Должны увидеть надпись показателя рассвета") + @ru.yandex.qatools.allure.annotations.TestCaseId("8") public void shouldSeeTitleSunrise() { - + defaultSteps.openMainPageWithCity(MOSCOW); + defaultSteps.shouldSeeTitleSunrise(); } @Test @Title("Должны увидеть надпись показателя заката") + @ru.yandex.qatools.allure.annotations.TestCaseId("8") public void shouldSeeTitleSunset() { - + defaultSteps.openMainPageWithCity(MOSCOW); + defaultSteps.shouldSeeTitleSunset(); } @Test @Title("Должны увидеть надпись показателя скорости ветра") + @ru.yandex.qatools.allure.annotations.TestCaseId("8") public void shouldSeeTitleWind() { - + defaultSteps.openMainPageWithCity(MOSCOW); + defaultSteps.shouldSeeTitleWind(); } @Test @Title("Должны увидеть надпись показателя влажности") + @ru.yandex.qatools.allure.annotations.TestCaseId("8") public void shouldSeeTitleHumidity() { - + defaultSteps.openMainPageWithCity(MOSCOW); + defaultSteps.shouldSeeTitleHumidity(); } @Test @Title("Должны увидеть картинку для показателя рассвета") + @ru.yandex.qatools.allure.annotations.TestCaseId("8") public void shouldSeeImageSunrise() { - + defaultSteps.openMainPageWithCity(SPB); + defaultSteps.shouldSeeImageSunrise(); } @Test @Title("Должны увидеть картинку для показателя рассвета") + @ru.yandex.qatools.allure.annotations.TestCaseId("8") public void shouldSeeImageSunset() { - + defaultSteps.openMainPageWithCity(SPB); + defaultSteps.shouldSeeImageSunset(); } @Test @Title("Должны увидеть картинку для показателя рассвета") + @ru.yandex.qatools.allure.annotations.TestCaseId("8") public void shouldSeeImageWind() { - + defaultSteps.openMainPageWithCity(SPB); + defaultSteps.shouldSeeImageWind(); } @Test @Title("Должны увидеть картинку для показателя рассвета") + @ru.yandex.qatools.allure.annotations.TestCaseId("8") public void shouldSeeImageHumidity() { - + defaultSteps.openMainPageWithCity(SPB); + defaultSteps.shouldSeeImageHumidity(); } @Test @@ -159,27 +184,35 @@ public void shouldSeeMainImage() { } @Test - @Title("Должны увидеть формат времени для значения поля рассвет") + @Title("Формат времени для значения поля рассвет должен быть 'xx:xx'") + @ru.yandex.qatools.allure.annotations.TestCaseId("8") public void shouldSeeFormatTimeSunrise() { - + defaultSteps.openMainPageWithCity(MOSCOW); + defaultSteps.shouldSeeFormatTimeSunrise(); } @Test - @Title("Должны увидеть формат времени для значения поля закат") + @Title("Формат времени для значения поля закат должен быть 'xx:xx'") + @ru.yandex.qatools.allure.annotations.TestCaseId("8") public void shouldSeeFormatTimeSunset() { - + defaultSteps.openMainPageWithCity(SPB); + defaultSteps.shouldSeeFormatTimeSunset(); } @Test - @Title("Должны увидеть формат скорости для значения поля скорость ветра") + @Title("Формат времени для значения поля скорость ветра должен быть 'xx m/s'") + @ru.yandex.qatools.allure.annotations.TestCaseId("8") public void shouldSeeFormatSpeedWind() { - + defaultSteps.openMainPageWithCity(SPB); + defaultSteps.shouldSeeFormatSpeedWind(); } @Test - @Title("Должны увидеть формат времени для значения поля влажность") + @Title("Формат времени для значения поля влажность должен быть 'xx %'") + @ru.yandex.qatools.allure.annotations.TestCaseId("8") public void shouldSeeFormatHumidity() { - + defaultSteps.openMainPageWithCity(SPB); + defaultSteps.shouldSeeFormatHumidity(); } 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 23c54b3..4c65ef9 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 @@ -60,14 +60,18 @@ public MainPage(WebDriver driver) { @FindBy(css = ".wi.wi-sunrise") private WebElement sunrise; - @Name("Изображение рассвета") + @Name("Изображение заката") @FindBy(css = ".wi.wi-sunset") private WebElement sunset; - @Name("Изображение рассвета") + @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") @@ -121,6 +125,10 @@ public WebElement getWind() { return wind; } + public WebElement getHumidity() { + return humidity; + } + public WebElement getMainImage() { return mainImage; } diff --git a/steps-module/src/main/java/ru/qatools/school/pages/MainPageMethods.java b/steps-module/src/main/java/ru/qatools/school/pages/MainPageMethods.java index ebdf91a..e191e6d 100644 --- a/steps-module/src/main/java/ru/qatools/school/pages/MainPageMethods.java +++ b/steps-module/src/main/java/ru/qatools/school/pages/MainPageMethods.java @@ -3,24 +3,19 @@ import org.hamcrest.Description; import org.hamcrest.Matcher; import org.hamcrest.TypeSafeDiagnosingMatcher; -import org.openqa.selenium.By; import org.openqa.selenium.Keys; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; -import org.openqa.selenium.support.ui.ExpectedCondition; -import org.openqa.selenium.support.ui.WebDriverWait; import ru.qatools.school.pages.blocks.WeatherWidget; import java.util.List; -import java.util.concurrent.TimeUnit; +import java.util.regex.Pattern; public class MainPageMethods { private MainPage mainPage; - private WebDriver driver; public MainPageMethods(WebDriver driver) { - this.driver = driver; mainPage = new MainPage(driver); } @@ -38,10 +33,9 @@ public void addWidget() { mainPage.getAddWidget().click(); } - public WebElement findWidget(String city) { - List widget = mainPage.getPlaces(); - for (WebElement element : widget) { - if (element.getText().equals(city)) { + public WebElement findElement(List list, String name) { + for (WebElement element : list) { + if (element.getText().equalsIgnoreCase(name)) { return element; } } @@ -49,7 +43,7 @@ public WebElement findWidget(String city) { } public void renameWidget(String oldName, String newName) { - WebElement element = findWidget(oldName); + WebElement element = findElement(getAllPlaces(), oldName); clickOnElement(element); sendChars(mainPage.getEditPlace(), newName); } @@ -62,6 +56,14 @@ public List allWidgets() { return mainPage.getWeatherWidget(); } + 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(); @@ -76,19 +78,35 @@ public void autoComplete(String city) { element.click(); } - public Matcher hasItem(String city) { - final List list = mainPage.getPlaces(); + public 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 Matcher hasItem(List list) { return new TypeSafeDiagnosingMatcher() { @Override public void describeTo(Description description) { - description.appendText("expected place"); + description.appendText("expected list"); } @Override - protected boolean matchesSafely(String city, Description mismatch) { + protected boolean matchesSafely(String word, Description mismatch) { for (WebElement widget : list) { - if (widget.getText().equals(city)) { - mismatch.appendText("return city was ") + if (widget.getText().equals(word)) { + mismatch.appendText("return string was ") .appendValue(widget.getText()); return true; } 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 98738f1..4540988 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 @@ -1,18 +1,12 @@ package ru.qatools.school.steps.websteps; -import com.thoughtworks.selenium.condition.Not; -import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; -import org.openqa.selenium.support.ui.ExpectedCondition; -import org.openqa.selenium.support.ui.WebDriverWait; import ru.qatools.school.pages.MainPage; import ru.qatools.school.pages.MainPageMethods; -import ru.qatools.school.pages.blocks.WeatherWidget; import ru.yandex.qatools.allure.annotations.Step; -import java.util.List; + import static java.lang.String.format; -import static org.hamcrest.CoreMatchers.notNullValue; import static org.hamcrest.core.Is.is; import static org.hamcrest.core.IsEqual.equalTo; import static org.junit.Assert.assertThat; @@ -29,6 +23,14 @@ public class DefaultSteps { private static final String KELVIN = "°K"; private static final String FARINGEIT = "°F"; private static final String KAIF = "°Kaif"; + private static final String SUNRISE = "Sunrise"; + private static final String SUNSET = "Sunset"; + private static final String WIND = "Wind"; + private static final String HUMIDITY = "Humidity"; + private static final String SUNRISE_TIME = "^[0-2][0-9]:[0-5][0-9]$"; + private static final String SUNSET_TIME = "^[0-2][0-9]:[0-5][0-9]$"; + private static final String WIND_SPEED = "^[0-9]+ m/s"; + private static final String HUMIDITY_VALUE = "^[0-9]+ %"; private WebDriver driver; @@ -53,27 +55,36 @@ public void shouldSeeTitleWidgetEqualCity(String city) { onMainPage().getPlaces().get(0).getText(), equalTo(city)); } - private void addWidgetOnMainPage(String city) { + public void addWidgetOnMainPage(String city) { mainPageMethods().addWidget(); mainPageMethods().renameWidget(NEW_WIDGET, city); } @Step("На главной странице без виджетов отображается кнопка добавить виджет") public void shouldSeeButtonAddWidgetOnMainPage() { - assertThat("На главной странице нет кнопки добавит виджет", mainPageMethods().getMainPage().getAddWidget(), isDisplayed()); + assertThat("На главной странице нет кнопки добавит виджет", + mainPageMethods().getMainPage().getAddWidget(), isDisplayed()); } @Step("На главной странице должна быть только кнопка добавления города") public void shouldSeeOnlyButtonAddWidget() { - assertThat("На главной странице только кнопка добавления виджета", mainPageMethods().allWidgets().size(), is(0)); + assertThat("На главной странице только кнопка добавления виджета", + mainPageMethods().allWidgets().size(), is(0)); + } + + @Step("На главной странице переименование название виджета") + public void shouldSeeRenameWidget(String oldName, String newName) { + mainPageMethods().renameWidget(oldName, newName); + assertThat("Widget has", newName, is(mainPageMethods().hasItem(mainPageMethods().getAllPlaces()))); } + @Step("На главной странице виджеты добавляются") public void shouldSeeWidgetAdd(String city) { int count = mainPageMethods().countWidgets(); addWidgetOnMainPage(city); - assertThat("Widget has", city, is(mainPageMethods().hasItem(city))); - assertThat("Количество виджетов не увеличелось", mainPageMethods().allWidgets().size(), is(count + 1)); + assertThat("Widget has", city, is(mainPageMethods().hasItem(mainPageMethods().getAllPlaces()))); + assertThat("Количество виджетов не увеличилось", mainPageMethods().allWidgets().size(), is(count + 1)); } @Step("На главной странице виджет можно удалить") @@ -88,7 +99,7 @@ public void shouldSeeWidgetRemove() { public void shouldAutocompliteCity(String city) { mainPageMethods().autoComplete(city); assertThat("Заголовок города равен названию набираемого города", - mainPageMethods().findWidget(city).getText(), equalTo(city)); + mainPageMethods().getAllPlaces().get(0).getText(), equalTo(city)); } @Step("Должны меняться форматы вывода градуса") @@ -106,7 +117,85 @@ public void shouldSeeChangeFormatDegree() { @Step("Начальное открытие виджета, единица измерений температуры Цельсий") public void shouldSeeTemperatureCelcium() { - assertThat("Начальное значение температуры не в Цельсиях", mainPageMethods().allWidgets().get(0).getWeatherType().getText(), equalTo(CELCIUM)); + assertThat("Начальное значение температуры не в Цельсиях", + mainPageMethods().allWidgets().get(0).getWeatherType().getText(), equalTo(CELCIUM)); + } + + @Step("Должны увидеть надпись показателя рассвета") + public void shouldSeeTitleSunrise() { + assertThat("Заголовка показателя рассвета нет на главной странице", SUNRISE, + mainPageMethods().hasItem(mainPageMethods().getTitleValues())); + assertThat("Заголовок показателя рассвета не отображается на главной странице", + mainPageMethods().findElement(mainPageMethods().getTitleValues(), SUNRISE), isDisplayed()); + } + + @Step("Должны увидеть надпись показателя заката") + public void shouldSeeTitleSunset() { + assertThat("Заголовка показателя рассвета нет на главной странице", SUNSET, + mainPageMethods().hasItem(mainPageMethods().getTitleValues())); + assertThat("Заголовок показателя рассвета не отображается на главной странице", + mainPageMethods().findElement(mainPageMethods().getTitleValues(), SUNSET), isDisplayed()); + } + + @Step("Должны увидеть надпись показателя скорости ветра") + public void shouldSeeTitleWind() { + assertThat("Заголовка показателя рассвета нет на главной странице", WIND, + mainPageMethods().hasItem(mainPageMethods().getTitleValues())); + assertThat("Заголовок показателя рассвета не отображается на главной странице", + mainPageMethods().findElement(mainPageMethods().getTitleValues(), WIND), isDisplayed()); + } + + @Step("Должны увидеть надпись показателя влажности") + public void shouldSeeTitleHumidity() { + assertThat("Заголовка показателя рассвета нет на главной странице", HUMIDITY, + mainPageMethods().hasItem(mainPageMethods().getTitleValues())); + assertThat("Заголовок показателя рассвета не отображается на главной странице", + mainPageMethods().findElement(mainPageMethods().getTitleValues(), HUMIDITY), isDisplayed()); + } + + @Step("Должны увидеть картинку для показателя рассвета") + public void shouldSeeImageSunrise() { + assertThat("Картинка показателя рассвета не отображается", mainPageMethods().getMainPage().getSunrise(), isDisplayed()); + } + + @Step("Должны увидеть картинку для показателя заката") + public void shouldSeeImageSunset() { + assertThat("Картинка показателя заката не отображается", mainPageMethods().getMainPage().getSunset(), isDisplayed()); + } + + @Step("Должны увидеть картинку для показателя скорости ветра") + public void shouldSeeImageWind() { + assertThat("Картинка показателя скорости ветра не отображается", mainPageMethods().getMainPage().getWind(), isDisplayed()); + } + + @Step("Должны увидеть картинку для показателя влажности") + public void shouldSeeImageHumidity() { + assertThat("Картинка показателя влажности не отображается", mainPageMethods().getMainPage().getHumidity(), isDisplayed()); + } + + @Step("Формат времени для значения поля рассвет должен быть 'xx:xx'") + public void shouldSeeFormatTimeSunrise() { + assertThat("Формат времени для значения поля рассвет не 'xx:xx'", + mainPageMethods().getMainPage().getInfoValues().get(0).getText(), mainPageMethods().stringMatcher(SUNRISE_TIME)); + } + + @Step("Формат времени для значения поля закат должен быть 'xx:xx'") + public void shouldSeeFormatTimeSunset() { + assertThat("Формат времени для значения поля закат не 'xx:xx'", + mainPageMethods().getMainPage().getInfoValues().get(1).getText(), mainPageMethods().stringMatcher(SUNSET_TIME)); + } + + @Step("Формат времени для значения поля скорость ветра должен быть 'xx m/s'") + public void shouldSeeFormatSpeedWind() { + assertThat("Формат времени для значения поля скорость ветра не 'xx m/s'", + mainPageMethods().getMainPage().getInfoValues().get(2).getText(), mainPageMethods().stringMatcher(WIND_SPEED)); + } + + + @Step("Формат времени для значения поля влажность должен быть 'xx %'") + public void shouldSeeFormatHumidity() { + assertThat("Формат времени для значения поля влажность не 'xx %'", + mainPageMethods().getMainPage().getInfoValues().get(3).getText(), mainPageMethods().stringMatcher(HUMIDITY_VALUE)); } private MainPage onMainPage() { From 5cc388ecfb09534d68ffcd3e56dd3b5fc6fa8345 Mon Sep 17 00:00:00 2001 From: "merkushev.io" Date: Fri, 22 Apr 2016 10:42:58 +0300 Subject: [PATCH 17/82] refactor tests --- .../school/webtests/WeatherWebTest.java | 151 ++++-------------- .../ru/qatools/school/pages/MainPage.java | 2 +- .../qatools/school/pages/MainPageMethods.java | 6 +- .../school/steps/websteps/DefaultSteps.java | 61 ++++--- 4 files changed, 76 insertions(+), 144 deletions(-) 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 3e679e3..c0e1d1a 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 @@ -37,15 +37,28 @@ private MainPage onMainPage() { @Title("Должны видеть виджет на главной странице") public void shouldSeeWidgetOnMainPage() { defaultSteps.openMainPageWithCity(MOSCOW); - defaultSteps.shouldSee(onMainPage().getWeatherWidget().get(0)); + defaultSteps.shouldSee(onMainPage().getWeatherWidgets().get(0)); + defaultSteps.shouldSeeTitleWidgetEqualCity(MOSCOW); } @Test - @Title("Должны увидеть виджет с именем города на главной странице") + @Title("Должны увидеть все элементы виджета") @ru.yandex.qatools.allure.annotations.TestCaseId("1") - public void shouldSeeWidgetWithTitleCity() { + public void shouldSeeTemperatureCelcium() { defaultSteps.openMainPageWithCity(MOSCOW); - defaultSteps.shouldSeeTitleWidgetEqualCity(MOSCOW); + defaultSteps.shouldSeeTemperatureCelcium(); + defaultSteps.shouldSeeTitleSunrise(); + defaultSteps.shouldSeeTitleSunset(); + defaultSteps.shouldSeeTitleWind(); + defaultSteps.shouldSeeTitleHumidity(); + defaultSteps.shouldSeeImageSunrise(); + defaultSteps.shouldSeeImageSunset(); + defaultSteps.shouldSeeImageWind(); + defaultSteps.shouldSeeImageHumidity(); + defaultSteps.shouldSeeFormatTimeSunrise(); + defaultSteps.shouldSeeFormatTimeSunset(); + defaultSteps.shouldSeeFormatSpeedWind(); + defaultSteps.shouldSeeFormatHumidity(); } @Test @@ -54,15 +67,15 @@ public void shouldSeeWidgetWithTitleCity() { public void shouldSeeButtonOnMainPage() { defaultSteps.openMainPageWithCity(""); defaultSteps.shouldSeeButtonAddWidgetOnMainPage(); + defaultSteps.shouldSeeOnlyButtonAddWidget(); + } + @Test + @Title("Должны увидеть главную страницу с кнопкой добавить виджет") + @ru.yandex.qatools.allure.annotations.TestCaseId("1") + public void shouldSeeButtonAddWidgetOnMainPageWithoutParameter() { + defaultSteps.shouldSeeButtonOnlyAddWidgetOnMainPageWithoutParameter(); + defaultSteps.shouldSeeOnlyButtonAddWidget(); } - -// @Test -// @Title("Не указав город должны увидеть только кнопку добавления виджета") -// @ru.yandex.qatools.allure.annotations.TestCaseId("2") -// public void shouldSeeOnlyButtonAddWidget() { -// defaultSteps.openMainPageWithCity(""); -// defaultSteps.shouldSeeOnlyButtonAddWidget(); -// } @Test @Title("Должны видеть добавленный виджет на главной странице") @@ -95,6 +108,10 @@ public void shouldAutoCompleteCity() { public void shouldSeeRenameWidget() { defaultSteps.openMainPageWithCity(MOSCOW); defaultSteps.shouldSeeRenameWidget(MOSCOW, SPB); + defaultSteps.shouldSeeRenameWidget(SPB, ""); + defaultSteps.shouldSeeRenameWidget("", SPB); + defaultSteps.openMainPageWithCity(MOSCOW); + defaultSteps.shouldSeeRenameWidget(MOSCOW, SPB.substring(0, SPB.length()/2)); } @Test @@ -102,118 +119,14 @@ public void shouldSeeRenameWidget() { @ru.yandex.qatools.allure.annotations.TestCaseId("9") public void shouldSeeChangeFormatDegree() { defaultSteps.openMainPageWithCity(SPB); - defaultSteps.shouldSeeChangeFormatDegree(); - } - - @Test - @Title("Открываем виджет, единица измерения температуры Цельсий") - @ru.yandex.qatools.allure.annotations.TestCaseId("8") - public void shouldSeeTemperatureCelcium() { - defaultSteps.openMainPageWithCity(MOSCOW); defaultSteps.shouldSeeTemperatureCelcium(); + defaultSteps.shouldSeeChangeFormatDegreeCelciumToKelvin(); + defaultSteps.shouldSeeChangeFormatDegreeKelvinToFarengeit(); + defaultSteps.shouldSeeChangeFormatDegreeFarengeitToKaif(); } - @Test - @Title("Должны увидеть надпись показателя рассвета") - @ru.yandex.qatools.allure.annotations.TestCaseId("8") - public void shouldSeeTitleSunrise() { - defaultSteps.openMainPageWithCity(MOSCOW); - defaultSteps.shouldSeeTitleSunrise(); - } - - @Test - @Title("Должны увидеть надпись показателя заката") - @ru.yandex.qatools.allure.annotations.TestCaseId("8") - public void shouldSeeTitleSunset() { - defaultSteps.openMainPageWithCity(MOSCOW); - defaultSteps.shouldSeeTitleSunset(); - } - - @Test - @Title("Должны увидеть надпись показателя скорости ветра") - @ru.yandex.qatools.allure.annotations.TestCaseId("8") - public void shouldSeeTitleWind() { - defaultSteps.openMainPageWithCity(MOSCOW); - defaultSteps.shouldSeeTitleWind(); - } - @Test - @Title("Должны увидеть надпись показателя влажности") - @ru.yandex.qatools.allure.annotations.TestCaseId("8") - public void shouldSeeTitleHumidity() { - defaultSteps.openMainPageWithCity(MOSCOW); - defaultSteps.shouldSeeTitleHumidity(); - } - @Test - @Title("Должны увидеть картинку для показателя рассвета") - @ru.yandex.qatools.allure.annotations.TestCaseId("8") - public void shouldSeeImageSunrise() { - defaultSteps.openMainPageWithCity(SPB); - defaultSteps.shouldSeeImageSunrise(); - } - - @Test - @Title("Должны увидеть картинку для показателя рассвета") - @ru.yandex.qatools.allure.annotations.TestCaseId("8") - public void shouldSeeImageSunset() { - defaultSteps.openMainPageWithCity(SPB); - defaultSteps.shouldSeeImageSunset(); - } - - @Test - @Title("Должны увидеть картинку для показателя рассвета") - @ru.yandex.qatools.allure.annotations.TestCaseId("8") - public void shouldSeeImageWind() { - defaultSteps.openMainPageWithCity(SPB); - defaultSteps.shouldSeeImageWind(); - } - - @Test - @Title("Должны увидеть картинку для показателя рассвета") - @ru.yandex.qatools.allure.annotations.TestCaseId("8") - public void shouldSeeImageHumidity() { - defaultSteps.openMainPageWithCity(SPB); - defaultSteps.shouldSeeImageHumidity(); - } - - @Test - @Title("Должны увидеть основную картинку виджета") - public void shouldSeeMainImage() { - - } - - @Test - @Title("Формат времени для значения поля рассвет должен быть 'xx:xx'") - @ru.yandex.qatools.allure.annotations.TestCaseId("8") - public void shouldSeeFormatTimeSunrise() { - defaultSteps.openMainPageWithCity(MOSCOW); - defaultSteps.shouldSeeFormatTimeSunrise(); - } - - @Test - @Title("Формат времени для значения поля закат должен быть 'xx:xx'") - @ru.yandex.qatools.allure.annotations.TestCaseId("8") - public void shouldSeeFormatTimeSunset() { - defaultSteps.openMainPageWithCity(SPB); - defaultSteps.shouldSeeFormatTimeSunset(); - } - - @Test - @Title("Формат времени для значения поля скорость ветра должен быть 'xx m/s'") - @ru.yandex.qatools.allure.annotations.TestCaseId("8") - public void shouldSeeFormatSpeedWind() { - defaultSteps.openMainPageWithCity(SPB); - defaultSteps.shouldSeeFormatSpeedWind(); - } - - @Test - @Title("Формат времени для значения поля влажность должен быть 'xx %'") - @ru.yandex.qatools.allure.annotations.TestCaseId("8") - public void shouldSeeFormatHumidity() { - defaultSteps.openMainPageWithCity(SPB); - defaultSteps.shouldSeeFormatHumidity(); - } } 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 4c65ef9..a88f046 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 @@ -77,7 +77,7 @@ public MainPage(WebDriver driver) { @FindBy(css = ".wi.weather-image") private WebElement mainImage; - public List getWeatherWidget() { + public List getWeatherWidgets() { return weatherWidget; } diff --git a/steps-module/src/main/java/ru/qatools/school/pages/MainPageMethods.java b/steps-module/src/main/java/ru/qatools/school/pages/MainPageMethods.java index e191e6d..a805e5f 100644 --- a/steps-module/src/main/java/ru/qatools/school/pages/MainPageMethods.java +++ b/steps-module/src/main/java/ru/qatools/school/pages/MainPageMethods.java @@ -49,11 +49,11 @@ public void renameWidget(String oldName, String newName) { } public int countWidgets() { - return mainPage.getWeatherWidget().size(); + return mainPage.getWeatherWidgets().size(); } - public List allWidgets() { - return mainPage.getWeatherWidget(); + public List getAllWidgets() { + return mainPage.getWeatherWidgets(); } public List getAllPlaces() { 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 4540988..3d7844a 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 @@ -18,6 +18,7 @@ public class DefaultSteps { public static final String MAIN_PAGE = "http://weather.lanwen.ru/#?cities=%s"; + private static final String MAIN_PAGE_WITHOUT_PARAMETERS = "http://weather.lanwen.ru/"; private static final String NEW_WIDGET = "What a city?"; private static final String CELCIUM = "°C"; private static final String KELVIN = "°K"; @@ -44,6 +45,11 @@ public void openMainPageWithCity(String city) { driver.get(format(MAIN_PAGE, city)); } + @Step("Открываем главную страницу без параметра»") + public void openMainPageWithoutParameter() { + driver.get(MAIN_PAGE_WITHOUT_PARAMETERS); + } + @Step("Должны видеть на странице «{0}»") public void shouldSee(WebElement element) { assertThat("Должны видеть элемент", element, isDisplayed()); @@ -69,7 +75,13 @@ public void shouldSeeButtonAddWidgetOnMainPage() { @Step("На главной странице должна быть только кнопка добавления города") public void shouldSeeOnlyButtonAddWidget() { assertThat("На главной странице только кнопка добавления виджета", - mainPageMethods().allWidgets().size(), is(0)); + mainPageMethods().getAllWidgets().size(), is(0)); + } + + @Step("Должны увидеть главную страницу с кнопкой добавить виджет") + public void shouldSeeButtonOnlyAddWidgetOnMainPageWithoutParameter() { + openMainPageWithoutParameter(); + assertThat("На главной странице не отображатся кнопка добавить виджет", onMainPage().getAddWidget(), isDisplayed()); } @Step("На главной странице переименование название виджета") @@ -78,19 +90,18 @@ public void shouldSeeRenameWidget(String oldName, String newName) { assertThat("Widget has", newName, is(mainPageMethods().hasItem(mainPageMethods().getAllPlaces()))); } - @Step("На главной странице виджеты добавляются") public void shouldSeeWidgetAdd(String city) { int count = mainPageMethods().countWidgets(); addWidgetOnMainPage(city); assertThat("Widget has", city, is(mainPageMethods().hasItem(mainPageMethods().getAllPlaces()))); - assertThat("Количество виджетов не увеличилось", mainPageMethods().allWidgets().size(), is(count + 1)); + assertThat("Количество виджетов не увеличилось", mainPageMethods().getAllWidgets().size(), is(count + 1)); } @Step("На главной странице виджет можно удалить") public void shouldSeeWidgetRemove() { int count = mainPageMethods().countWidgets(); - mainPageMethods().clickOnElement(mainPageMethods().allWidgets().get(0).getRemoveBtn()); + mainPageMethods().clickOnElement(mainPageMethods().getAllWidgets().get(0).getRemoveBtn()); assertThat("Количество виджетов не уменьшилось после удаления одного виджета", mainPageMethods().countWidgets(), is(count - 1)); } @@ -102,23 +113,31 @@ public void shouldAutocompliteCity(String city) { mainPageMethods().getAllPlaces().get(0).getText(), equalTo(city)); } - @Step("Должны меняться форматы вывода градуса") - public void shouldSeeChangeFormatDegree() { - mainPageMethods().allWidgets().get(0).getWeatherBlock().click(); + @Step("Должны увидеть изменение формата вывода градусов") + public void shouldSeeChangeFormatDegreeCelciumToKelvin() { + mainPageMethods().getAllWidgets().get(0).getWeatherBlock().click(); assertThat("Не произошло преобразование градусов цельсия в градусы кельвина", - mainPageMethods().allWidgets().get(0).getWeatherType().getText(), equalTo(KELVIN)); - mainPageMethods().allWidgets().get(0).getWeatherBlock().click(); + mainPageMethods().getAllWidgets().get(0).getWeatherType().getText(), equalTo(KELVIN)); + } + + @Step("Должны увидеть изменение формата вывода градусов") + public void shouldSeeChangeFormatDegreeKelvinToFarengeit() { + mainPageMethods().getAllWidgets().get(0).getWeatherBlock().click(); assertThat("Не произошло преобразование градусов в кельвинах в градусы фаренгейта", - mainPageMethods().allWidgets().get(0).getWeatherType().getText(), equalTo(FARINGEIT)); - mainPageMethods().allWidgets().get(0).getWeatherBlock().click(); + mainPageMethods().getAllWidgets().get(0).getWeatherType().getText(), equalTo(FARINGEIT)); + } + + @Step("Должны увидеть изменение формата вывода градусов") + public void shouldSeeChangeFormatDegreeFarengeitToKaif() { + mainPageMethods().getAllWidgets().get(0).getWeatherBlock().click(); assertThat("Не произошло преобразование градусов фаренгейта в градусы °Kaif", - mainPageMethods().allWidgets().get(0).getWeatherType().getText(), equalTo(KAIF)); + mainPageMethods().getAllWidgets().get(0).getWeatherType().getText(), equalTo(KAIF)); } - @Step("Начальное открытие виджета, единица измерений температуры Цельсий") + @Step("Начальное открытие виджета, единица измерений температуры Цельсий") public void shouldSeeTemperatureCelcium() { assertThat("Начальное значение температуры не в Цельсиях", - mainPageMethods().allWidgets().get(0).getWeatherType().getText(), equalTo(CELCIUM)); + mainPageMethods().getAllWidgets().get(0).getWeatherType().getText(), equalTo(CELCIUM)); } @Step("Должны увидеть надпись показателя рассвета") @@ -155,22 +174,22 @@ public void shouldSeeTitleHumidity() { @Step("Должны увидеть картинку для показателя рассвета") public void shouldSeeImageSunrise() { - assertThat("Картинка показателя рассвета не отображается", mainPageMethods().getMainPage().getSunrise(), isDisplayed()); + assertThat("Картинка показателя рассвета не отображается",onMainPage().getSunrise(), isDisplayed()); } @Step("Должны увидеть картинку для показателя заката") public void shouldSeeImageSunset() { - assertThat("Картинка показателя заката не отображается", mainPageMethods().getMainPage().getSunset(), isDisplayed()); + assertThat("Картинка показателя заката не отображается", onMainPage().getSunset(), isDisplayed()); } @Step("Должны увидеть картинку для показателя скорости ветра") public void shouldSeeImageWind() { - assertThat("Картинка показателя скорости ветра не отображается", mainPageMethods().getMainPage().getWind(), isDisplayed()); + assertThat("Картинка показателя скорости ветра не отображается", onMainPage().getWind(), isDisplayed()); } @Step("Должны увидеть картинку для показателя влажности") public void shouldSeeImageHumidity() { - assertThat("Картинка показателя влажности не отображается", mainPageMethods().getMainPage().getHumidity(), isDisplayed()); + assertThat("Картинка показателя влажности не отображается", onMainPage().getHumidity(), isDisplayed()); } @Step("Формат времени для значения поля рассвет должен быть 'xx:xx'") @@ -182,20 +201,20 @@ public void shouldSeeFormatTimeSunrise() { @Step("Формат времени для значения поля закат должен быть 'xx:xx'") public void shouldSeeFormatTimeSunset() { assertThat("Формат времени для значения поля закат не 'xx:xx'", - mainPageMethods().getMainPage().getInfoValues().get(1).getText(), mainPageMethods().stringMatcher(SUNSET_TIME)); + onMainPage().getInfoValues().get(1).getText(), mainPageMethods().stringMatcher(SUNSET_TIME)); } @Step("Формат времени для значения поля скорость ветра должен быть 'xx m/s'") public void shouldSeeFormatSpeedWind() { assertThat("Формат времени для значения поля скорость ветра не 'xx m/s'", - mainPageMethods().getMainPage().getInfoValues().get(2).getText(), mainPageMethods().stringMatcher(WIND_SPEED)); + onMainPage().getInfoValues().get(2).getText(), mainPageMethods().stringMatcher(WIND_SPEED)); } @Step("Формат времени для значения поля влажность должен быть 'xx %'") public void shouldSeeFormatHumidity() { assertThat("Формат времени для значения поля влажность не 'xx %'", - mainPageMethods().getMainPage().getInfoValues().get(3).getText(), mainPageMethods().stringMatcher(HUMIDITY_VALUE)); + onMainPage().getInfoValues().get(3).getText(), mainPageMethods().stringMatcher(HUMIDITY_VALUE)); } private MainPage onMainPage() { From 445799042fc9b6174e11aa8254df279f481f6975 Mon Sep 17 00:00:00 2001 From: user Date: Thu, 7 Apr 2016 20:58:59 +0300 Subject: [PATCH 18/82] initial --- steps-module/pom.xml | 46 +++---------------- .../ru/qatools/school/steps/UserSteps.java | 14 ++---- 2 files changed, 11 insertions(+), 49 deletions(-) diff --git a/steps-module/pom.xml b/steps-module/pom.xml index 9bcfe79..4d15b94 100644 --- a/steps-module/pom.xml +++ b/steps-module/pom.xml @@ -1,51 +1,19 @@ - - 4.0.0 - school-2016 ru.qatools.school 1.0-SNAPSHOT - - steps-module + + 4.0.0 jar - + + steps-module Logic Module - - - ru.yandex.qatools.allure - allure-junit-adaptor - - - org.seleniumhq.selenium - selenium-java - - - ru.yandex.qatools.htmlelements - htmlelements-java - - - org.apache.commons - commons-lang3 - - - org.hamcrest - hamcrest-all - - - ru.yandex.qatools.htmlelements - htmlelements-matchers - - - com.jayway.restassured - rest-assured - - - - + \ No newline at end of file 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..5351bf7 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 @@ -2,16 +2,11 @@ import ru.qatools.school.data.Place; -import static org.hamcrest.core.Is.is; -import static org.junit.Assert.assertThat; - - /** * @author lanwen (Merkushev Kirill) - * @author gladnik (Gladkov Nikolai) */ public class UserSteps { - + private Place place; private UserSteps() { @@ -20,14 +15,13 @@ private UserSteps() { public static UserSteps user() { return new UserSteps(); } - + public UserSteps goTo(Place place) { this.place = place; return this; } - public UserSteps shouldBeAtPlace(Place expectedPlace) { - assertThat("Places should match!", this.place, is(expectedPlace)); - return this; + public UserSteps should() { + } } From 28a0f1b59d4d6ca8bd5b6f107663e8814fea7478 Mon Sep 17 00:00:00 2001 From: user Date: Thu, 7 Apr 2016 20:59:34 +0300 Subject: [PATCH 19/82] initial --- commons-module/pom.xml | 40 +++-------------- .../java/ru/qatools/school/MyFirstTest.java | 44 +++---------------- 2 files changed, 12 insertions(+), 72 deletions(-) diff --git a/commons-module/pom.xml b/commons-module/pom.xml index b1372c7..5008681 100644 --- a/commons-module/pom.xml +++ b/commons-module/pom.xml @@ -1,19 +1,17 @@ - 4.0.0 - + jar school-2016 ru.qatools.school 1.0-SNAPSHOT + commons-module commons-module - jar - - Commons Module @@ -21,32 +19,6 @@ steps-module ${project.version} - - com.tngtech.java - junit-dataprovider - 1.10.4 - test - - - - - - org.apache.maven.plugins - maven-surefire-plugin - - - - - - true - - - ru.yandex.qatools.allure - allure-maven-plugin - 2.0 - - - - - + + \ No newline at end of file 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..3d17d0c 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,21 @@ 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 org.junit.Assert.assertThat; +import static org.junit.*; import static ru.qatools.school.steps.UserSteps.user; - /** - * @author gladnik (Nikolai Gladkov) + * @author lanwen (Merkushev Kirill) */ -@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); - } @Test - public void afterGoSomewhereElseShouldBeThere() { - user().goTo(Place.HOME).goTo(Place.AT_YANDEX) - .shouldBeAtPlace(Place.AT_YANDEX); + public void test() { + assertThat(user().goTo(Place.HOME), ); } + } From 7dabb89066c8772eb89ed44f1d1ec8d2b2c5b8d0 Mon Sep 17 00:00:00 2001 From: user Date: Thu, 7 Apr 2016 21:08:06 +0300 Subject: [PATCH 20/82] commit --- .../src/test/java/ru/qatools/school/MyFirstTest.java | 5 +---- steps-module/pom.xml | 2 -- .../src/main/java/ru/qatools/school/steps/UserSteps.java | 9 +++++++-- 3 files changed, 8 insertions(+), 8 deletions(-) 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 3d17d0c..eecfd8e 100644 --- a/commons-module/src/test/java/ru/qatools/school/MyFirstTest.java +++ b/commons-module/src/test/java/ru/qatools/school/MyFirstTest.java @@ -1,10 +1,7 @@ package ru.qatools.school; import org.junit.Test; -import ru.qatools.school.data.Place; -import static org.junit.Assert.assertThat; -import static org.junit.*; import static ru.qatools.school.steps.UserSteps.user; /** @@ -15,7 +12,7 @@ public class MyFirstTest { @Test public void test() { - assertThat(user().goTo(Place.HOME), ); + user().shouldSeeCurrentPlace(); } } diff --git a/steps-module/pom.xml b/steps-module/pom.xml index 4d15b94..4f3d899 100644 --- a/steps-module/pom.xml +++ b/steps-module/pom.xml @@ -14,6 +14,4 @@ steps-module Logic Module - - \ No newline at end of file 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 5351bf7..bc840b3 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 @@ -2,6 +2,9 @@ import ru.qatools.school.data.Place; +import static org.hamcrest.core.Is.is; +import static org.junit.Assert.assertThat; + /** * @author lanwen (Merkushev Kirill) */ @@ -21,7 +24,9 @@ public UserSteps goTo(Place place) { return this; } - public UserSteps should() { - + public UserSteps shouldSeeCurrentPlace() { + goTo(Place.HOME); + assertThat(place, is(Place.HOME)); + return this; } } From 689298f1ffc000bba7f5f892bb33527703d725b6 Mon Sep 17 00:00:00 2001 From: user Date: Thu, 7 Apr 2016 21:12:47 +0300 Subject: [PATCH 21/82] commit --- .../src/test/java/ru/qatools/school/MyFirstTest.java | 4 ++++ .../src/main/java/ru/qatools/school/steps/UserSteps.java | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) 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 eecfd8e..d2ea174 100644 --- a/commons-module/src/test/java/ru/qatools/school/MyFirstTest.java +++ b/commons-module/src/test/java/ru/qatools/school/MyFirstTest.java @@ -1,6 +1,7 @@ package ru.qatools.school; import org.junit.Test; +import ru.qatools.school.data.Place; import static ru.qatools.school.steps.UserSteps.user; @@ -12,6 +13,9 @@ public class MyFirstTest { @Test public void test() { + user().goTo(Place.HOME); + user().shouldSeeCurrentPlace(); + user().goTo(Place.AT_YANDEX); user().shouldSeeCurrentPlace(); } 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 bc840b3..a14fbb1 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 @@ -3,6 +3,7 @@ import ru.qatools.school.data.Place; import static org.hamcrest.core.Is.is; +import static org.hamcrest.core.Is.isA; import static org.junit.Assert.assertThat; /** @@ -25,8 +26,7 @@ public UserSteps goTo(Place place) { } public UserSteps shouldSeeCurrentPlace() { - goTo(Place.HOME); - assertThat(place, is(Place.HOME)); + assertThat(place, isA(Place.class)); return this; } } From e87eb76852bec5aa4b66b9ffea4c276ffdb85779 Mon Sep 17 00:00:00 2001 From: user Date: Thu, 7 Apr 2016 21:13:33 +0300 Subject: [PATCH 22/82] commit --- .../src/test/java/ru/qatools/school/MyFirstTest.java | 3 --- 1 file changed, 3 deletions(-) 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 d2ea174..d1e506d 100644 --- a/commons-module/src/test/java/ru/qatools/school/MyFirstTest.java +++ b/commons-module/src/test/java/ru/qatools/school/MyFirstTest.java @@ -13,9 +13,6 @@ public class MyFirstTest { @Test public void test() { - user().goTo(Place.HOME); - user().shouldSeeCurrentPlace(); - user().goTo(Place.AT_YANDEX); user().shouldSeeCurrentPlace(); } From 6b55ab85d6f02d108f5a030b5a79ce5c569adee5 Mon Sep 17 00:00:00 2001 From: Igor Merkushev Date: Thu, 7 Apr 2016 22:15:36 +0300 Subject: [PATCH 23/82] First test complete --- .../src/test/java/ru/qatools/school/MyFirstTest.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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 d1e506d..fbfe37a 100644 --- a/commons-module/src/test/java/ru/qatools/school/MyFirstTest.java +++ b/commons-module/src/test/java/ru/qatools/school/MyFirstTest.java @@ -13,7 +13,8 @@ public class MyFirstTest { @Test public void test() { - user().shouldSeeCurrentPlace(); + user().goTo(Place.AT_YANDEX).shouldSeeCurrentPlace(); + user().goTo(Place.HOME).shouldSeeCurrentPlace(); } } From 525baab46c21ac9b0bb968188c38ca74334398a9 Mon Sep 17 00:00:00 2001 From: Igor Merkushev Date: Fri, 8 Apr 2016 22:53:47 +0300 Subject: [PATCH 24/82] First test second version --- .../src/test/java/ru/qatools/school/MyFirstTest.java | 4 ++-- .../src/main/java/ru/qatools/school/steps/UserSteps.java | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) 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 fbfe37a..68d6662 100644 --- a/commons-module/src/test/java/ru/qatools/school/MyFirstTest.java +++ b/commons-module/src/test/java/ru/qatools/school/MyFirstTest.java @@ -13,8 +13,8 @@ public class MyFirstTest { @Test public void test() { - user().goTo(Place.AT_YANDEX).shouldSeeCurrentPlace(); - user().goTo(Place.HOME).shouldSeeCurrentPlace(); + user().goTo(Place.AT_YANDEX).shouldSeeCurrentPlace(Place.AT_YANDEX).goTo(Place.HOME). + shouldSeeCurrentPlace(Place.HOME).goTo(null).shouldSeeCurrentPlace(null); } } 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 a14fbb1..b8520b8 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 @@ -25,8 +25,8 @@ public UserSteps goTo(Place place) { return this; } - public UserSteps shouldSeeCurrentPlace() { - assertThat(place, isA(Place.class)); + public UserSteps shouldSeeCurrentPlace(Place place) { + assertThat(this.place, is(place)); return this; } } From 7f47184f7f91aab08bed642869f90ddf5a0a31cf Mon Sep 17 00:00:00 2001 From: Igor Merkushev Date: Fri, 8 Apr 2016 23:03:43 +0300 Subject: [PATCH 25/82] First test second version change pom, split test, rename methods --- commons-module/pom.xml | 2 +- .../test/java/ru/qatools/school/MyFirstTest.java | 16 ++++++++++++---- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/commons-module/pom.xml b/commons-module/pom.xml index 5008681..f98a116 100644 --- a/commons-module/pom.xml +++ b/commons-module/pom.xml @@ -4,13 +4,13 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 jar + school-2016 ru.qatools.school 1.0-SNAPSHOT - commons-module commons-module 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 68d6662..284c4ce 100644 --- a/commons-module/src/test/java/ru/qatools/school/MyFirstTest.java +++ b/commons-module/src/test/java/ru/qatools/school/MyFirstTest.java @@ -12,9 +12,17 @@ public class MyFirstTest { @Test - public void test() { - user().goTo(Place.AT_YANDEX).shouldSeeCurrentPlace(Place.AT_YANDEX).goTo(Place.HOME). - shouldSeeCurrentPlace(Place.HOME).goTo(null).shouldSeeCurrentPlace(null); + public void shouldBeAtYandexAfterGoToYandex() { + user().goTo(Place.AT_YANDEX).shouldSeeCurrentPlace(Place.AT_YANDEX); + } + + @Test + public void shouldBeAtHomeAfterGoToHome() { + user().goTo(Place.HOME).shouldSeeCurrentPlace(Place.HOME); + } + + @Test + public void shouldBeNullIfPlaceNull() { + user().goTo(null).shouldSeeCurrentPlace(null); } - } From 31ed5a78a2e02ae0ec05f3ae4b7bd7ef5f9dcb1f Mon Sep 17 00:00:00 2001 From: gladnik Date: Thu, 7 Apr 2016 21:13:29 +0300 Subject: [PATCH 26/82] Added commons-module and tests for user().goTo(place) Improved project structure by deletion redundant files --- commons-module/pom.xml | 39 +++---- .../java/ru/qatools/school/MyFirstTest.java | 21 ++-- pom.xml | 102 +----------------- steps-module/pom.xml | 6 +- .../ru/qatools/school/steps/UserSteps.java | 12 +-- 5 files changed, 42 insertions(+), 138 deletions(-) diff --git a/commons-module/pom.xml b/commons-module/pom.xml index f98a116..1a9a2b0 100644 --- a/commons-module/pom.xml +++ b/commons-module/pom.xml @@ -1,24 +1,25 @@ - 4.0.0 - jar + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + + school-2016 + ru.qatools.school + 1.0-SNAPSHOT + - - school-2016 - ru.qatools.school - 1.0-SNAPSHOT - +4.0.0 +jar + +commons-module +Commons Module - commons-module + + + ru.qatools.school + steps-module + ${project.version} + + - - - ru.qatools.school - steps-module - ${project.version} - - - - \ No newline at end of file + 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 284c4ce..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,28 +1,23 @@ package ru.qatools.school; import org.junit.Test; -import ru.qatools.school.data.Place; -import static ru.qatools.school.steps.UserSteps.user; +import static ru.qatools.school.data.Place.*; +import static ru.qatools.school.steps.UserSteps.*; + /** - * @author lanwen (Merkushev Kirill) + * @author gladnik (Nikolai Gladkov) */ public class MyFirstTest { - - @Test - public void shouldBeAtYandexAfterGoToYandex() { - user().goTo(Place.AT_YANDEX).shouldSeeCurrentPlace(Place.AT_YANDEX); - } - @Test - public void shouldBeAtHomeAfterGoToHome() { - user().goTo(Place.HOME).shouldSeeCurrentPlace(Place.HOME); + public void shouldBeAtHomeWhenGoToHome() { + user().goTo(HOME).shouldBeAtPlace(HOME); } @Test - public void shouldBeNullIfPlaceNull() { - user().goTo(null).shouldSeeCurrentPlace(null); + public void shouldBeAtYandexWhenGoToYandex() { + user().goTo(AT_YANDEX).shouldBeAtPlace(AT_YANDEX); } } diff --git a/pom.xml b/pom.xml index a32202a..8d7e478 100644 --- a/pom.xml +++ b/pom.xml @@ -1,30 +1,21 @@ - 4.0.0 ru.qatools.school school-2016 - 1.0-SNAPSHOT pom - - Automation Foreva - First automation project ever + 1.0-SNAPSHOT steps-module commons-module - - 1.8 - - 1.4.23 - 2.53.0 - 1.15 - 1.8.5 - + Automation Foreva + First automation project ever @@ -34,87 +25,4 @@ - - - - - - com.jayway.restassured - rest-assured - 2.9.0 - - - - ru.yandex.qatools.allure - allure-junit-adaptor - ${allure.version} - - - org.seleniumhq.selenium - selenium-java - ${selenium.version} - - - ru.yandex.qatools.htmlelements - htmlelements-java - ${htmlelements.version} - - - org.apache.commons - commons-lang3 - 3.4 - - - org.hamcrest - hamcrest-all - 1.3 - - - ru.yandex.qatools.htmlelements - htmlelements-matchers - 1.12 - - - - - - - - - org.apache.maven.plugins - maven-compiler-plugin - 3.0 - - ${compiler.version} - ${compiler.version} - - - - org.apache.maven.plugins - maven-surefire-plugin - 2.18.1 - - - -javaagent:"${settings.localRepository}/org/aspectj/aspectjweaver/${aspectj.version}/aspectjweaver-${aspectj.version}.jar" - - - - listener - ru.yandex.qatools.allure.junit.AllureRunListener - - - - - - org.aspectj - aspectjweaver - ${aspectj.version} - - - - - - - - diff --git a/steps-module/pom.xml b/steps-module/pom.xml index 4f3d899..f69439b 100644 --- a/steps-module/pom.xml +++ b/steps-module/pom.xml @@ -7,11 +7,11 @@ ru.qatools.school 1.0-SNAPSHOT - + 4.0.0 jar - + steps-module Logic Module - \ No newline at end of file + 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 b8520b8..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 @@ -3,14 +3,15 @@ import ru.qatools.school.data.Place; import static org.hamcrest.core.Is.is; -import static org.hamcrest.core.Is.isA; import static org.junit.Assert.assertThat; + /** * @author lanwen (Merkushev Kirill) + * @author gladnik (Gladkov Nikolai) */ public class UserSteps { - + private Place place; private UserSteps() { @@ -19,14 +20,13 @@ private UserSteps() { public static UserSteps user() { return new UserSteps(); } - + public UserSteps goTo(Place place) { this.place = place; return this; } - public UserSteps shouldSeeCurrentPlace(Place place) { - assertThat(this.place, is(place)); - return this; + public void shouldBeAtPlace(Place expectedPlace) { + assertThat(this.place, is(expectedPlace)); } } From 8a32db88dee28812da9a1babfb50c07ff8c818b7 Mon Sep 17 00:00:00 2001 From: "merkushev.io" Date: Fri, 22 Apr 2016 14:29:05 +0300 Subject: [PATCH 27/82] refactor tests, create new file WidgetSteps --- .../school/webtests/WeatherWebTest.java | 64 ++++---- .../qatools/school/pages/MainPageMethods.java | 2 +- .../school/steps/websteps/DefaultSteps.java | 142 +++-------------- .../school/steps/websteps/WidgetSteps.java | 147 ++++++++++++++++++ 4 files changed, 200 insertions(+), 155 deletions(-) create mode 100644 steps-module/src/main/java/ru/qatools/school/steps/websteps/WidgetSteps.java 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 c0e1d1a..88d1a2f 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 @@ -3,9 +3,11 @@ import org.junit.Before; import org.junit.Rule; import org.junit.Test; +import org.openqa.selenium.WebElement; import ru.qatools.school.pages.MainPage; import ru.qatools.school.rules.WebDriverRule; import ru.qatools.school.steps.websteps.DefaultSteps; +import ru.qatools.school.steps.websteps.WidgetSteps; import ru.qatools.school.tp.TPInformerRule; import ru.yandex.qatools.allure.annotations.Title; @@ -19,8 +21,8 @@ public class WeatherWebTest { @Rule public WebDriverRule webDriverRule = new WebDriverRule(); - @Rule - public TPInformerRule tms = new TPInformerRule("merkushevio"); +// @Rule +// public TPInformerRule tms = new TPInformerRule("merkushevio"); @Before @@ -42,35 +44,24 @@ public void shouldSeeWidgetOnMainPage() { } @Test - @Title("Должны увидеть все элементы виджета") + @Title("Должны увидеть элементы виджета") @ru.yandex.qatools.allure.annotations.TestCaseId("1") - public void shouldSeeTemperatureCelcium() { + public void shouldSeeElements() { defaultSteps.openMainPageWithCity(MOSCOW); - defaultSteps.shouldSeeTemperatureCelcium(); - defaultSteps.shouldSeeTitleSunrise(); - defaultSteps.shouldSeeTitleSunset(); - defaultSteps.shouldSeeTitleWind(); - defaultSteps.shouldSeeTitleHumidity(); - defaultSteps.shouldSeeImageSunrise(); - defaultSteps.shouldSeeImageSunset(); - defaultSteps.shouldSeeImageWind(); - defaultSteps.shouldSeeImageHumidity(); - defaultSteps.shouldSeeFormatTimeSunrise(); - defaultSteps.shouldSeeFormatTimeSunset(); - defaultSteps.shouldSeeFormatSpeedWind(); - defaultSteps.shouldSeeFormatHumidity(); + // Дописать проверку для отоброжания элементов на виджете используя метод shouldSee(Array elements) } @Test - @Title("Должны увидеть страницу с кнопокой добавить виджет") + @Title("Должны увидеть главную страницу только с кнопокой добавить виджет") @ru.yandex.qatools.allure.annotations.TestCaseId("1") public void shouldSeeButtonOnMainPage() { defaultSteps.openMainPageWithCity(""); - defaultSteps.shouldSeeButtonAddWidgetOnMainPage(); + defaultSteps.shouldSee(onMainPage().getAddWidget()); defaultSteps.shouldSeeOnlyButtonAddWidget(); } + @Test - @Title("Должны увидеть главную страницу с кнопкой добавить виджет") + @Title("Должны увидеть главную страницу только с кнопкой добавить виджет") @ru.yandex.qatools.allure.annotations.TestCaseId("1") public void shouldSeeButtonAddWidgetOnMainPageWithoutParameter() { defaultSteps.shouldSeeButtonOnlyAddWidgetOnMainPageWithoutParameter(); @@ -78,7 +69,7 @@ public void shouldSeeButtonAddWidgetOnMainPageWithoutParameter() { } @Test - @Title("Должны видеть добавленный виджет на главной странице") + @Title("Можем добавлять виджет на главной странице") @ru.yandex.qatools.allure.annotations.TestCaseId("2") public void shouldSeeAddWidgetOnMainPage() { defaultSteps.openMainPageWithCity(MOSCOW); @@ -86,7 +77,7 @@ public void shouldSeeAddWidgetOnMainPage() { } @Test - @Title("Должны увидеть виджеты, кроме удаленного на главной странице") + @Title("Может удалить виджет на главной странице") @ru.yandex.qatools.allure.annotations.TestCaseId("3") public void shouldSeeRemoveWidgetOnMainPage() { defaultSteps.openMainPageWithCity(SPB); @@ -103,32 +94,39 @@ public void shouldAutoCompleteCity() { } @Test - @Title("Должны увидеть переименование названия виджета") + @Title("Можем переименовать виджет") @ru.yandex.qatools.allure.annotations.TestCaseId("4") public void shouldSeeRenameWidget() { defaultSteps.openMainPageWithCity(MOSCOW); defaultSteps.shouldSeeRenameWidget(MOSCOW, SPB); + } + + @Test + @Title("Можем очистить название, после чего назначить нове имя") + @ru.yandex.qatools.allure.annotations.TestCaseId("4") + public void shouldSeeClearWidgetName() { + defaultSteps.openMainPageWithCity(SPB); defaultSteps.shouldSeeRenameWidget(SPB, ""); defaultSteps.shouldSeeRenameWidget("", SPB); + } + + @Test + @Title("Можем написать не не полное имя виджета") + @ru.yandex.qatools.allure.annotations.TestCaseId("4") + public void shouldSeeNotFullNameWidget() { defaultSteps.openMainPageWithCity(MOSCOW); - defaultSteps.shouldSeeRenameWidget(MOSCOW, SPB.substring(0, SPB.length()/2)); + defaultSteps.shouldSeeRenameWidget(MOSCOW, SPB.substring(0, SPB.length() / 3)); } + @Test - @Title("Должны меняться форматы вывода градуса") + @Title("Можем менять форматы вывода градусов") @ru.yandex.qatools.allure.annotations.TestCaseId("9") public void shouldSeeChangeFormatDegree() { - defaultSteps.openMainPageWithCity(SPB); - defaultSteps.shouldSeeTemperatureCelcium(); - defaultSteps.shouldSeeChangeFormatDegreeCelciumToKelvin(); - defaultSteps.shouldSeeChangeFormatDegreeKelvinToFarengeit(); - defaultSteps.shouldSeeChangeFormatDegreeFarengeitToKaif(); + defaultSteps.shouldSeeChangeFormatTemperature(); } - - - } diff --git a/steps-module/src/main/java/ru/qatools/school/pages/MainPageMethods.java b/steps-module/src/main/java/ru/qatools/school/pages/MainPageMethods.java index a805e5f..043eb10 100644 --- a/steps-module/src/main/java/ru/qatools/school/pages/MainPageMethods.java +++ b/steps-module/src/main/java/ru/qatools/school/pages/MainPageMethods.java @@ -107,7 +107,7 @@ protected boolean matchesSafely(String word, Description mismatch) { for (WebElement widget : list) { if (widget.getText().equals(word)) { mismatch.appendText("return string was ") - .appendValue(widget.getText()); + .appendText(widget.getText()); return true; } } 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 3d7844a..c7272b7 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 @@ -5,6 +5,10 @@ import ru.qatools.school.pages.MainPage; import ru.qatools.school.pages.MainPageMethods; import ru.yandex.qatools.allure.annotations.Step; +import ru.yandex.qatools.htmlelements.element.HtmlElement; + +import java.util.Arrays; +import java.util.Collections; import static java.lang.String.format; import static org.hamcrest.core.Is.is; @@ -20,19 +24,6 @@ public class DefaultSteps { public static final String MAIN_PAGE = "http://weather.lanwen.ru/#?cities=%s"; private static final String MAIN_PAGE_WITHOUT_PARAMETERS = "http://weather.lanwen.ru/"; private static final String NEW_WIDGET = "What a city?"; - private static final String CELCIUM = "°C"; - private static final String KELVIN = "°K"; - private static final String FARINGEIT = "°F"; - private static final String KAIF = "°Kaif"; - private static final String SUNRISE = "Sunrise"; - private static final String SUNSET = "Sunset"; - private static final String WIND = "Wind"; - private static final String HUMIDITY = "Humidity"; - private static final String SUNRISE_TIME = "^[0-2][0-9]:[0-5][0-9]$"; - private static final String SUNSET_TIME = "^[0-2][0-9]:[0-5][0-9]$"; - private static final String WIND_SPEED = "^[0-9]+ m/s"; - private static final String HUMIDITY_VALUE = "^[0-9]+ %"; - private WebDriver driver; @@ -51,8 +42,10 @@ public void openMainPageWithoutParameter() { } @Step("Должны видеть на странице «{0}»") - public void shouldSee(WebElement element) { - assertThat("Должны видеть элемент", element, isDisplayed()); + public void shouldSee(WebElement...elements) { + for (WebElement element : elements) { + assertThat("Не отображается элемент " + element.getText(), element, isDisplayed()); + } } @Step("Заголовок виджета должен совпадать с запрошенным городом") @@ -68,13 +61,12 @@ public void addWidgetOnMainPage(String city) { @Step("На главной странице без виджетов отображается кнопка добавить виджет") public void shouldSeeButtonAddWidgetOnMainPage() { - assertThat("На главной странице нет кнопки добавит виджет", - mainPageMethods().getMainPage().getAddWidget(), isDisplayed()); + shouldSee(mainPageMethods().getMainPage().getAddWidget()); } @Step("На главной странице должна быть только кнопка добавления города") public void shouldSeeOnlyButtonAddWidget() { - assertThat("На главной странице только кнопка добавления виджета", + assertThat("На главной странице есть виджеты", mainPageMethods().getAllWidgets().size(), is(0)); } @@ -87,7 +79,9 @@ public void shouldSeeButtonOnlyAddWidgetOnMainPageWithoutParameter() { @Step("На главной странице переименование название виджета") public void shouldSeeRenameWidget(String oldName, String newName) { mainPageMethods().renameWidget(oldName, newName); - assertThat("Widget has", newName, is(mainPageMethods().hasItem(mainPageMethods().getAllPlaces()))); + shouldSee(mainPageMethods().findElement(mainPageMethods().getAllPlaces(), newName)); + assertThat("Новый виджет в списке виджетов не найден", newName, + mainPageMethods().hasItem(mainPageMethods().getAllPlaces())); } @Step("На главной странице виджеты добавляются") @@ -113,108 +107,10 @@ public void shouldAutocompliteCity(String city) { mainPageMethods().getAllPlaces().get(0).getText(), equalTo(city)); } - @Step("Должны увидеть изменение формата вывода градусов") - public void shouldSeeChangeFormatDegreeCelciumToKelvin() { - mainPageMethods().getAllWidgets().get(0).getWeatherBlock().click(); - assertThat("Не произошло преобразование градусов цельсия в градусы кельвина", - mainPageMethods().getAllWidgets().get(0).getWeatherType().getText(), equalTo(KELVIN)); - } - - @Step("Должны увидеть изменение формата вывода градусов") - public void shouldSeeChangeFormatDegreeKelvinToFarengeit() { - mainPageMethods().getAllWidgets().get(0).getWeatherBlock().click(); - assertThat("Не произошло преобразование градусов в кельвинах в градусы фаренгейта", - mainPageMethods().getAllWidgets().get(0).getWeatherType().getText(), equalTo(FARINGEIT)); - } - - @Step("Должны увидеть изменение формата вывода градусов") - public void shouldSeeChangeFormatDegreeFarengeitToKaif() { - mainPageMethods().getAllWidgets().get(0).getWeatherBlock().click(); - assertThat("Не произошло преобразование градусов фаренгейта в градусы °Kaif", - mainPageMethods().getAllWidgets().get(0).getWeatherType().getText(), equalTo(KAIF)); - } - - @Step("Начальное открытие виджета, единица измерений температуры Цельсий") - public void shouldSeeTemperatureCelcium() { - assertThat("Начальное значение температуры не в Цельсиях", - mainPageMethods().getAllWidgets().get(0).getWeatherType().getText(), equalTo(CELCIUM)); - } - - @Step("Должны увидеть надпись показателя рассвета") - public void shouldSeeTitleSunrise() { - assertThat("Заголовка показателя рассвета нет на главной странице", SUNRISE, - mainPageMethods().hasItem(mainPageMethods().getTitleValues())); - assertThat("Заголовок показателя рассвета не отображается на главной странице", - mainPageMethods().findElement(mainPageMethods().getTitleValues(), SUNRISE), isDisplayed()); - } - - @Step("Должны увидеть надпись показателя заката") - public void shouldSeeTitleSunset() { - assertThat("Заголовка показателя рассвета нет на главной странице", SUNSET, - mainPageMethods().hasItem(mainPageMethods().getTitleValues())); - assertThat("Заголовок показателя рассвета не отображается на главной странице", - mainPageMethods().findElement(mainPageMethods().getTitleValues(), SUNSET), isDisplayed()); - } - - @Step("Должны увидеть надпись показателя скорости ветра") - public void shouldSeeTitleWind() { - assertThat("Заголовка показателя рассвета нет на главной странице", WIND, - mainPageMethods().hasItem(mainPageMethods().getTitleValues())); - assertThat("Заголовок показателя рассвета не отображается на главной странице", - mainPageMethods().findElement(mainPageMethods().getTitleValues(), WIND), isDisplayed()); - } - - @Step("Должны увидеть надпись показателя влажности") - public void shouldSeeTitleHumidity() { - assertThat("Заголовка показателя рассвета нет на главной странице", HUMIDITY, - mainPageMethods().hasItem(mainPageMethods().getTitleValues())); - assertThat("Заголовок показателя рассвета не отображается на главной странице", - mainPageMethods().findElement(mainPageMethods().getTitleValues(), HUMIDITY), isDisplayed()); - } - - @Step("Должны увидеть картинку для показателя рассвета") - public void shouldSeeImageSunrise() { - assertThat("Картинка показателя рассвета не отображается",onMainPage().getSunrise(), isDisplayed()); - } - - @Step("Должны увидеть картинку для показателя заката") - public void shouldSeeImageSunset() { - assertThat("Картинка показателя заката не отображается", onMainPage().getSunset(), isDisplayed()); - } - - @Step("Должны увидеть картинку для показателя скорости ветра") - public void shouldSeeImageWind() { - assertThat("Картинка показателя скорости ветра не отображается", onMainPage().getWind(), isDisplayed()); - } - - @Step("Должны увидеть картинку для показателя влажности") - public void shouldSeeImageHumidity() { - assertThat("Картинка показателя влажности не отображается", onMainPage().getHumidity(), isDisplayed()); - } - - @Step("Формат времени для значения поля рассвет должен быть 'xx:xx'") - public void shouldSeeFormatTimeSunrise() { - assertThat("Формат времени для значения поля рассвет не 'xx:xx'", - mainPageMethods().getMainPage().getInfoValues().get(0).getText(), mainPageMethods().stringMatcher(SUNRISE_TIME)); - } - - @Step("Формат времени для значения поля закат должен быть 'xx:xx'") - public void shouldSeeFormatTimeSunset() { - assertThat("Формат времени для значения поля закат не 'xx:xx'", - onMainPage().getInfoValues().get(1).getText(), mainPageMethods().stringMatcher(SUNSET_TIME)); - } - - @Step("Формат времени для значения поля скорость ветра должен быть 'xx m/s'") - public void shouldSeeFormatSpeedWind() { - assertThat("Формат времени для значения поля скорость ветра не 'xx m/s'", - onMainPage().getInfoValues().get(2).getText(), mainPageMethods().stringMatcher(WIND_SPEED)); - } - - - @Step("Формат времени для значения поля влажность должен быть 'xx %'") - public void shouldSeeFormatHumidity() { - assertThat("Формат времени для значения поля влажность не 'xx %'", - onMainPage().getInfoValues().get(3).getText(), mainPageMethods().stringMatcher(HUMIDITY_VALUE)); + public void shouldSeeChangeFormatTemperature() { + widgetSteps().shouldSeeChangeFormatDegreeCelciumToKelvin(); + widgetSteps().shouldSeeChangeFormatDegreeKelvinToFarengeit(); + widgetSteps().shouldSeeChangeFormatDegreeFarengeitToKaif(); } private MainPage onMainPage() { @@ -224,4 +120,8 @@ private MainPage onMainPage() { private MainPageMethods mainPageMethods() { return new MainPageMethods(driver); } + + private WidgetSteps widgetSteps() { + return new WidgetSteps(driver); + } } 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..43e3990 --- /dev/null +++ b/steps-module/src/main/java/ru/qatools/school/steps/websteps/WidgetSteps.java @@ -0,0 +1,147 @@ +package ru.qatools.school.steps.websteps; + +import org.openqa.selenium.WebDriver; +import ru.qatools.school.pages.MainPage; +import ru.qatools.school.pages.MainPageMethods; +import ru.yandex.qatools.allure.annotations.Step; + +import static org.hamcrest.core.IsEqual.equalTo; +import static org.junit.Assert.assertThat; +import static ru.yandex.qatools.htmlelements.matchers.WebElementMatchers.isDisplayed; + +/** + * Created by merkushev.io on 22.04.2016. + */ +public class WidgetSteps { + private WebDriver driver; + + private static final String CELCIUM = "°C"; + private static final String KELVIN = "°K"; + private static final String FARINGEIT = "°F"; + private static final String KAIF = "°Kaif"; + private static final String SUNRISE = "Sunrise"; + private static final String SUNSET = "Sunset"; + private static final String WIND = "Wind"; + private static final String HUMIDITY = "Humidity"; + private static final String SUNRISE_TIME = "^[0-2][0-9]:[0-5][0-9]$"; + private static final String SUNSET_TIME = "^[0-2][0-9]:[0-5][0-9]$"; + private static final String WIND_SPEED = "^[0-9]+ m/s"; + private static final String HUMIDITY_VALUE = "^[0-9]{0-3} %"; + + public WidgetSteps(WebDriver driver) { + this.driver = driver; + } + + private MainPage onMainPage() { + return new MainPage(driver); + } + + private MainPageMethods mainPageMethods() { + return new MainPageMethods(driver); + } + + @Step("Должны увидеть изменение формата вывода градусов") + public void shouldSeeChangeFormatDegreeCelciumToKelvin() { + mainPageMethods().getAllWidgets().get(0).getWeatherBlock().click(); + assertThat("Не произошло преобразование градусов цельсия в градусы кельвина", + mainPageMethods().getAllWidgets().get(0).getWeatherType().getText(), equalTo(KELVIN)); + } + + @Step("Должны увидеть изменение формата вывода градусов") + public void shouldSeeChangeFormatDegreeKelvinToFarengeit() { + mainPageMethods().getAllWidgets().get(0).getWeatherBlock().click(); + assertThat("Не произошло преобразование градусов в кельвинах в градусы фаренгейта", + mainPageMethods().getAllWidgets().get(0).getWeatherType().getText(), equalTo(FARINGEIT)); + } + + @Step("Должны увидеть изменение формата вывода градусов") + public void shouldSeeChangeFormatDegreeFarengeitToKaif() { + mainPageMethods().getAllWidgets().get(0).getWeatherBlock().click(); + assertThat("Не произошло преобразование градусов фаренгейта в градусы °Kaif", + mainPageMethods().getAllWidgets().get(0).getWeatherType().getText(), equalTo(KAIF)); + } + + @Step("Начальное открытие виджета, единица измерений температуры Цельсий") + public void shouldSeeTemperatureCelcium() { + assertThat("Начальное значение температуры не в Цельсиях", + mainPageMethods().getAllWidgets().get(0).getWeatherType().getText(), equalTo(CELCIUM)); + } + + @Step("Начальное открытие виджета, отображение элементов") + public void shouldSeeTitleSunrise() { + assertThat("Заголовка показателя рассвета нет на главной странице", SUNRISE, + mainPageMethods().hasItem(mainPageMethods().getTitleValues())); + assertThat("Заголовок показателя рассвета не отображается на главной странице", + mainPageMethods().findElement(mainPageMethods().getTitleValues(), SUNRISE), isDisplayed()); + } + + @Step("Должны увидеть надпись показателя заката") + public void shouldSeeTitleSunset() { + assertThat("Заголовка показателя рассвета нет на главной странице", SUNSET, + mainPageMethods().hasItem(mainPageMethods().getTitleValues())); + assertThat("Заголовок показателя рассвета не отображается на главной странице", + mainPageMethods().findElement(mainPageMethods().getTitleValues(), SUNSET), isDisplayed()); + } + + @Step("Должны увидеть надпись показателя скорости ветра") + public void shouldSeeTitleWind() { + assertThat("Заголовка показателя рассвета нет на главной странице", WIND, + mainPageMethods().hasItem(mainPageMethods().getTitleValues())); + assertThat("Заголовок показателя рассвета не отображается на главной странице", + mainPageMethods().findElement(mainPageMethods().getTitleValues(), WIND), isDisplayed()); + } + + @Step("Должны увидеть надпись показателя влажности") + public void shouldSeeTitleHumidity() { + assertThat("Заголовка показателя рассвета нет на главной странице", HUMIDITY, + mainPageMethods().hasItem(mainPageMethods().getTitleValues())); + assertThat("Заголовок показателя рассвета не отображается на главной странице", + mainPageMethods().findElement(mainPageMethods().getTitleValues(), HUMIDITY), isDisplayed()); + } + + @Step("Должны увидеть картинку для показателя рассвета") + public void shouldSeeImageSunrise() { + assertThat("Картинка показателя рассвета не отображается",onMainPage().getSunrise(), isDisplayed()); + } + + @Step("Должны увидеть картинку для показателя заката") + public void shouldSeeImageSunset() { + assertThat("Картинка показателя заката не отображается", onMainPage().getSunset(), isDisplayed()); + } + + @Step("Должны увидеть картинку для показателя скорости ветра") + public void shouldSeeImageWind() { + assertThat("Картинка показателя скорости ветра не отображается", onMainPage().getWind(), isDisplayed()); + } + + @Step("Должны увидеть картинку для показателя влажности") + public void shouldSeeImageHumidity() { + assertThat("Картинка показателя влажности не отображается", onMainPage().getHumidity(), isDisplayed()); + } + + @Step("Формат времени для значения поля рассвет должен быть 'xx:xx'") + public void shouldSeeFormatTimeSunrise() { + assertThat("Формат времени для значения поля рассвет не 'xx:xx'", + mainPageMethods().getMainPage().getInfoValues().get(0).getText(), mainPageMethods().stringMatcher(SUNRISE_TIME)); + } + + @Step("Формат времени для значения поля закат должен быть 'xx:xx'") + public void shouldSeeFormatTimeSunset() { + assertThat("Формат времени для значения поля закат не 'xx:xx'", + onMainPage().getInfoValues().get(1).getText(), mainPageMethods().stringMatcher(SUNSET_TIME)); + } + + @Step("Формат времени для значения поля скорость ветра должен быть 'xx m/s'") + public void shouldSeeFormatSpeedWind() { + assertThat("Формат времени для значения поля скорость ветра не 'xx m/s'", + onMainPage().getInfoValues().get(2).getText(), mainPageMethods().stringMatcher(WIND_SPEED)); + } + + + @Step("Формат времени для значения поля влажность должен быть 'xx %'") + public void shouldSeeFormatHumidity() { + assertThat("Формат времени для значения поля влажность не 'xx %'", + onMainPage().getInfoValues().get(3).getText(), mainPageMethods().stringMatcher(HUMIDITY_VALUE)); + } + +} From 5e555c350475580bdd8504aa89dc0014cd231139 Mon Sep 17 00:00:00 2001 From: "merkushev.io" Date: Fri, 22 Apr 2016 14:50:12 +0300 Subject: [PATCH 28/82] pom files restore --- commons-module/pom.xml | 25 ++++++++++ pom.xml | 104 ++++++++++++++++++++++++++++++++++++++--- steps-module/pom.xml | 33 +++++++++++++ 3 files changed, 156 insertions(+), 6 deletions(-) diff --git a/commons-module/pom.xml b/commons-module/pom.xml index 1a9a2b0..2aa0e8a 100644 --- a/commons-module/pom.xml +++ b/commons-module/pom.xml @@ -20,6 +20,31 @@ steps-module ${project.version} + + com.tngtech.java + junit-dataprovider + 1.10.4 + test + + + + + org.apache.maven.plugins + maven-surefire-plugin + + + + + + true + + + ru.yandex.qatools.allure + allure-maven-plugin + 2.0 + + + diff --git a/pom.xml b/pom.xml index 8d7e478..259eb88 100644 --- a/pom.xml +++ b/pom.xml @@ -1,21 +1,30 @@ - 4.0.0 ru.qatools.school school-2016 - pom 1.0-SNAPSHOT + pom + + Automation Foreva + First automation project ever steps-module commons-module - Automation Foreva - First automation project ever + + 1.8 + + 1.4.23 + 2.53.0 + 1.15 + 1.8.5 + @@ -25,4 +34,87 @@ - + + + + + + com.jayway.restassured + rest-assured + 2.9.0 + + + + ru.yandex.qatools.allure + allure-junit-adaptor + ${allure.version} + + + org.seleniumhq.selenium + selenium-java + ${selenium.version} + + + ru.yandex.qatools.htmlelements + htmlelements-java + ${htmlelements.version} + + + org.apache.commons + commons-lang3 + 3.4 + + + org.hamcrest + hamcrest-all + 1.3 + + + ru.yandex.qatools.htmlelements + htmlelements-matchers + 1.12 + + + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.0 + + ${compiler.version} + ${compiler.version} + + + + org.apache.maven.plugins + maven-surefire-plugin + 2.18.1 + + + -javaagent:"${settings.localRepository}/org/aspectj/aspectjweaver/${aspectj.version}/aspectjweaver-${aspectj.version}.jar" + + + + listener + ru.yandex.qatools.allure.junit.AllureRunListener + + + + + + org.aspectj + aspectjweaver + ${aspectj.version} + + + + + + + + + \ No newline at end of file diff --git a/steps-module/pom.xml b/steps-module/pom.xml index f69439b..c8d18cc 100644 --- a/steps-module/pom.xml +++ b/steps-module/pom.xml @@ -14,4 +14,37 @@ steps-module Logic Module + + + ru.yandex.qatools.allure + allure-junit-adaptor + + + org.seleniumhq.selenium + selenium-java + + + ru.yandex.qatools.htmlelements + htmlelements-java + + + org.apache.commons + commons-lang3 + + + org.hamcrest + hamcrest-all + + + ru.yandex.qatools.htmlelements + htmlelements-matchers + + + + com.jayway.restassured + rest-assured + + + + From 8d0b2f8820040921da766d1a0a71ec5ceb70ef28 Mon Sep 17 00:00:00 2001 From: "merkushev.io" Date: Fri, 22 Apr 2016 15:37:48 +0300 Subject: [PATCH 29/82] refactor test, add test view elements widget --- .../school/webtests/WeatherWebTest.java | 7 ++- .../school/steps/websteps/DefaultSteps.java | 19 ++++-- .../school/steps/websteps/WidgetSteps.java | 62 +------------------ 3 files changed, 20 insertions(+), 68 deletions(-) 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 88d1a2f..20f50de 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 @@ -47,8 +47,8 @@ public void shouldSeeWidgetOnMainPage() { @Title("Должны увидеть элементы виджета") @ru.yandex.qatools.allure.annotations.TestCaseId("1") public void shouldSeeElements() { - defaultSteps.openMainPageWithCity(MOSCOW); - // Дописать проверку для отоброжания элементов на виджете используя метод shouldSee(Array elements) + defaultSteps.openMainPageWithCity(SPB); + defaultSteps.shouldSeeWidgetElements(); } @Test @@ -56,7 +56,7 @@ public void shouldSeeElements() { @ru.yandex.qatools.allure.annotations.TestCaseId("1") public void shouldSeeButtonOnMainPage() { defaultSteps.openMainPageWithCity(""); - defaultSteps.shouldSee(onMainPage().getAddWidget()); + defaultSteps.shouldSeeButtonAddWidgetOnMainPage(); defaultSteps.shouldSeeOnlyButtonAddWidget(); } @@ -123,6 +123,7 @@ public void shouldSeeNotFullNameWidget() { @Title("Можем менять форматы вывода градусов") @ru.yandex.qatools.allure.annotations.TestCaseId("9") public void shouldSeeChangeFormatDegree() { + defaultSteps.openMainPageWithCity(SPB); defaultSteps.shouldSeeChangeFormatTemperature(); } 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 c7272b7..7f4c2fd 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 @@ -5,11 +5,6 @@ import ru.qatools.school.pages.MainPage; import ru.qatools.school.pages.MainPageMethods; import ru.yandex.qatools.allure.annotations.Step; -import ru.yandex.qatools.htmlelements.element.HtmlElement; - -import java.util.Arrays; -import java.util.Collections; - import static java.lang.String.format; import static org.hamcrest.core.Is.is; import static org.hamcrest.core.IsEqual.equalTo; @@ -107,12 +102,26 @@ public void shouldAutocompliteCity(String city) { mainPageMethods().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()); + shouldSee(onMainPage().getSunrise()); + shouldSee(onMainPage().getSunset()); + shouldSee(onMainPage().getWind()); + widgetSteps().shouldSeeFormatTimeSunrise(); + widgetSteps().shouldSeeFormatTimeSunset(); + widgetSteps().shouldSeeFormatSpeedWind(); + widgetSteps().shouldSeeFormatHumidity(); + } + private MainPage onMainPage() { return new MainPage(driver); } 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 index 43e3990..d60078d 100644 --- 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 @@ -4,10 +4,8 @@ import ru.qatools.school.pages.MainPage; import ru.qatools.school.pages.MainPageMethods; import ru.yandex.qatools.allure.annotations.Step; - import static org.hamcrest.core.IsEqual.equalTo; import static org.junit.Assert.assertThat; -import static ru.yandex.qatools.htmlelements.matchers.WebElementMatchers.isDisplayed; /** * Created by merkushev.io on 22.04.2016. @@ -19,14 +17,10 @@ public class WidgetSteps { private static final String KELVIN = "°K"; private static final String FARINGEIT = "°F"; private static final String KAIF = "°Kaif"; - private static final String SUNRISE = "Sunrise"; - private static final String SUNSET = "Sunset"; - private static final String WIND = "Wind"; - private static final String HUMIDITY = "Humidity"; private static final String SUNRISE_TIME = "^[0-2][0-9]:[0-5][0-9]$"; private static final String SUNSET_TIME = "^[0-2][0-9]:[0-5][0-9]$"; - private static final String WIND_SPEED = "^[0-9]+ m/s"; - private static final String HUMIDITY_VALUE = "^[0-9]{0-3} %"; + private static final String WIND_SPEED = "^[0-9]+.?[0-9]+ m/s"; + private static final String HUMIDITY_VALUE = "^[0-9]+ %"; public WidgetSteps(WebDriver driver) { this.driver = driver; @@ -67,58 +61,6 @@ public void shouldSeeTemperatureCelcium() { mainPageMethods().getAllWidgets().get(0).getWeatherType().getText(), equalTo(CELCIUM)); } - @Step("Начальное открытие виджета, отображение элементов") - public void shouldSeeTitleSunrise() { - assertThat("Заголовка показателя рассвета нет на главной странице", SUNRISE, - mainPageMethods().hasItem(mainPageMethods().getTitleValues())); - assertThat("Заголовок показателя рассвета не отображается на главной странице", - mainPageMethods().findElement(mainPageMethods().getTitleValues(), SUNRISE), isDisplayed()); - } - - @Step("Должны увидеть надпись показателя заката") - public void shouldSeeTitleSunset() { - assertThat("Заголовка показателя рассвета нет на главной странице", SUNSET, - mainPageMethods().hasItem(mainPageMethods().getTitleValues())); - assertThat("Заголовок показателя рассвета не отображается на главной странице", - mainPageMethods().findElement(mainPageMethods().getTitleValues(), SUNSET), isDisplayed()); - } - - @Step("Должны увидеть надпись показателя скорости ветра") - public void shouldSeeTitleWind() { - assertThat("Заголовка показателя рассвета нет на главной странице", WIND, - mainPageMethods().hasItem(mainPageMethods().getTitleValues())); - assertThat("Заголовок показателя рассвета не отображается на главной странице", - mainPageMethods().findElement(mainPageMethods().getTitleValues(), WIND), isDisplayed()); - } - - @Step("Должны увидеть надпись показателя влажности") - public void shouldSeeTitleHumidity() { - assertThat("Заголовка показателя рассвета нет на главной странице", HUMIDITY, - mainPageMethods().hasItem(mainPageMethods().getTitleValues())); - assertThat("Заголовок показателя рассвета не отображается на главной странице", - mainPageMethods().findElement(mainPageMethods().getTitleValues(), HUMIDITY), isDisplayed()); - } - - @Step("Должны увидеть картинку для показателя рассвета") - public void shouldSeeImageSunrise() { - assertThat("Картинка показателя рассвета не отображается",onMainPage().getSunrise(), isDisplayed()); - } - - @Step("Должны увидеть картинку для показателя заката") - public void shouldSeeImageSunset() { - assertThat("Картинка показателя заката не отображается", onMainPage().getSunset(), isDisplayed()); - } - - @Step("Должны увидеть картинку для показателя скорости ветра") - public void shouldSeeImageWind() { - assertThat("Картинка показателя скорости ветра не отображается", onMainPage().getWind(), isDisplayed()); - } - - @Step("Должны увидеть картинку для показателя влажности") - public void shouldSeeImageHumidity() { - assertThat("Картинка показателя влажности не отображается", onMainPage().getHumidity(), isDisplayed()); - } - @Step("Формат времени для значения поля рассвет должен быть 'xx:xx'") public void shouldSeeFormatTimeSunrise() { assertThat("Формат времени для значения поля рассвет не 'xx:xx'", From 5da584a472b476f51b1d77aca4cc0e5129cf5974 Mon Sep 17 00:00:00 2001 From: "merkushev.io" Date: Fri, 22 Apr 2016 16:20:48 +0300 Subject: [PATCH 30/82] full test completed --- .../java/ru/qatools/school/webtests/WeatherWebTest.java | 6 ++---- .../main/java/ru/qatools/school/pages/MainPageMethods.java | 2 +- .../java/ru/qatools/school/steps/websteps/DefaultSteps.java | 2 +- 3 files changed, 4 insertions(+), 6 deletions(-) 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 20f50de..b57046b 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 @@ -3,11 +3,9 @@ import org.junit.Before; import org.junit.Rule; import org.junit.Test; -import org.openqa.selenium.WebElement; import ru.qatools.school.pages.MainPage; import ru.qatools.school.rules.WebDriverRule; import ru.qatools.school.steps.websteps.DefaultSteps; -import ru.qatools.school.steps.websteps.WidgetSteps; import ru.qatools.school.tp.TPInformerRule; import ru.yandex.qatools.allure.annotations.Title; @@ -21,8 +19,8 @@ public class WeatherWebTest { @Rule public WebDriverRule webDriverRule = new WebDriverRule(); -// @Rule -// public TPInformerRule tms = new TPInformerRule("merkushevio"); + @Rule + public TPInformerRule tms = new TPInformerRule("merkushevio"); @Before diff --git a/steps-module/src/main/java/ru/qatools/school/pages/MainPageMethods.java b/steps-module/src/main/java/ru/qatools/school/pages/MainPageMethods.java index 043eb10..3f6fc7a 100644 --- a/steps-module/src/main/java/ru/qatools/school/pages/MainPageMethods.java +++ b/steps-module/src/main/java/ru/qatools/school/pages/MainPageMethods.java @@ -35,7 +35,7 @@ public void addWidget() { public WebElement findElement(List list, String name) { for (WebElement element : list) { - if (element.getText().equalsIgnoreCase(name)) { + if (element.getText().equals(name)) { return element; } } 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 7f4c2fd..4d76971 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 @@ -76,7 +76,7 @@ public void shouldSeeRenameWidget(String oldName, String newName) { mainPageMethods().renameWidget(oldName, newName); shouldSee(mainPageMethods().findElement(mainPageMethods().getAllPlaces(), newName)); assertThat("Новый виджет в списке виджетов не найден", newName, - mainPageMethods().hasItem(mainPageMethods().getAllPlaces())); + equalTo(mainPageMethods().findElement(onMainPage().getPlaces(), newName))); } @Step("На главной странице виджеты добавляются") From 59077ddf8fe439d72b56083682758644fd3ec6f1 Mon Sep 17 00:00:00 2001 From: Igor Merkushev Date: Tue, 26 Apr 2016 13:52:58 +0300 Subject: [PATCH 31/82] refactor tests, add WidgetSteps, refactor MainPageMethods --- .../ru/qatools/school/webtests/WeatherWebTest.java | 6 +++--- .../ru/qatools/school/pages/MainPageMethods.java | 13 ++++--------- .../qatools/school/steps/websteps/DefaultSteps.java | 11 ++++++++--- .../qatools/school/steps/websteps/WidgetSteps.java | 4 ++-- 4 files changed, 17 insertions(+), 17 deletions(-) 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 b57046b..b4283fa 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 @@ -19,8 +19,8 @@ public class WeatherWebTest { @Rule public WebDriverRule webDriverRule = new WebDriverRule(); - @Rule - public TPInformerRule tms = new TPInformerRule("merkushevio"); + //@Rule + //public TPInformerRule tms = new TPInformerRule("merkushevio"); @Before @@ -45,7 +45,7 @@ public void shouldSeeWidgetOnMainPage() { @Title("Должны увидеть элементы виджета") @ru.yandex.qatools.allure.annotations.TestCaseId("1") public void shouldSeeElements() { - defaultSteps.openMainPageWithCity(SPB); + defaultSteps.openMainPageWithCity(MOSCOW); defaultSteps.shouldSeeWidgetElements(); } diff --git a/steps-module/src/main/java/ru/qatools/school/pages/MainPageMethods.java b/steps-module/src/main/java/ru/qatools/school/pages/MainPageMethods.java index 3f6fc7a..7fce41b 100644 --- a/steps-module/src/main/java/ru/qatools/school/pages/MainPageMethods.java +++ b/steps-module/src/main/java/ru/qatools/school/pages/MainPageMethods.java @@ -23,12 +23,6 @@ public void clickOnElement(WebElement element) { element.click(); } - public void sendChars(WebElement element, String text) { - element.clear(); - element.sendKeys(text); - element.sendKeys(Keys.RETURN); - } - public void addWidget() { mainPage.getAddWidget().click(); } @@ -43,9 +37,10 @@ public WebElement findElement(List list, String name) { } public void renameWidget(String oldName, String newName) { - WebElement element = findElement(getAllPlaces(), oldName); - clickOnElement(element); - sendChars(mainPage.getEditPlace(), newName); + findElement(getAllPlaces(), oldName).click(); + mainPage.getEditPlace().clear(); + mainPage.getEditPlace().sendKeys(newName); + mainPage.getEditPlace().sendKeys(Keys.RETURN); } public int countWidgets() { 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 4d76971..4903019 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 @@ -5,6 +5,9 @@ import ru.qatools.school.pages.MainPage; import ru.qatools.school.pages.MainPageMethods; import ru.yandex.qatools.allure.annotations.Step; + +import java.util.Collections; + import static java.lang.String.format; import static org.hamcrest.core.Is.is; import static org.hamcrest.core.IsEqual.equalTo; @@ -39,7 +42,9 @@ public void openMainPageWithoutParameter() { @Step("Должны видеть на странице «{0}»") public void shouldSee(WebElement...elements) { for (WebElement element : elements) { - assertThat("Не отображается элемент " + element.getText(), element, isDisplayed()); + assertThat("Не отображается элемент: " + element.getAttribute("class") + + " and value: " + element.getAttribute("value"), + element, isDisplayed()); } } @@ -75,8 +80,8 @@ public void shouldSeeButtonOnlyAddWidgetOnMainPageWithoutParameter() { public void shouldSeeRenameWidget(String oldName, String newName) { mainPageMethods().renameWidget(oldName, newName); shouldSee(mainPageMethods().findElement(mainPageMethods().getAllPlaces(), newName)); - assertThat("Новый виджет в списке виджетов не найден", newName, - equalTo(mainPageMethods().findElement(onMainPage().getPlaces(), newName))); + assertThat("Новое название в списке названий виджетов не найдено", newName, + equalTo(mainPageMethods().getAllPlaces().get(0).getText())); } @Step("На главной странице виджеты добавляются") 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 index d60078d..95c7e41 100644 --- 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 @@ -8,7 +8,7 @@ import static org.junit.Assert.assertThat; /** - * Created by merkushev.io on 22.04.2016. + * Created by merkushevio on 22.04.2016. */ public class WidgetSteps { private WebDriver driver; @@ -19,7 +19,7 @@ public class WidgetSteps { private static final String KAIF = "°Kaif"; private static final String SUNRISE_TIME = "^[0-2][0-9]:[0-5][0-9]$"; private static final String SUNSET_TIME = "^[0-2][0-9]:[0-5][0-9]$"; - private static final String WIND_SPEED = "^[0-9]+.?[0-9]+ m/s"; + private static final String WIND_SPEED = "^\\d m/s"; private static final String HUMIDITY_VALUE = "^[0-9]+ %"; public WidgetSteps(WebDriver driver) { From 68058bff33441ab695ff525efe04ecfb63ec7abf Mon Sep 17 00:00:00 2001 From: Igor Merkushev Date: Tue, 26 Apr 2016 13:53:29 +0300 Subject: [PATCH 32/82] enable Rule for TestPalm --- .../test/java/ru/qatools/school/webtests/WeatherWebTest.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 b4283fa..afa92dd 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 @@ -19,8 +19,8 @@ public class WeatherWebTest { @Rule public WebDriverRule webDriverRule = new WebDriverRule(); - //@Rule - //public TPInformerRule tms = new TPInformerRule("merkushevio"); + @Rule + public TPInformerRule tms = new TPInformerRule("merkushevio"); @Before From 7164bcc6e89c2e8118cee022f1ed60e2e7b30503 Mon Sep 17 00:00:00 2001 From: Igor Merkushev Date: Thu, 14 Apr 2016 20:58:41 +0300 Subject: [PATCH 33/82] init second practice webtest widgets --- .../school/webtests/WeatherWebTest.java | 18 +++++++++++++++++ .../ru/qatools/school/pages/MainPage.java | 1 + .../school/steps/websteps/DefaultSteps.java | 20 +++++++++++++++++++ 3 files changed, 39 insertions(+) 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..cfb32c1 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,8 +6,11 @@ import ru.qatools.school.pages.MainPage; import ru.qatools.school.rules.WebDriverRule; import ru.qatools.school.steps.websteps.DefaultSteps; +import ru.yandex.qatools.allure.annotations.Step; import ru.yandex.qatools.allure.annotations.Title; +import static org.junit.Assert.assertThat; + public class WeatherWebTest { public static final String MOSCOW = "Moscow"; @@ -29,8 +32,23 @@ public void shouldSeeWidgetOnMainPage() { defaultSteps.shouldSee(onMainPage().getWeatherWidget().get(0)); } + @Test + @Title("Должны увидеть виджет с именем города") + public void shouldSeeWidgetWithTitleCity() { + defaultSteps.openMainPageWithCity(MOSCOW); + defaultSteps.shouldSeeTitleWidgetEqualCity(MOSCOW); + } + private MainPage onMainPage() { return new MainPage(webDriverRule.getDriver()); } + @Test + @Title("Должны видеть добавленный виджет на главной странице") + public void shouldSeeAddWidgetOnMainPage() { + defaultSteps.openMainPageWithCity(MOSCOW); + defaultSteps.addWidgetOnMainPage(); + defaultSteps.shouldSeeAddedWidgets(onMainPage().getWeatherWidget().size()); + } } + 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..57feab7 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 @@ -23,6 +23,7 @@ public MainPage(WebDriver driver) { @FindBy(css = ".card.card_md") private List weatherWidget; + public List getWeatherWidget() { return weatherWidget; } 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..605c561 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 @@ -1,11 +1,15 @@ package ru.qatools.school.steps.websteps; +import org.openqa.selenium.By; 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 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; @@ -32,6 +36,22 @@ public void shouldSee(WebElement element) { assertThat("Должны видеть элемент", element, isDisplayed()); } + @Step("Проверяем что заголовок виджета это запрошенный город") + public void shouldSeeTitleWidgetEqualCity(String city) { + assertThat("Заголовок города равен названию виджета", + driver.findElement(By.cssSelector("#text")).getText(), equalTo(city)); + } + + @Step("Добавляем виджет на страницу") + public void addWidgetOnMainPage() { + driver.findElement(By.cssSelector("div>.new-card")).click(); + } + + @Step("Проверяем что на главной странице три виджета") + public void shouldSeeAddedWidgets(int size) { + assertThat("Должно быть два виджета", size, is(3)); + } + private MainPage onMainPage() { return new MainPage(driver); } From 68dd115679a76b80966ec263e080a6e8a872b2fb Mon Sep 17 00:00:00 2001 From: Igor Merkushev Date: Sun, 17 Apr 2016 18:03:05 +0300 Subject: [PATCH 34/82] Add test for main page Add test for add widget Add test for remove widget --- .../school/webtests/WeatherWebTest.java | 13 +++-- .../qatools/school/rules/WebDriverRule.java | 5 +- .../school/steps/websteps/DefaultSteps.java | 50 ++++++++++++++++--- 3 files changed, 57 insertions(+), 11 deletions(-) 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 cfb32c1..69496e0 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 @@ -14,6 +14,7 @@ public class WeatherWebTest { public static final String MOSCOW = "Moscow"; + public static final String SPB = "Saint Petersburg"; private DefaultSteps defaultSteps; @@ -33,7 +34,7 @@ public void shouldSeeWidgetOnMainPage() { } @Test - @Title("Должны увидеть виджет с именем города") + @Title("Должны увидеть виджет с именем города на главной странице") public void shouldSeeWidgetWithTitleCity() { defaultSteps.openMainPageWithCity(MOSCOW); defaultSteps.shouldSeeTitleWidgetEqualCity(MOSCOW); @@ -47,8 +48,14 @@ private MainPage onMainPage() { @Title("Должны видеть добавленный виджет на главной странице") public void shouldSeeAddWidgetOnMainPage() { defaultSteps.openMainPageWithCity(MOSCOW); - defaultSteps.addWidgetOnMainPage(); - defaultSteps.shouldSeeAddedWidgets(onMainPage().getWeatherWidget().size()); + defaultSteps.shouldSeeWidgetAdd(SPB); + } + + @Test + @Title("Должны увидеть виджеты, кроме удаленного на главной странице") + public void shouldSeeRemoveWidgetOnMainPage() { + defaultSteps.openMainPageWithCity(SPB); + defaultSteps.shouldSeeWidgetRemove(SPB); } } 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..2001963 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 @@ -13,11 +13,12 @@ public class WebDriverRule extends ExternalResource { protected void before() throws Throwable { this.driver = new FirefoxDriver(); + driver.manage().window().maximize(); } protected void after() { - driver.close(); - driver.quit(); + //driver.close(); + //driver.quit(); } public WebDriver getDriver() { 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 605c561..b7c0e50 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 @@ -1,16 +1,24 @@ package ru.qatools.school.steps.websteps; import org.openqa.selenium.By; +import org.openqa.selenium.Keys; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; +import org.openqa.selenium.interactions.Actions; +import org.openqa.selenium.support.ui.ExpectedConditions; +import org.openqa.selenium.support.ui.WebDriverWait; 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 java.util.concurrent.ThreadLocalRandom; + 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 org.junit.Assert.assertTrue; import static ru.yandex.qatools.htmlelements.matchers.WebElementMatchers.isDisplayed; /** @@ -39,17 +47,47 @@ public void shouldSee(WebElement element) { @Step("Проверяем что заголовок виджета это запрошенный город") public void shouldSeeTitleWidgetEqualCity(String city) { assertThat("Заголовок города равен названию виджета", - driver.findElement(By.cssSelector("#text")).getText(), equalTo(city)); + driver.findElement(By.cssSelector("div .inplace.inplace_displayed")).getText(), equalTo(city)); } @Step("Добавляем виджет на страницу") - public void addWidgetOnMainPage() { - driver.findElement(By.cssSelector("div>.new-card")).click(); + public void addWidgetOnMainPage(String city) { + driver.findElement(By.cssSelector(".new-card")).click(); + driver.findElement(By.cssSelector("span.inplace.inplace_displayed")).click(); + driver.findElement(By.cssSelector("input.inplace.inplace_editable")).clear(); + driver.findElement(By.cssSelector("input.inplace.inplace_editable")).sendKeys(city); + driver.findElement(By.cssSelector("input.inplace.inplace_editable")).sendKeys(Keys.RETURN); + } + + @Step("На главной странице виджеты добавляются") + public void shouldSeeWidgetAdd(String city) { + addWidgetOnMainPage(city); + boolean find = false; + List spans = driver.findElements(By.cssSelector(".inplace.inplace_displayed")); + for (WebElement span : spans) + { + String text = span.getText(); + if (text.equals(city)) { + find = true; + break; + } + } + assertTrue("Виджет с именем " + city + "не добавился", find); } - @Step("Проверяем что на главной странице три виджета") - public void shouldSeeAddedWidgets(int size) { - assertThat("Должно быть два виджета", size, is(3)); + @Step("На главной странице виджет можно удалить") + public void shouldSeeWidgetRemove(String removeCity) { + int count = onMainPage().getWeatherWidget().size(); + List widgets = onMainPage().getWeatherWidget(); + for (WeatherWidget widget : widgets ) + { + String text = widget.findElement(By.cssSelector(".inplace.inplace_displayed")).getText(); + if (text.equals(removeCity)) { + widget.findElement(By.cssSelector(".remove-card.btn.btn-default")).click(); + break; + } + } + assertThat("Количество виджетов не уменьшилось на единицу после удаления одного виджета", --count, is(onMainPage().getWeatherWidget().size())); } private MainPage onMainPage() { From 519496d4361b157d1d6238c127dfc24adf947640 Mon Sep 17 00:00:00 2001 From: Igor Merkushev Date: Sun, 17 Apr 2016 21:19:25 +0300 Subject: [PATCH 35/82] Add test autocomplite add test for change temperature units --- .../school/webtests/WeatherWebTest.java | 18 +++++++ .../qatools/school/rules/WebDriverRule.java | 4 +- .../school/steps/websteps/DefaultSteps.java | 50 +++++++++++++++---- 3 files changed, 60 insertions(+), 12 deletions(-) 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 69496e0..6aee305 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 @@ -9,6 +9,8 @@ import ru.yandex.qatools.allure.annotations.Step; import ru.yandex.qatools.allure.annotations.Title; +import javax.swing.plaf.synth.SynthProgressBarUI; + import static org.junit.Assert.assertThat; public class WeatherWebTest { @@ -57,5 +59,21 @@ public void shouldSeeRemoveWidgetOnMainPage() { defaultSteps.openMainPageWithCity(SPB); defaultSteps.shouldSeeWidgetRemove(SPB); } + + @Test + @Title("Должны увидеть автозаполнение при не полном наборе названия") + public void shouldAutoCompleteCity() { + defaultSteps.openMainPageWithCity(MOSCOW); + defaultSteps.shouldAutocompliteCity(SPB); + } + + @Test + @Title("Должны меняться форматы вывода градуса") + public void shouldSeeChangeFormatDegree() { + defaultSteps.openMainPageWithCity(SPB); + defaultSteps.shouldSeeChangeFormatDegree(); + } + } + 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 2001963..f3d5f5e 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 @@ -17,8 +17,8 @@ protected void before() throws Throwable { } protected void after() { - //driver.close(); - //driver.quit(); + driver.close(); + driver.quit(); } public WebDriver getDriver() { 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 b7c0e50..05464d6 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 @@ -1,10 +1,13 @@ package ru.qatools.school.steps.websteps; +import com.google.common.base.Predicate; import org.openqa.selenium.By; +import org.openqa.selenium.By.ByCssSelector; import org.openqa.selenium.Keys; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.interactions.Actions; +import org.openqa.selenium.support.ui.ExpectedCondition; import org.openqa.selenium.support.ui.ExpectedConditions; import org.openqa.selenium.support.ui.WebDriverWait; import ru.qatools.school.pages.MainPage; @@ -13,6 +16,7 @@ import java.util.List; import java.util.concurrent.ThreadLocalRandom; +import java.util.function.Function; import static java.lang.String.format; import static org.hamcrest.core.Is.is; @@ -44,14 +48,13 @@ public void shouldSee(WebElement element) { assertThat("Должны видеть элемент", element, isDisplayed()); } - @Step("Проверяем что заголовок виджета это запрошенный город") + @Step("Заголовок виджета должен совпадать с запрошенным городом") public void shouldSeeTitleWidgetEqualCity(String city) { assertThat("Заголовок города равен названию виджета", - driver.findElement(By.cssSelector("div .inplace.inplace_displayed")).getText(), equalTo(city)); + driver.findElement(By.cssSelector(".inplace.inplace_displayed")).getText(), equalTo(city)); } - @Step("Добавляем виджет на страницу") - public void addWidgetOnMainPage(String city) { + private void addWidgetOnMainPage(String city) { driver.findElement(By.cssSelector(".new-card")).click(); driver.findElement(By.cssSelector("span.inplace.inplace_displayed")).click(); driver.findElement(By.cssSelector("input.inplace.inplace_editable")).clear(); @@ -64,8 +67,7 @@ public void shouldSeeWidgetAdd(String city) { addWidgetOnMainPage(city); boolean find = false; List spans = driver.findElements(By.cssSelector(".inplace.inplace_displayed")); - for (WebElement span : spans) - { + for (WebElement span : spans) { String text = span.getText(); if (text.equals(city)) { find = true; @@ -79,10 +81,8 @@ public void shouldSeeWidgetAdd(String city) { public void shouldSeeWidgetRemove(String removeCity) { int count = onMainPage().getWeatherWidget().size(); List widgets = onMainPage().getWeatherWidget(); - for (WeatherWidget widget : widgets ) - { - String text = widget.findElement(By.cssSelector(".inplace.inplace_displayed")).getText(); - if (text.equals(removeCity)) { + for (WeatherWidget widget : widgets) { + if (widget.findElement(By.cssSelector(".inplace.inplace_displayed")).getText().equals(removeCity)) { widget.findElement(By.cssSelector(".remove-card.btn.btn-default")).click(); break; } @@ -90,6 +90,36 @@ public void shouldSeeWidgetRemove(String removeCity) { assertThat("Количество виджетов не уменьшилось на единицу после удаления одного виджета", --count, is(onMainPage().getWeatherWidget().size())); } + @Step("На ввод не полного названия города должно срабатывать автозаполнение") + public void shouldAutocompliteCity(String city) { + driver.findElement(By.cssSelector(".inplace.inplace_displayed")).click(); + driver.findElement(By.cssSelector("input.inplace.inplace_editable")).clear(); + driver.findElement(By.cssSelector("input.inplace.inplace_editable")).sendKeys(city.substring(0, city.length() / 2)); + WebElement element = (new WebDriverWait(driver, 10)) + .until((ExpectedCondition) d -> { + List elements = driver.findElements(By.cssSelector(".city__name")); + for (WebElement element1 : elements) { + if (element1.getText().equals(city)) { + return element1; + } + } + return null; + }); + element.click(); + assertThat("Заголовок города равен названию набираемого города", + driver.findElement(By.cssSelector(".inplace.inplace_displayed")).getText(), equalTo(city)); + } + + @Step("Должны меняться форматы вывода градуса") + public void shouldSeeChangeFormatDegree() { + driver.findElement(By.cssSelector(".weather-temperature.md-12")).click(); + assertThat("Не произошло преобразование градусов цельсия в градусы кельвина", driver.findElement(By.cssSelector(".weather-temperature__unit")).getText(), equalTo("°K")); + driver.findElement(By.cssSelector(".weather-temperature.md-12")).click(); + assertThat("Не произошло преобразование градусов в кельвинах в градусы фаренгейта", driver.findElement(By.cssSelector(".weather-temperature__unit")).getText(), equalTo("°F")); + driver.findElement(By.cssSelector(".weather-temperature.md-12")).click(); + assertThat("Не произошло преобразование градусов фаренгейта в градусы °Kaif", driver.findElement(By.cssSelector(".weather-temperature__unit")).getText(), equalTo("°Kaif")); + } + private MainPage onMainPage() { return new MainPage(driver); } From d4500ea8d37fc527a4301e800bc9510fb5d0559b Mon Sep 17 00:00:00 2001 From: Igor Merkushev Date: Sun, 17 Apr 2016 21:25:01 +0300 Subject: [PATCH 36/82] change constants from public to private --- .../test/java/ru/qatools/school/webtests/WeatherWebTest.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 6aee305..9129102 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 @@ -15,8 +15,8 @@ public class WeatherWebTest { - public static final String MOSCOW = "Moscow"; - public static final String SPB = "Saint Petersburg"; + private static final String MOSCOW = "Moscow"; + private static final String SPB = "Saint Petersburg"; private DefaultSteps defaultSteps; From 2aee760288755f57e8652cf90949d61bdf07f716 Mon Sep 17 00:00:00 2001 From: merkushevio Date: Mon, 18 Apr 2016 10:26:07 +0300 Subject: [PATCH 37/82] edit MainPage --- .../ru/qatools/school/pages/MainPage.java | 32 +++++++++++++++++++ .../school/steps/websteps/DefaultSteps.java | 6 ++-- 2 files changed, 35 insertions(+), 3 deletions(-) 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 57feab7..ccde5bc 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,7 @@ package ru.qatools.school.pages; 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; @@ -23,9 +24,40 @@ public MainPage(WebDriver driver) { @FindBy(css = ".card.card_md") private List weatherWidget; + @Name("Список городов") + @FindBy(css = ".inplace.inplace_displayed") + private List inplace; + + @Name("Добавление нового виджета") + @FindBy(css = ".new-card") + private WebElement addWidget; + + @Name("Редактируемое поле названия города") + @FindBy(css = "input.inplace.inplace_editable") + private WebElement editInplace; + + @Name("Список элементов отображения температуры") + @FindBy(css = "weather-temperature.md-12") + private List listTemperatures; public List getWeatherWidget() { return weatherWidget; } + public List getInplace() { + return inplace; + } + + public WebElement getAddWidget() { + return addWidget; + } + + public WebElement getEditInplace() { + return editInplace; + } + + public List getListTemperatures() { + return listTemperatures; + } + } 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 05464d6..9d655cc 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 @@ -51,12 +51,12 @@ public void shouldSee(WebElement element) { @Step("Заголовок виджета должен совпадать с запрошенным городом") public void shouldSeeTitleWidgetEqualCity(String city) { assertThat("Заголовок города равен названию виджета", - driver.findElement(By.cssSelector(".inplace.inplace_displayed")).getText(), equalTo(city)); + onMainPage().getInplace().get(0).getText(), equalTo(city)); } private void addWidgetOnMainPage(String city) { - driver.findElement(By.cssSelector(".new-card")).click(); - driver.findElement(By.cssSelector("span.inplace.inplace_displayed")).click(); + onMainPage().getAddWidget().click(); + onMainPage().getInplace().get(0).click(); driver.findElement(By.cssSelector("input.inplace.inplace_editable")).clear(); driver.findElement(By.cssSelector("input.inplace.inplace_editable")).sendKeys(city); driver.findElement(By.cssSelector("input.inplace.inplace_editable")).sendKeys(Keys.RETURN); From ca304a38e87c0a9a8d0f4fdc394bac985dd369d0 Mon Sep 17 00:00:00 2001 From: merkushevio Date: Mon, 18 Apr 2016 18:31:54 +0300 Subject: [PATCH 38/82] edit WidgetTitle, DefaultSteps --- .../main/java/ru/qatools/school/pages/MainPage.java | 4 ++++ .../school/pages/blocks/widgetblocks/WidgetTitle.java | 11 +++++++++++ .../qatools/school/steps/websteps/DefaultSteps.java | 6 +++--- 3 files changed, 18 insertions(+), 3 deletions(-) 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 ccde5bc..810030a 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 @@ -60,4 +60,8 @@ public List getListTemperatures() { return listTemperatures; } + public void addWidget(String city) { + + } + } 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..0e872b9 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; /** @@ -8,7 +11,15 @@ */ public class WidgetTitle extends HtmlElement { + @Name("Заголовок виджета") + @FindBy(css = ".inplace.inplace_displayed") + private WebElement widgetTitle; + public Rectangle getRect() { return null; } + + public WebElement getWidgetTitle() { + return widgetTitle; + } } 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 9d655cc..106bd1b 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 @@ -57,9 +57,9 @@ public void shouldSeeTitleWidgetEqualCity(String city) { private void addWidgetOnMainPage(String city) { onMainPage().getAddWidget().click(); onMainPage().getInplace().get(0).click(); - driver.findElement(By.cssSelector("input.inplace.inplace_editable")).clear(); - driver.findElement(By.cssSelector("input.inplace.inplace_editable")).sendKeys(city); - driver.findElement(By.cssSelector("input.inplace.inplace_editable")).sendKeys(Keys.RETURN); + onMainPage().getEditInplace().clear(); + onMainPage().getEditInplace().sendKeys(city); + onMainPage().getEditInplace().sendKeys(Keys.RETURN); } @Step("На главной странице виджеты добавляются") From 20ad2b1ddeacc6340799ba465cdd7500827ff06b Mon Sep 17 00:00:00 2001 From: Igor Merkushev Date: Tue, 19 Apr 2016 17:27:07 +0300 Subject: [PATCH 39/82] create class with methods for tests --- .../ru/qatools/school/pages/MainPage.java | 20 +++-- .../qatools/school/pages/MainPageMethods.java | 84 +++++++++++++++++++ .../school/pages/blocks/WeatherWidget.java | 8 ++ .../blocks/widgetblocks/WidgetTitle.java | 7 -- .../school/steps/websteps/DefaultSteps.java | 43 ++++------ 5 files changed, 119 insertions(+), 43 deletions(-) create mode 100644 steps-module/src/main/java/ru/qatools/school/pages/MainPageMethods.java 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 810030a..9fdeb62 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 @@ -26,7 +26,7 @@ public MainPage(WebDriver driver) { @Name("Список городов") @FindBy(css = ".inplace.inplace_displayed") - private List inplace; + private List inplace; @Name("Добавление нового виджета") @FindBy(css = ".new-card") @@ -34,7 +34,11 @@ public MainPage(WebDriver driver) { @Name("Редактируемое поле названия города") @FindBy(css = "input.inplace.inplace_editable") - private WebElement editInplace; + private WeatherWidget editInplace; + + @Name("Кнопка удаления виджета") + @FindBy(css = ".remove-card.btn.btn-default") + private WeatherWidget removeBtn; @Name("Список элементов отображения температуры") @FindBy(css = "weather-temperature.md-12") @@ -44,7 +48,7 @@ public List getWeatherWidget() { return weatherWidget; } - public List getInplace() { + public List getPlaces() { return inplace; } @@ -52,16 +56,16 @@ public WebElement getAddWidget() { return addWidget; } - public WebElement getEditInplace() { + public WeatherWidget getEditInplace() { return editInplace; } - public List getListTemperatures() { - return listTemperatures; + public WeatherWidget getRemoveBtn() { + return removeBtn; } - public void addWidget(String city) { - + public List getListTemperatures() { + return listTemperatures; } } diff --git a/steps-module/src/main/java/ru/qatools/school/pages/MainPageMethods.java b/steps-module/src/main/java/ru/qatools/school/pages/MainPageMethods.java new file mode 100644 index 0000000..8c291b6 --- /dev/null +++ b/steps-module/src/main/java/ru/qatools/school/pages/MainPageMethods.java @@ -0,0 +1,84 @@ +package ru.qatools.school.pages; + +import org.hamcrest.Description; +import org.hamcrest.Matcher; +import org.hamcrest.TypeSafeDiagnosingMatcher; +import org.openqa.selenium.Keys; +import org.openqa.selenium.WebDriver; +import org.openqa.selenium.WebElement; +import ru.qatools.school.pages.blocks.WeatherWidget; +import java.util.List; + +public class MainPageMethods { + + private MainPage mainPage; + + public MainPageMethods(WebDriver driver) { + mainPage = new MainPage(driver); + } + + public void clickOnElement(WebElement element) { + element.click(); + } + + public void sendChars(WebElement element, String text) { + element.clear(); + element.sendKeys(text); + element.sendKeys(Keys.RETURN); + } + + public void addWidget() { + mainPage.getAddWidget().click(); + } + + public WeatherWidget findWidget(String city) { + List list = allWidgets(); + for (WeatherWidget widget : list) { + if (widget.getInplace().getText().equalsIgnoreCase(city)) { + return widget; + } + } + return null; + } + + public void renameWidget(String oldName, String newName) { + List list = mainPage.getPlaces(); + for (WeatherWidget widget : list) { + if (widget.getInplace().getText().equalsIgnoreCase(oldName)) { + clickOnElement(widget.getInplace()); + sendChars(mainPage.getEditInplace(), newName); + } + } + } + + public int countWidgets() { + return mainPage.getWeatherWidget().size(); + } + + public List allWidgets() { + return mainPage.getWeatherWidget(); + } + + public Matcher hasItem(String city) { + final List list = mainPage.getPlaces(); + return new TypeSafeDiagnosingMatcher() { + @Override + public void describeTo(Description description) { + description.appendText("expected place"); + } + + @Override + protected boolean matchesSafely(String city, Description mismatch) { + for (WeatherWidget widget : list) { + if (widget.getInplace().getText() != city) { + mismatch.appendText("return city was ") + .appendValue(widget.getInplace().getText()); + return false; + } + } + + return true; + } + }; + } +} 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..f9e1628 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 @@ -25,6 +25,10 @@ public class WeatherWidget extends HtmlElement { @FindBy(css = ".card-actions") private WebElement actions; + @Name("Название города в виджете") + @FindBy(css = ".inplace.inplace_displayed") + private WebElement inplace; + public WidgetText getWidgetText() { return widgetText; } @@ -37,6 +41,10 @@ public WebElement getActions() { return actions; } + public WebElement getInplace() { + return inplace; + } + 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 0e872b9..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 @@ -11,15 +11,8 @@ */ public class WidgetTitle extends HtmlElement { - @Name("Заголовок виджета") - @FindBy(css = ".inplace.inplace_displayed") - private WebElement widgetTitle; - public Rectangle getRect() { return null; } - public WebElement getWidgetTitle() { - return widgetTitle; - } } 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 106bd1b..a4cc5b9 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 @@ -11,6 +11,7 @@ import org.openqa.selenium.support.ui.ExpectedConditions; import org.openqa.selenium.support.ui.WebDriverWait; import ru.qatools.school.pages.MainPage; +import ru.qatools.school.pages.MainPageMethods; import ru.qatools.school.pages.blocks.WeatherWidget; import ru.yandex.qatools.allure.annotations.Step; @@ -19,6 +20,7 @@ import java.util.function.Function; import static java.lang.String.format; +import static org.hamcrest.Matchers.hasItem; import static org.hamcrest.core.Is.is; import static org.hamcrest.core.IsEqual.equalTo; import static org.junit.Assert.assertThat; @@ -31,6 +33,7 @@ public class DefaultSteps { public static final String MAIN_PAGE = "http://weather.lanwen.ru/#?cities=%s"; + private static final String NEW_WIDGET = "What a city?"; private WebDriver driver; @@ -51,50 +54,30 @@ public void shouldSee(WebElement element) { @Step("Заголовок виджета должен совпадать с запрошенным городом") public void shouldSeeTitleWidgetEqualCity(String city) { assertThat("Заголовок города равен названию виджета", - onMainPage().getInplace().get(0).getText(), equalTo(city)); + onMainPage().getPlaces().get(0).getText(), equalTo(city)); } private void addWidgetOnMainPage(String city) { - onMainPage().getAddWidget().click(); - onMainPage().getInplace().get(0).click(); - onMainPage().getEditInplace().clear(); - onMainPage().getEditInplace().sendKeys(city); - onMainPage().getEditInplace().sendKeys(Keys.RETURN); + mainPageMethods().addWidget(); + mainPageMethods().renameWidget(NEW_WIDGET, city); } @Step("На главной странице виджеты добавляются") public void shouldSeeWidgetAdd(String city) { addWidgetOnMainPage(city); - boolean find = false; - List spans = driver.findElements(By.cssSelector(".inplace.inplace_displayed")); - for (WebElement span : spans) { - String text = span.getText(); - if (text.equals(city)) { - find = true; - break; - } - } - assertTrue("Виджет с именем " + city + "не добавился", find); + assertThat("Widget has", city, is(mainPageMethods().hasItem(city))); } @Step("На главной странице виджет можно удалить") public void shouldSeeWidgetRemove(String removeCity) { - int count = onMainPage().getWeatherWidget().size(); - List widgets = onMainPage().getWeatherWidget(); - for (WeatherWidget widget : widgets) { - if (widget.findElement(By.cssSelector(".inplace.inplace_displayed")).getText().equals(removeCity)) { - widget.findElement(By.cssSelector(".remove-card.btn.btn-default")).click(); - break; - } - } - assertThat("Количество виджетов не уменьшилось на единицу после удаления одного виджета", --count, is(onMainPage().getWeatherWidget().size())); + int count = mainPageMethods().countWidgets(); + mainPageMethods().clickOnElement(mainPageMethods().findWidget(removeCity)); + assertThat("Количество виджетов не уменьшилось на единицу после удаления одного виджета", mainPageMethods().countWidgets(), is(count - 1)); } @Step("На ввод не полного названия города должно срабатывать автозаполнение") public void shouldAutocompliteCity(String city) { - driver.findElement(By.cssSelector(".inplace.inplace_displayed")).click(); - driver.findElement(By.cssSelector("input.inplace.inplace_editable")).clear(); - driver.findElement(By.cssSelector("input.inplace.inplace_editable")).sendKeys(city.substring(0, city.length() / 2)); + mainPageMethods().renameWidget(mainPageMethods().allWidgets().get(0).getInplace().getText(), city.substring(0, city.length()/2)); WebElement element = (new WebDriverWait(driver, 10)) .until((ExpectedCondition) d -> { List elements = driver.findElements(By.cssSelector(".city__name")); @@ -123,4 +106,8 @@ public void shouldSeeChangeFormatDegree() { private MainPage onMainPage() { return new MainPage(driver); } + + private MainPageMethods mainPageMethods() { + return new MainPageMethods(driver); + } } From f733c78ead2a30e0fd59661162da7715d43e96da Mon Sep 17 00:00:00 2001 From: Igor Merkushev Date: Wed, 20 Apr 2016 06:58:08 +0300 Subject: [PATCH 40/82] edit add widget test, work version --- .../school/webtests/WeatherWebTest.java | 40 ++++++++--------- .../ru/qatools/school/pages/MainPage.java | 30 +++++-------- .../qatools/school/pages/MainPageMethods.java | 45 +++++++++++-------- .../school/pages/blocks/WeatherWidget.java | 14 ++++-- .../school/steps/websteps/DefaultSteps.java | 16 +------ 5 files changed, 70 insertions(+), 75 deletions(-) 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 9129102..4086fd2 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 @@ -53,26 +53,26 @@ public void shouldSeeAddWidgetOnMainPage() { defaultSteps.shouldSeeWidgetAdd(SPB); } - @Test - @Title("Должны увидеть виджеты, кроме удаленного на главной странице") - public void shouldSeeRemoveWidgetOnMainPage() { - defaultSteps.openMainPageWithCity(SPB); - defaultSteps.shouldSeeWidgetRemove(SPB); - } - - @Test - @Title("Должны увидеть автозаполнение при не полном наборе названия") - public void shouldAutoCompleteCity() { - defaultSteps.openMainPageWithCity(MOSCOW); - defaultSteps.shouldAutocompliteCity(SPB); - } - - @Test - @Title("Должны меняться форматы вывода градуса") - public void shouldSeeChangeFormatDegree() { - defaultSteps.openMainPageWithCity(SPB); - defaultSteps.shouldSeeChangeFormatDegree(); - } +// @Test +// @Title("Должны увидеть виджеты, кроме удаленного на главной странице") +// public void shouldSeeRemoveWidgetOnMainPage() { +// defaultSteps.openMainPageWithCity(SPB); +// defaultSteps.shouldSeeWidgetRemove(SPB); +// } +// +// @Test +// @Title("Должны увидеть автозаполнение при не полном наборе названия") +// public void shouldAutoCompleteCity() { +// defaultSteps.openMainPageWithCity(MOSCOW); +// defaultSteps.shouldAutocompliteCity(SPB); +// } +// +// @Test +// @Title("Должны меняться форматы вывода градуса") +// public void shouldSeeChangeFormatDegree() { +// defaultSteps.openMainPageWithCity(SPB); +// defaultSteps.shouldSeeChangeFormatDegree(); +// } } 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 9fdeb62..9a59a98 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 @@ -26,42 +26,34 @@ public MainPage(WebDriver driver) { @Name("Список городов") @FindBy(css = ".inplace.inplace_displayed") - private List inplace; + private List places; @Name("Добавление нового виджета") @FindBy(css = ".new-card") private WebElement addWidget; - @Name("Редактируемое поле названия города") - @FindBy(css = "input.inplace.inplace_editable") - private WeatherWidget editInplace; - - @Name("Кнопка удаления виджета") - @FindBy(css = ".remove-card.btn.btn-default") - private WeatherWidget removeBtn; - @Name("Список элементов отображения температуры") @FindBy(css = "weather-temperature.md-12") private List listTemperatures; + @Name("Редактируемое поле названия города") + @FindBy(css = "input.inplace.inplace_editable") + private WebElement editPlace; + public List getWeatherWidget() { return weatherWidget; } - public List getPlaces() { - return inplace; + public List getPlaces() { + return places; } - public WebElement getAddWidget() { - return addWidget; - } - - public WeatherWidget getEditInplace() { - return editInplace; + public WebElement getEditPlace() { + return editPlace; } - public WeatherWidget getRemoveBtn() { - return removeBtn; + public WebElement getAddWidget() { + return addWidget; } public List getListTemperatures() { diff --git a/steps-module/src/main/java/ru/qatools/school/pages/MainPageMethods.java b/steps-module/src/main/java/ru/qatools/school/pages/MainPageMethods.java index 8c291b6..9575607 100644 --- a/steps-module/src/main/java/ru/qatools/school/pages/MainPageMethods.java +++ b/steps-module/src/main/java/ru/qatools/school/pages/MainPageMethods.java @@ -3,17 +3,24 @@ import org.hamcrest.Description; import org.hamcrest.Matcher; import org.hamcrest.TypeSafeDiagnosingMatcher; +import org.openqa.selenium.By; import org.openqa.selenium.Keys; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; +import org.openqa.selenium.support.ui.ExpectedCondition; +import org.openqa.selenium.support.ui.WebDriverWait; import ru.qatools.school.pages.blocks.WeatherWidget; + import java.util.List; +import java.util.concurrent.TimeUnit; public class MainPageMethods { private MainPage mainPage; + private WebDriver driver; public MainPageMethods(WebDriver driver) { + this.driver = driver; mainPage = new MainPage(driver); } @@ -31,24 +38,24 @@ public void addWidget() { mainPage.getAddWidget().click(); } - public WeatherWidget findWidget(String city) { - List list = allWidgets(); - for (WeatherWidget widget : list) { - if (widget.getInplace().getText().equalsIgnoreCase(city)) { - return widget; - } - } - return null; + public WebElement findWidget(String city) { + WebElement element = (new WebDriverWait(driver, 10)) + .until((ExpectedCondition) d -> { + List widgets = mainPage.getPlaces(); + for (WebElement widget : widgets) { + if (widget.getText().equals(city)) { + return widget; + } + } + return null; + }); + return element; } public void renameWidget(String oldName, String newName) { - List list = mainPage.getPlaces(); - for (WeatherWidget widget : list) { - if (widget.getInplace().getText().equalsIgnoreCase(oldName)) { - clickOnElement(widget.getInplace()); - sendChars(mainPage.getEditInplace(), newName); - } - } + WebElement element = findWidget(oldName); + clickOnElement(element); + sendChars(mainPage.getEditPlace(), newName); } public int countWidgets() { @@ -60,7 +67,7 @@ public List allWidgets() { } public Matcher hasItem(String city) { - final List list = mainPage.getPlaces(); + final List list = mainPage.getPlaces(); return new TypeSafeDiagnosingMatcher() { @Override public void describeTo(Description description) { @@ -69,10 +76,10 @@ public void describeTo(Description description) { @Override protected boolean matchesSafely(String city, Description mismatch) { - for (WeatherWidget widget : list) { - if (widget.getInplace().getText() != city) { + for (WebElement widget : list) { + if (widget.getText() != city) { mismatch.appendText("return city was ") - .appendValue(widget.getInplace().getText()); + .appendValue(widget.getText()); return false; } } 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 f9e1628..c3a3c5c 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 @@ -27,7 +27,11 @@ public class WeatherWidget extends HtmlElement { @Name("Название города в виджете") @FindBy(css = ".inplace.inplace_displayed") - private WebElement inplace; + private WebElement place; + + @Name("Кнопка удаления виджета") + @FindBy(css = ".remove-card.btn.btn-default") + private WebElement removeBtn; public WidgetText getWidgetText() { return widgetText; @@ -41,8 +45,12 @@ public WebElement getActions() { return actions; } - public WebElement getInplace() { - return inplace; + public WebElement getPlace() { + return place; + } + + public WebElement getRemoveBtn() { + return removeBtn; } public Rectangle getRect() { 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 a4cc5b9..26bd133 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 @@ -1,30 +1,18 @@ package ru.qatools.school.steps.websteps; -import com.google.common.base.Predicate; import org.openqa.selenium.By; -import org.openqa.selenium.By.ByCssSelector; -import org.openqa.selenium.Keys; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; -import org.openqa.selenium.interactions.Actions; import org.openqa.selenium.support.ui.ExpectedCondition; -import org.openqa.selenium.support.ui.ExpectedConditions; import org.openqa.selenium.support.ui.WebDriverWait; import ru.qatools.school.pages.MainPage; import ru.qatools.school.pages.MainPageMethods; -import ru.qatools.school.pages.blocks.WeatherWidget; import ru.yandex.qatools.allure.annotations.Step; - import java.util.List; -import java.util.concurrent.ThreadLocalRandom; -import java.util.function.Function; - import static java.lang.String.format; -import static org.hamcrest.Matchers.hasItem; import static org.hamcrest.core.Is.is; import static org.hamcrest.core.IsEqual.equalTo; import static org.junit.Assert.assertThat; -import static org.junit.Assert.assertTrue; import static ru.yandex.qatools.htmlelements.matchers.WebElementMatchers.isDisplayed; /** @@ -65,7 +53,7 @@ private void addWidgetOnMainPage(String city) { @Step("На главной странице виджеты добавляются") public void shouldSeeWidgetAdd(String city) { addWidgetOnMainPage(city); - assertThat("Widget has", city, is(mainPageMethods().hasItem(city))); + assertThat("Widget has", city, is(mainPageMethods().findWidget(city).getText())); } @Step("На главной странице виджет можно удалить") @@ -77,7 +65,7 @@ public void shouldSeeWidgetRemove(String removeCity) { @Step("На ввод не полного названия города должно срабатывать автозаполнение") public void shouldAutocompliteCity(String city) { - mainPageMethods().renameWidget(mainPageMethods().allWidgets().get(0).getInplace().getText(), city.substring(0, city.length()/2)); + mainPageMethods().renameWidget(mainPageMethods().allWidgets().get(0).getPlace().getText(), city.substring(0, city.length()/2)); WebElement element = (new WebDriverWait(driver, 10)) .until((ExpectedCondition) d -> { List elements = driver.findElements(By.cssSelector(".city__name")); From dde504ff9810bfc05603f69b957f3267bf4c12d0 Mon Sep 17 00:00:00 2001 From: "merkushev.io" Date: Wed, 20 Apr 2016 14:25:00 +0400 Subject: [PATCH 41/82] refactor tests add annotations --- .../school/webtests/WeatherWebTest.java | 59 +++++++++++-------- .../ru/qatools/school/pages/MainPage.java | 8 +++ .../qatools/school/pages/MainPageMethods.java | 25 ++++++-- .../school/pages/blocks/WeatherWidget.java | 16 +++++ .../qatools/school/rules/WebDriverRule.java | 5 +- .../school/steps/websteps/DefaultSteps.java | 50 ++++++++-------- 6 files changed, 111 insertions(+), 52 deletions(-) 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 4086fd2..7e8a759 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,12 +6,8 @@ import ru.qatools.school.pages.MainPage; import ru.qatools.school.rules.WebDriverRule; import ru.qatools.school.steps.websteps.DefaultSteps; -import ru.yandex.qatools.allure.annotations.Step; import ru.yandex.qatools.allure.annotations.Title; -import javax.swing.plaf.synth.SynthProgressBarUI; - -import static org.junit.Assert.assertThat; public class WeatherWebTest { @@ -23,12 +19,14 @@ public class WeatherWebTest { @Rule public WebDriverRule webDriverRule = new WebDriverRule(); + @Before public void initSteps() { defaultSteps = new DefaultSteps(webDriverRule.getDriver()); } @Test + @ru.yandex.qatools.allure.annotations.TestCaseId("1") @Title("Должны видеть виджет на главной странице") public void shouldSeeWidgetOnMainPage() { defaultSteps.openMainPageWithCity(MOSCOW); @@ -37,6 +35,7 @@ public void shouldSeeWidgetOnMainPage() { @Test @Title("Должны увидеть виджет с именем города на главной странице") + @ru.yandex.qatools.allure.annotations.TestCaseId("1") public void shouldSeeWidgetWithTitleCity() { defaultSteps.openMainPageWithCity(MOSCOW); defaultSteps.shouldSeeTitleWidgetEqualCity(MOSCOW); @@ -48,31 +47,43 @@ private MainPage onMainPage() { @Test @Title("Должны видеть добавленный виджет на главной странице") + @ru.yandex.qatools.allure.annotations.TestCaseId("2") public void shouldSeeAddWidgetOnMainPage() { defaultSteps.openMainPageWithCity(MOSCOW); defaultSteps.shouldSeeWidgetAdd(SPB); } -// @Test -// @Title("Должны увидеть виджеты, кроме удаленного на главной странице") -// public void shouldSeeRemoveWidgetOnMainPage() { -// defaultSteps.openMainPageWithCity(SPB); -// defaultSteps.shouldSeeWidgetRemove(SPB); -// } -// -// @Test -// @Title("Должны увидеть автозаполнение при не полном наборе названия") -// public void shouldAutoCompleteCity() { -// defaultSteps.openMainPageWithCity(MOSCOW); -// defaultSteps.shouldAutocompliteCity(SPB); -// } -// -// @Test -// @Title("Должны меняться форматы вывода градуса") -// public void shouldSeeChangeFormatDegree() { -// defaultSteps.openMainPageWithCity(SPB); -// defaultSteps.shouldSeeChangeFormatDegree(); -// } + @Test + @Title("Должны увидеть виджеты, кроме удаленного на главной странице") + @ru.yandex.qatools.allure.annotations.TestCaseId("3") + public void shouldSeeRemoveWidgetOnMainPage() { + defaultSteps.openMainPageWithCity(SPB); + defaultSteps.shouldSeeWidgetRemove(); + } + + @Test + @Title("Должны увидеть автозаполнение при не полном наборе названия") + @ru.yandex.qatools.allure.annotations.TestCaseId("4") + public void shouldAutoCompleteCity() { + defaultSteps.openMainPageWithCity(MOSCOW); + defaultSteps.shouldAutocompliteCity(SPB); + } + + @Test + @Title("Должны меняться форматы вывода градуса") + @ru.yandex.qatools.allure.annotations.TestCaseId("6") + public void shouldSeeChangeFormatDegree() { + defaultSteps.openMainPageWithCity(SPB); + defaultSteps.shouldSeeChangeFormatDegree(); + } + + @Test + @Title("Открываем виджет, единица измерения температуры Цельсий") + @ru.yandex.qatools.allure.annotations.TestCaseId("5") + public void shouldSeeTemperatureCelcium() { + defaultSteps.openMainPageWithCity(MOSCOW); + defaultSteps.shouldSeeTemperatureCelcium(); + } } 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 9a59a98..2709d8c 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 @@ -40,6 +40,10 @@ public MainPage(WebDriver driver) { @FindBy(css = "input.inplace.inplace_editable") private WebElement editPlace; + @Name("Выпадающий список значений автодополнений") + @FindBy(css = "span.city__name") + private List autoCompleteValues; + public List getWeatherWidget() { return weatherWidget; } @@ -56,6 +60,10 @@ public WebElement getAddWidget() { return addWidget; } + public List getAutoCompleteValues() { + return autoCompleteValues; + } + public List getListTemperatures() { return listTemperatures; } diff --git a/steps-module/src/main/java/ru/qatools/school/pages/MainPageMethods.java b/steps-module/src/main/java/ru/qatools/school/pages/MainPageMethods.java index 9575607..7195c26 100644 --- a/steps-module/src/main/java/ru/qatools/school/pages/MainPageMethods.java +++ b/steps-module/src/main/java/ru/qatools/school/pages/MainPageMethods.java @@ -39,7 +39,7 @@ public void addWidget() { } public WebElement findWidget(String city) { - WebElement element = (new WebDriverWait(driver, 10)) + WebElement element = (new WebDriverWait(driver, 3)) .until((ExpectedCondition) d -> { List widgets = mainPage.getPlaces(); for (WebElement widget : widgets) { @@ -66,6 +66,23 @@ public List allWidgets() { return mainPage.getWeatherWidget(); } + public void autoComplete(String city) { + mainPage.getPlaces().get(0).click(); + mainPage.getEditPlace().clear(); + mainPage.getEditPlace().sendKeys(city.substring(0, city.length()/2)); + WebElement element = (new WebDriverWait(driver, 5)) + .until((ExpectedCondition) d -> { + List widgets = mainPage.getAutoCompleteValues(); + for (WebElement widget : widgets) { + if (widget.getText().equals(city)) { + return widget; + } + } + return null; + }); + element.click(); + } + public Matcher hasItem(String city) { final List list = mainPage.getPlaces(); return new TypeSafeDiagnosingMatcher() { @@ -77,14 +94,14 @@ public void describeTo(Description description) { @Override protected boolean matchesSafely(String city, Description mismatch) { for (WebElement widget : list) { - if (widget.getText() != city) { + if (widget.getText().equals(city)) { mismatch.appendText("return city was ") .appendValue(widget.getText()); - return false; + return true; } } - return true; + return false; } }; } 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 c3a3c5c..71bf0af 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 @@ -33,6 +33,14 @@ public class WeatherWidget extends HtmlElement { @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; } @@ -53,6 +61,14 @@ 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/rules/WebDriverRule.java b/steps-module/src/main/java/ru/qatools/school/rules/WebDriverRule.java index f3d5f5e..abfb0a4 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,7 +15,8 @@ public class WebDriverRule extends ExternalResource { protected void before() throws Throwable { this.driver = new FirefoxDriver(); - driver.manage().window().maximize(); + //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/websteps/DefaultSteps.java b/steps-module/src/main/java/ru/qatools/school/steps/websteps/DefaultSteps.java index 26bd133..f9012d4 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 @@ -7,6 +7,7 @@ import org.openqa.selenium.support.ui.WebDriverWait; import ru.qatools.school.pages.MainPage; import ru.qatools.school.pages.MainPageMethods; +import ru.qatools.school.pages.blocks.WeatherWidget; import ru.yandex.qatools.allure.annotations.Step; import java.util.List; import static java.lang.String.format; @@ -22,6 +23,11 @@ public class DefaultSteps { public static final String MAIN_PAGE = "http://weather.lanwen.ru/#?cities=%s"; private static final String NEW_WIDGET = "What a city?"; + private static final String CELCIUM = "°C"; + private static final String KELVIN = "°K"; + private static final String FARINGEIT = "°F"; + private static final String KAIF = "°Kaif"; + private WebDriver driver; @@ -53,42 +59,40 @@ private void addWidgetOnMainPage(String city) { @Step("На главной странице виджеты добавляются") public void shouldSeeWidgetAdd(String city) { addWidgetOnMainPage(city); - assertThat("Widget has", city, is(mainPageMethods().findWidget(city).getText())); + assertThat("Widget has", city, is(mainPageMethods().hasItem(city))); } @Step("На главной странице виджет можно удалить") - public void shouldSeeWidgetRemove(String removeCity) { + public void shouldSeeWidgetRemove() { int count = mainPageMethods().countWidgets(); - mainPageMethods().clickOnElement(mainPageMethods().findWidget(removeCity)); - assertThat("Количество виджетов не уменьшилось на единицу после удаления одного виджета", mainPageMethods().countWidgets(), is(count - 1)); + mainPageMethods().clickOnElement(mainPageMethods().allWidgets().get(0).getRemoveBtn()); + assertThat("Количество виджетов не уменьшилось после удаления одного виджета", + mainPageMethods().countWidgets(), is(count - 1)); } @Step("На ввод не полного названия города должно срабатывать автозаполнение") public void shouldAutocompliteCity(String city) { - mainPageMethods().renameWidget(mainPageMethods().allWidgets().get(0).getPlace().getText(), city.substring(0, city.length()/2)); - WebElement element = (new WebDriverWait(driver, 10)) - .until((ExpectedCondition) d -> { - List elements = driver.findElements(By.cssSelector(".city__name")); - for (WebElement element1 : elements) { - if (element1.getText().equals(city)) { - return element1; - } - } - return null; - }); - element.click(); + mainPageMethods().autoComplete(city); assertThat("Заголовок города равен названию набираемого города", - driver.findElement(By.cssSelector(".inplace.inplace_displayed")).getText(), equalTo(city)); + mainPageMethods().findWidget(city).getText(), equalTo(city)); } @Step("Должны меняться форматы вывода градуса") public void shouldSeeChangeFormatDegree() { - driver.findElement(By.cssSelector(".weather-temperature.md-12")).click(); - assertThat("Не произошло преобразование градусов цельсия в градусы кельвина", driver.findElement(By.cssSelector(".weather-temperature__unit")).getText(), equalTo("°K")); - driver.findElement(By.cssSelector(".weather-temperature.md-12")).click(); - assertThat("Не произошло преобразование градусов в кельвинах в градусы фаренгейта", driver.findElement(By.cssSelector(".weather-temperature__unit")).getText(), equalTo("°F")); - driver.findElement(By.cssSelector(".weather-temperature.md-12")).click(); - assertThat("Не произошло преобразование градусов фаренгейта в градусы °Kaif", driver.findElement(By.cssSelector(".weather-temperature__unit")).getText(), equalTo("°Kaif")); + mainPageMethods().allWidgets().get(0).getWeatherBlock().click(); + assertThat("Не произошло преобразование градусов цельсия в градусы кельвина", + mainPageMethods().allWidgets().get(0).getWeatherType().getText(), equalTo(KELVIN)); + mainPageMethods().allWidgets().get(0).getWeatherBlock().click(); + assertThat("Не произошло преобразование градусов в кельвинах в градусы фаренгейта", + mainPageMethods().allWidgets().get(0).getWeatherType().getText(), equalTo(FARINGEIT)); + mainPageMethods().allWidgets().get(0).getWeatherBlock().click(); + assertThat("Не произошло преобразование градусов фаренгейта в градусы °Kaif", + mainPageMethods().allWidgets().get(0).getWeatherType().getText(), equalTo(KAIF)); + } + + @Step("Начальное открытие виджета, единица измерений температуры Цельсий") + public void shouldSeeTemperatureCelcium() { + assertThat("Начальное значение температуры не в Цельсиях", mainPageMethods().allWidgets().get(0).getWeatherType().getText(), equalTo(CELCIUM)); } private MainPage onMainPage() { From 629458c7498c02c884246c55c6c8b573fb9fb8d6 Mon Sep 17 00:00:00 2001 From: "merkushev.io" Date: Wed, 20 Apr 2016 14:40:59 +0400 Subject: [PATCH 42/82] add to tp --- .../test/java/ru/qatools/school/webtests/WeatherWebTest.java | 2 ++ 1 file changed, 2 insertions(+) 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 7e8a759..914b4b3 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 @@ -18,6 +18,8 @@ public class WeatherWebTest { @Rule public WebDriverRule webDriverRule = new WebDriverRule(); + @Rule + public TPInformerRule tms = new TPInformerRule("merkushevio"); @Before From acf585ee70c61e8ba56a939dd770ca6be12db4a1 Mon Sep 17 00:00:00 2001 From: "merkushev.io" Date: Wed, 20 Apr 2016 13:56:43 +0300 Subject: [PATCH 43/82] tp log errors --- commons-module/ajcore.20160420.125320.429.txt | 168 +++++++++++++++++ commons-module/ajcore.20160420.125320.516.txt | 113 ++++++++++++ commons-module/ajcore.20160420.134534.084.txt | 174 ++++++++++++++++++ commons-module/ajcore.20160420.134534.212.txt | 115 ++++++++++++ .../school/webtests/WeatherWebTest.java | 1 + 5 files changed, 571 insertions(+) create mode 100644 commons-module/ajcore.20160420.125320.429.txt create mode 100644 commons-module/ajcore.20160420.125320.516.txt create mode 100644 commons-module/ajcore.20160420.134534.084.txt create mode 100644 commons-module/ajcore.20160420.134534.212.txt 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/src/test/java/ru/qatools/school/webtests/WeatherWebTest.java b/commons-module/src/test/java/ru/qatools/school/webtests/WeatherWebTest.java index 914b4b3..443b21e 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,6 +6,7 @@ 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.Title; From 48b4347d59fb873a90178b1a2f05ff6f1845af5b Mon Sep 17 00:00:00 2001 From: "merkushev.io" Date: Wed, 20 Apr 2016 14:34:26 +0300 Subject: [PATCH 44/82] correct config test for test palm --- commons-module/ajcore.20160420.125320.429.txt | 168 ----------------- commons-module/ajcore.20160420.125320.516.txt | 113 ------------ commons-module/ajcore.20160420.134534.084.txt | 174 ------------------ commons-module/ajcore.20160420.134534.212.txt | 115 ------------ 4 files changed, 570 deletions(-) delete mode 100644 commons-module/ajcore.20160420.125320.429.txt delete mode 100644 commons-module/ajcore.20160420.125320.516.txt delete mode 100644 commons-module/ajcore.20160420.134534.084.txt delete mode 100644 commons-module/ajcore.20160420.134534.212.txt diff --git a/commons-module/ajcore.20160420.125320.429.txt b/commons-module/ajcore.20160420.125320.429.txt deleted file mode 100644 index f57916e..0000000 --- a/commons-module/ajcore.20160420.125320.429.txt +++ /dev/null @@ -1,168 +0,0 @@ ----- 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 deleted file mode 100644 index 17064f5..0000000 --- a/commons-module/ajcore.20160420.125320.516.txt +++ /dev/null @@ -1,113 +0,0 @@ ----- 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 deleted file mode 100644 index e1eb5f7..0000000 --- a/commons-module/ajcore.20160420.134534.084.txt +++ /dev/null @@ -1,174 +0,0 @@ ----- 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 deleted file mode 100644 index 69c5db6..0000000 --- a/commons-module/ajcore.20160420.134534.212.txt +++ /dev/null @@ -1,115 +0,0 @@ ----- 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) - From b2bdf200de3177acd283b63e81c1ba54ec4f4160 Mon Sep 17 00:00:00 2001 From: "merkushev.io" Date: Wed, 20 Apr 2016 18:13:00 +0300 Subject: [PATCH 45/82] refactor autocomplete add PO for elements in widget --- .../school/webtests/WeatherWebTest.java | 26 +++++++++++-- .../ru/qatools/school/pages/MainPage.java | 16 ++++++++ .../qatools/school/pages/MainPageMethods.java | 39 +++++++++---------- .../qatools/school/rules/WebDriverRule.java | 2 +- .../school/steps/websteps/DefaultSteps.java | 14 +++++++ 5 files changed, 71 insertions(+), 26 deletions(-) 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 443b21e..513cac6 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 @@ -19,8 +19,8 @@ public class WeatherWebTest { @Rule public WebDriverRule webDriverRule = new WebDriverRule(); - @Rule - public TPInformerRule tms = new TPInformerRule("merkushevio"); + //@Rule + //public TPInformerRule tms = new TPInformerRule("merkushevio"); @Before @@ -28,6 +28,10 @@ public void initSteps() { defaultSteps = new DefaultSteps(webDriverRule.getDriver()); } + private MainPage onMainPage() { + return new MainPage(webDriverRule.getDriver()); + } + @Test @ru.yandex.qatools.allure.annotations.TestCaseId("1") @Title("Должны видеть виджет на главной странице") @@ -44,8 +48,20 @@ public void shouldSeeWidgetWithTitleCity() { defaultSteps.shouldSeeTitleWidgetEqualCity(MOSCOW); } - private MainPage onMainPage() { - return new MainPage(webDriverRule.getDriver()); + @Test + @Title("Должны увидеть страницу с кнопокой добавить виджет") + @ru.yandex.qatools.allure.annotations.TestCaseId("1") + public void shouldSeeButtonOnMainPage() { + defaultSteps.openMainPageWithCity(""); + defaultSteps.shouldSeeButtonAddWidgetOnMainPage(); + } + + @Test + @Title("Не указав город должны увидеть только кнопку добавления виджета") + @ru.yandex.qatools.allure.annotations.TestCaseId("1") + public void shouldSeeOnlyButtonAddWidget() { + defaultSteps.openMainPageWithCity(""); + defaultSteps.shouldSeeOnlyButtonAddWidget(); } @Test @@ -88,6 +104,8 @@ public void shouldSeeTemperatureCelcium() { defaultSteps.shouldSeeTemperatureCelcium(); } + + } 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 2709d8c..8cabced 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 @@ -44,6 +44,14 @@ public MainPage(WebDriver driver) { @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; + public List getWeatherWidget() { return weatherWidget; } @@ -64,6 +72,14 @@ public List getAutoCompleteValues() { return autoCompleteValues; } + public List getTitleValues() { + return titleValues; + } + + public List getInfoValues() { + return infoValues; + } + public List getListTemperatures() { return listTemperatures; } diff --git a/steps-module/src/main/java/ru/qatools/school/pages/MainPageMethods.java b/steps-module/src/main/java/ru/qatools/school/pages/MainPageMethods.java index 7195c26..ebdf91a 100644 --- a/steps-module/src/main/java/ru/qatools/school/pages/MainPageMethods.java +++ b/steps-module/src/main/java/ru/qatools/school/pages/MainPageMethods.java @@ -39,17 +39,13 @@ public void addWidget() { } public WebElement findWidget(String city) { - WebElement element = (new WebDriverWait(driver, 3)) - .until((ExpectedCondition) d -> { - List widgets = mainPage.getPlaces(); - for (WebElement widget : widgets) { - if (widget.getText().equals(city)) { - return widget; - } - } - return null; - }); - return element; + List widget = mainPage.getPlaces(); + for (WebElement element : widget) { + if (element.getText().equals(city)) { + return element; + } + } + return null; } public void renameWidget(String oldName, String newName) { @@ -70,16 +66,13 @@ public void autoComplete(String city) { mainPage.getPlaces().get(0).click(); mainPage.getEditPlace().clear(); mainPage.getEditPlace().sendKeys(city.substring(0, city.length()/2)); - WebElement element = (new WebDriverWait(driver, 5)) - .until((ExpectedCondition) d -> { - List widgets = mainPage.getAutoCompleteValues(); - for (WebElement widget : widgets) { - if (widget.getText().equals(city)) { - return widget; - } - } - return null; - }); + WebElement element = null; + List widget = mainPage.getAutoCompleteValues(); + for (WebElement elem : widget) { + if (elem.getText().equals(city)) { + element = elem; + } + } element.click(); } @@ -105,4 +98,8 @@ protected boolean matchesSafely(String city, Description mismatch) { } }; } + + public MainPage getMainPage() { + return mainPage; + } } 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 abfb0a4..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 @@ -15,7 +15,7 @@ public class WebDriverRule extends ExternalResource { protected void before() throws Throwable { this.driver = new FirefoxDriver(); - //driver.manage().window().maximize(); + driver.manage().window().maximize(); driver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS); } 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 f9012d4..98738f1 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 @@ -1,5 +1,6 @@ package ru.qatools.school.steps.websteps; +import com.thoughtworks.selenium.condition.Not; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; @@ -11,6 +12,7 @@ import ru.yandex.qatools.allure.annotations.Step; import java.util.List; import static java.lang.String.format; +import static org.hamcrest.CoreMatchers.notNullValue; import static org.hamcrest.core.Is.is; import static org.hamcrest.core.IsEqual.equalTo; import static org.junit.Assert.assertThat; @@ -56,10 +58,22 @@ private void addWidgetOnMainPage(String city) { mainPageMethods().renameWidget(NEW_WIDGET, city); } + @Step("На главной странице без виджетов отображается кнопка добавить виджет") + public void shouldSeeButtonAddWidgetOnMainPage() { + assertThat("На главной странице нет кнопки добавит виджет", mainPageMethods().getMainPage().getAddWidget(), isDisplayed()); + } + + @Step("На главной странице должна быть только кнопка добавления города") + public void shouldSeeOnlyButtonAddWidget() { + assertThat("На главной странице только кнопка добавления виджета", mainPageMethods().allWidgets().size(), is(0)); + } + @Step("На главной странице виджеты добавляются") public void shouldSeeWidgetAdd(String city) { + int count = mainPageMethods().countWidgets(); addWidgetOnMainPage(city); assertThat("Widget has", city, is(mainPageMethods().hasItem(city))); + assertThat("Количество виджетов не увеличелось", mainPageMethods().allWidgets().size(), is(count + 1)); } @Step("На главной странице виджет можно удалить") From 627e54fe108e40dea78b6274d8902d1126379cbe Mon Sep 17 00:00:00 2001 From: "merkushev.io" Date: Wed, 20 Apr 2016 18:51:41 +0300 Subject: [PATCH 46/82] add test for view --- .../school/webtests/WeatherWebTest.java | 78 +++++++++++++++++++ .../ru/qatools/school/pages/MainPage.java | 41 ++++++++++ .../school/pages/blocks/WeatherWidget.java | 2 + 3 files changed, 121 insertions(+) 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 513cac6..8d90523 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 @@ -104,8 +104,86 @@ public void shouldSeeTemperatureCelcium() { defaultSteps.shouldSeeTemperatureCelcium(); } + @Test + @Title("Должны увидеть надпись показателя рассвета") + public void shouldSeeTitleSunrise() { + + } + + @Test + @Title("Должны увидеть надпись показателя заката") + public void shouldSeeTitleSunset() { + + } + + @Test + @Title("Должны увидеть надпись показателя скорости ветра") + public void shouldSeeTitleWind() { + + } + + @Test + @Title("Должны увидеть надпись показателя влажности") + public void shouldSeeTitleHumidity() { + + } + + @Test + @Title("Должны увидеть картинку для показателя рассвета") + public void shouldSeeImageSunrise() { + + } + + @Test + @Title("Должны увидеть картинку для показателя рассвета") + public void shouldSeeImageSunset() { + + } + + @Test + @Title("Должны увидеть картинку для показателя рассвета") + public void shouldSeeImageWind() { + + } + + @Test + @Title("Должны увидеть картинку для показателя рассвета") + public void shouldSeeImageHumidity() { + + } + + @Test + @Title("Должны увидеть основную картинку виджета") + public void shouldSeeMainImage() { + + } + + @Test + @Title("Должны увидеть формат времени для значения поля рассвет") + public void shouldSeeFormatTimeSunrise() { + + } + + @Test + @Title("Должны увидеть формат времени для значения поля закат") + public void shouldSeeFormatTimeSunset() { + + } + + @Test + @Title("Должны увидеть формат скорости для значения поля скорость ветра") + public void shouldSeeFormatSpeedWind() { + + } + + @Test + @Title("Должны увидеть формат времени для значения поля влажность") + public void shouldSeeFormatHumidity() { + + } } + 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 8cabced..23c54b3 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 @@ -52,6 +52,27 @@ public MainPage(WebDriver driver) { @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.weather-image") + private WebElement mainImage; + public List getWeatherWidget() { return weatherWidget; } @@ -76,6 +97,10 @@ public List getTitleValues() { return titleValues; } + public List getTimeOnWidget() { + return timeOnWidget; + } + public List getInfoValues() { return infoValues; } @@ -84,4 +109,20 @@ public List getListTemperatures() { return listTemperatures; } + public WebElement getSunrise() { + return sunrise; + } + + public WebElement getSunset() { + return sunset; + } + + public WebElement getWind() { + return wind; + } + + public WebElement getMainImage() { + return 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 71bf0af..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. */ From 496265a82e71af8c6a5d0dc17fc0648a302ef334 Mon Sep 17 00:00:00 2001 From: Igor Merkushev Date: Thu, 21 Apr 2016 15:56:05 +0300 Subject: [PATCH 47/82] test cases and skipped test with bug --- .../school/webtests/WeatherWebTest.java | 91 +++++++++----- .../ru/qatools/school/pages/MainPage.java | 12 +- .../qatools/school/pages/MainPageMethods.java | 52 +++++--- .../school/steps/websteps/DefaultSteps.java | 117 +++++++++++++++--- 4 files changed, 210 insertions(+), 62 deletions(-) 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 8d90523..3e679e3 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 @@ -19,8 +19,8 @@ public class WeatherWebTest { @Rule public WebDriverRule webDriverRule = new WebDriverRule(); - //@Rule - //public TPInformerRule tms = new TPInformerRule("merkushevio"); + @Rule + public TPInformerRule tms = new TPInformerRule("merkushevio"); @Before @@ -56,13 +56,13 @@ public void shouldSeeButtonOnMainPage() { defaultSteps.shouldSeeButtonAddWidgetOnMainPage(); } - @Test - @Title("Не указав город должны увидеть только кнопку добавления виджета") - @ru.yandex.qatools.allure.annotations.TestCaseId("1") - public void shouldSeeOnlyButtonAddWidget() { - defaultSteps.openMainPageWithCity(""); - defaultSteps.shouldSeeOnlyButtonAddWidget(); - } +// @Test +// @Title("Не указав город должны увидеть только кнопку добавления виджета") +// @ru.yandex.qatools.allure.annotations.TestCaseId("2") +// public void shouldSeeOnlyButtonAddWidget() { +// defaultSteps.openMainPageWithCity(""); +// defaultSteps.shouldSeeOnlyButtonAddWidget(); +// } @Test @Title("Должны видеть добавленный виджет на главной странице") @@ -77,20 +77,29 @@ public void shouldSeeAddWidgetOnMainPage() { @ru.yandex.qatools.allure.annotations.TestCaseId("3") public void shouldSeeRemoveWidgetOnMainPage() { defaultSteps.openMainPageWithCity(SPB); + defaultSteps.addWidgetOnMainPage(MOSCOW); defaultSteps.shouldSeeWidgetRemove(); } @Test - @Title("Должны увидеть автозаполнение при не полном наборе названия") - @ru.yandex.qatools.allure.annotations.TestCaseId("4") + @Title("Должны увидеть автозаполнение при не полном наборе названия виджета") + @ru.yandex.qatools.allure.annotations.TestCaseId("10") public void shouldAutoCompleteCity() { defaultSteps.openMainPageWithCity(MOSCOW); defaultSteps.shouldAutocompliteCity(SPB); } + @Test + @Title("Должны увидеть переименование названия виджета") + @ru.yandex.qatools.allure.annotations.TestCaseId("4") + public void shouldSeeRenameWidget() { + defaultSteps.openMainPageWithCity(MOSCOW); + defaultSteps.shouldSeeRenameWidget(MOSCOW, SPB); + } + @Test @Title("Должны меняться форматы вывода градуса") - @ru.yandex.qatools.allure.annotations.TestCaseId("6") + @ru.yandex.qatools.allure.annotations.TestCaseId("9") public void shouldSeeChangeFormatDegree() { defaultSteps.openMainPageWithCity(SPB); defaultSteps.shouldSeeChangeFormatDegree(); @@ -98,7 +107,7 @@ public void shouldSeeChangeFormatDegree() { @Test @Title("Открываем виджет, единица измерения температуры Цельсий") - @ru.yandex.qatools.allure.annotations.TestCaseId("5") + @ru.yandex.qatools.allure.annotations.TestCaseId("8") public void shouldSeeTemperatureCelcium() { defaultSteps.openMainPageWithCity(MOSCOW); defaultSteps.shouldSeeTemperatureCelcium(); @@ -106,50 +115,66 @@ public void shouldSeeTemperatureCelcium() { @Test @Title("Должны увидеть надпись показателя рассвета") + @ru.yandex.qatools.allure.annotations.TestCaseId("8") public void shouldSeeTitleSunrise() { - + defaultSteps.openMainPageWithCity(MOSCOW); + defaultSteps.shouldSeeTitleSunrise(); } @Test @Title("Должны увидеть надпись показателя заката") + @ru.yandex.qatools.allure.annotations.TestCaseId("8") public void shouldSeeTitleSunset() { - + defaultSteps.openMainPageWithCity(MOSCOW); + defaultSteps.shouldSeeTitleSunset(); } @Test @Title("Должны увидеть надпись показателя скорости ветра") + @ru.yandex.qatools.allure.annotations.TestCaseId("8") public void shouldSeeTitleWind() { - + defaultSteps.openMainPageWithCity(MOSCOW); + defaultSteps.shouldSeeTitleWind(); } @Test @Title("Должны увидеть надпись показателя влажности") + @ru.yandex.qatools.allure.annotations.TestCaseId("8") public void shouldSeeTitleHumidity() { - + defaultSteps.openMainPageWithCity(MOSCOW); + defaultSteps.shouldSeeTitleHumidity(); } @Test @Title("Должны увидеть картинку для показателя рассвета") + @ru.yandex.qatools.allure.annotations.TestCaseId("8") public void shouldSeeImageSunrise() { - + defaultSteps.openMainPageWithCity(SPB); + defaultSteps.shouldSeeImageSunrise(); } @Test @Title("Должны увидеть картинку для показателя рассвета") + @ru.yandex.qatools.allure.annotations.TestCaseId("8") public void shouldSeeImageSunset() { - + defaultSteps.openMainPageWithCity(SPB); + defaultSteps.shouldSeeImageSunset(); } @Test @Title("Должны увидеть картинку для показателя рассвета") + @ru.yandex.qatools.allure.annotations.TestCaseId("8") public void shouldSeeImageWind() { - + defaultSteps.openMainPageWithCity(SPB); + defaultSteps.shouldSeeImageWind(); } @Test @Title("Должны увидеть картинку для показателя рассвета") + @ru.yandex.qatools.allure.annotations.TestCaseId("8") public void shouldSeeImageHumidity() { - + defaultSteps.openMainPageWithCity(SPB); + defaultSteps.shouldSeeImageHumidity(); } @Test @@ -159,27 +184,35 @@ public void shouldSeeMainImage() { } @Test - @Title("Должны увидеть формат времени для значения поля рассвет") + @Title("Формат времени для значения поля рассвет должен быть 'xx:xx'") + @ru.yandex.qatools.allure.annotations.TestCaseId("8") public void shouldSeeFormatTimeSunrise() { - + defaultSteps.openMainPageWithCity(MOSCOW); + defaultSteps.shouldSeeFormatTimeSunrise(); } @Test - @Title("Должны увидеть формат времени для значения поля закат") + @Title("Формат времени для значения поля закат должен быть 'xx:xx'") + @ru.yandex.qatools.allure.annotations.TestCaseId("8") public void shouldSeeFormatTimeSunset() { - + defaultSteps.openMainPageWithCity(SPB); + defaultSteps.shouldSeeFormatTimeSunset(); } @Test - @Title("Должны увидеть формат скорости для значения поля скорость ветра") + @Title("Формат времени для значения поля скорость ветра должен быть 'xx m/s'") + @ru.yandex.qatools.allure.annotations.TestCaseId("8") public void shouldSeeFormatSpeedWind() { - + defaultSteps.openMainPageWithCity(SPB); + defaultSteps.shouldSeeFormatSpeedWind(); } @Test - @Title("Должны увидеть формат времени для значения поля влажность") + @Title("Формат времени для значения поля влажность должен быть 'xx %'") + @ru.yandex.qatools.allure.annotations.TestCaseId("8") public void shouldSeeFormatHumidity() { - + defaultSteps.openMainPageWithCity(SPB); + defaultSteps.shouldSeeFormatHumidity(); } 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 23c54b3..4c65ef9 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 @@ -60,14 +60,18 @@ public MainPage(WebDriver driver) { @FindBy(css = ".wi.wi-sunrise") private WebElement sunrise; - @Name("Изображение рассвета") + @Name("Изображение заката") @FindBy(css = ".wi.wi-sunset") private WebElement sunset; - @Name("Изображение рассвета") + @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") @@ -121,6 +125,10 @@ public WebElement getWind() { return wind; } + public WebElement getHumidity() { + return humidity; + } + public WebElement getMainImage() { return mainImage; } diff --git a/steps-module/src/main/java/ru/qatools/school/pages/MainPageMethods.java b/steps-module/src/main/java/ru/qatools/school/pages/MainPageMethods.java index ebdf91a..e191e6d 100644 --- a/steps-module/src/main/java/ru/qatools/school/pages/MainPageMethods.java +++ b/steps-module/src/main/java/ru/qatools/school/pages/MainPageMethods.java @@ -3,24 +3,19 @@ import org.hamcrest.Description; import org.hamcrest.Matcher; import org.hamcrest.TypeSafeDiagnosingMatcher; -import org.openqa.selenium.By; import org.openqa.selenium.Keys; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; -import org.openqa.selenium.support.ui.ExpectedCondition; -import org.openqa.selenium.support.ui.WebDriverWait; import ru.qatools.school.pages.blocks.WeatherWidget; import java.util.List; -import java.util.concurrent.TimeUnit; +import java.util.regex.Pattern; public class MainPageMethods { private MainPage mainPage; - private WebDriver driver; public MainPageMethods(WebDriver driver) { - this.driver = driver; mainPage = new MainPage(driver); } @@ -38,10 +33,9 @@ public void addWidget() { mainPage.getAddWidget().click(); } - public WebElement findWidget(String city) { - List widget = mainPage.getPlaces(); - for (WebElement element : widget) { - if (element.getText().equals(city)) { + public WebElement findElement(List list, String name) { + for (WebElement element : list) { + if (element.getText().equalsIgnoreCase(name)) { return element; } } @@ -49,7 +43,7 @@ public WebElement findWidget(String city) { } public void renameWidget(String oldName, String newName) { - WebElement element = findWidget(oldName); + WebElement element = findElement(getAllPlaces(), oldName); clickOnElement(element); sendChars(mainPage.getEditPlace(), newName); } @@ -62,6 +56,14 @@ public List allWidgets() { return mainPage.getWeatherWidget(); } + 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(); @@ -76,19 +78,35 @@ public void autoComplete(String city) { element.click(); } - public Matcher hasItem(String city) { - final List list = mainPage.getPlaces(); + public 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 Matcher hasItem(List list) { return new TypeSafeDiagnosingMatcher() { @Override public void describeTo(Description description) { - description.appendText("expected place"); + description.appendText("expected list"); } @Override - protected boolean matchesSafely(String city, Description mismatch) { + protected boolean matchesSafely(String word, Description mismatch) { for (WebElement widget : list) { - if (widget.getText().equals(city)) { - mismatch.appendText("return city was ") + if (widget.getText().equals(word)) { + mismatch.appendText("return string was ") .appendValue(widget.getText()); return true; } 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 98738f1..4540988 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 @@ -1,18 +1,12 @@ package ru.qatools.school.steps.websteps; -import com.thoughtworks.selenium.condition.Not; -import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; -import org.openqa.selenium.support.ui.ExpectedCondition; -import org.openqa.selenium.support.ui.WebDriverWait; import ru.qatools.school.pages.MainPage; import ru.qatools.school.pages.MainPageMethods; -import ru.qatools.school.pages.blocks.WeatherWidget; import ru.yandex.qatools.allure.annotations.Step; -import java.util.List; + import static java.lang.String.format; -import static org.hamcrest.CoreMatchers.notNullValue; import static org.hamcrest.core.Is.is; import static org.hamcrest.core.IsEqual.equalTo; import static org.junit.Assert.assertThat; @@ -29,6 +23,14 @@ public class DefaultSteps { private static final String KELVIN = "°K"; private static final String FARINGEIT = "°F"; private static final String KAIF = "°Kaif"; + private static final String SUNRISE = "Sunrise"; + private static final String SUNSET = "Sunset"; + private static final String WIND = "Wind"; + private static final String HUMIDITY = "Humidity"; + private static final String SUNRISE_TIME = "^[0-2][0-9]:[0-5][0-9]$"; + private static final String SUNSET_TIME = "^[0-2][0-9]:[0-5][0-9]$"; + private static final String WIND_SPEED = "^[0-9]+ m/s"; + private static final String HUMIDITY_VALUE = "^[0-9]+ %"; private WebDriver driver; @@ -53,27 +55,36 @@ public void shouldSeeTitleWidgetEqualCity(String city) { onMainPage().getPlaces().get(0).getText(), equalTo(city)); } - private void addWidgetOnMainPage(String city) { + public void addWidgetOnMainPage(String city) { mainPageMethods().addWidget(); mainPageMethods().renameWidget(NEW_WIDGET, city); } @Step("На главной странице без виджетов отображается кнопка добавить виджет") public void shouldSeeButtonAddWidgetOnMainPage() { - assertThat("На главной странице нет кнопки добавит виджет", mainPageMethods().getMainPage().getAddWidget(), isDisplayed()); + assertThat("На главной странице нет кнопки добавит виджет", + mainPageMethods().getMainPage().getAddWidget(), isDisplayed()); } @Step("На главной странице должна быть только кнопка добавления города") public void shouldSeeOnlyButtonAddWidget() { - assertThat("На главной странице только кнопка добавления виджета", mainPageMethods().allWidgets().size(), is(0)); + assertThat("На главной странице только кнопка добавления виджета", + mainPageMethods().allWidgets().size(), is(0)); + } + + @Step("На главной странице переименование название виджета") + public void shouldSeeRenameWidget(String oldName, String newName) { + mainPageMethods().renameWidget(oldName, newName); + assertThat("Widget has", newName, is(mainPageMethods().hasItem(mainPageMethods().getAllPlaces()))); } + @Step("На главной странице виджеты добавляются") public void shouldSeeWidgetAdd(String city) { int count = mainPageMethods().countWidgets(); addWidgetOnMainPage(city); - assertThat("Widget has", city, is(mainPageMethods().hasItem(city))); - assertThat("Количество виджетов не увеличелось", mainPageMethods().allWidgets().size(), is(count + 1)); + assertThat("Widget has", city, is(mainPageMethods().hasItem(mainPageMethods().getAllPlaces()))); + assertThat("Количество виджетов не увеличилось", mainPageMethods().allWidgets().size(), is(count + 1)); } @Step("На главной странице виджет можно удалить") @@ -88,7 +99,7 @@ public void shouldSeeWidgetRemove() { public void shouldAutocompliteCity(String city) { mainPageMethods().autoComplete(city); assertThat("Заголовок города равен названию набираемого города", - mainPageMethods().findWidget(city).getText(), equalTo(city)); + mainPageMethods().getAllPlaces().get(0).getText(), equalTo(city)); } @Step("Должны меняться форматы вывода градуса") @@ -106,7 +117,85 @@ public void shouldSeeChangeFormatDegree() { @Step("Начальное открытие виджета, единица измерений температуры Цельсий") public void shouldSeeTemperatureCelcium() { - assertThat("Начальное значение температуры не в Цельсиях", mainPageMethods().allWidgets().get(0).getWeatherType().getText(), equalTo(CELCIUM)); + assertThat("Начальное значение температуры не в Цельсиях", + mainPageMethods().allWidgets().get(0).getWeatherType().getText(), equalTo(CELCIUM)); + } + + @Step("Должны увидеть надпись показателя рассвета") + public void shouldSeeTitleSunrise() { + assertThat("Заголовка показателя рассвета нет на главной странице", SUNRISE, + mainPageMethods().hasItem(mainPageMethods().getTitleValues())); + assertThat("Заголовок показателя рассвета не отображается на главной странице", + mainPageMethods().findElement(mainPageMethods().getTitleValues(), SUNRISE), isDisplayed()); + } + + @Step("Должны увидеть надпись показателя заката") + public void shouldSeeTitleSunset() { + assertThat("Заголовка показателя рассвета нет на главной странице", SUNSET, + mainPageMethods().hasItem(mainPageMethods().getTitleValues())); + assertThat("Заголовок показателя рассвета не отображается на главной странице", + mainPageMethods().findElement(mainPageMethods().getTitleValues(), SUNSET), isDisplayed()); + } + + @Step("Должны увидеть надпись показателя скорости ветра") + public void shouldSeeTitleWind() { + assertThat("Заголовка показателя рассвета нет на главной странице", WIND, + mainPageMethods().hasItem(mainPageMethods().getTitleValues())); + assertThat("Заголовок показателя рассвета не отображается на главной странице", + mainPageMethods().findElement(mainPageMethods().getTitleValues(), WIND), isDisplayed()); + } + + @Step("Должны увидеть надпись показателя влажности") + public void shouldSeeTitleHumidity() { + assertThat("Заголовка показателя рассвета нет на главной странице", HUMIDITY, + mainPageMethods().hasItem(mainPageMethods().getTitleValues())); + assertThat("Заголовок показателя рассвета не отображается на главной странице", + mainPageMethods().findElement(mainPageMethods().getTitleValues(), HUMIDITY), isDisplayed()); + } + + @Step("Должны увидеть картинку для показателя рассвета") + public void shouldSeeImageSunrise() { + assertThat("Картинка показателя рассвета не отображается", mainPageMethods().getMainPage().getSunrise(), isDisplayed()); + } + + @Step("Должны увидеть картинку для показателя заката") + public void shouldSeeImageSunset() { + assertThat("Картинка показателя заката не отображается", mainPageMethods().getMainPage().getSunset(), isDisplayed()); + } + + @Step("Должны увидеть картинку для показателя скорости ветра") + public void shouldSeeImageWind() { + assertThat("Картинка показателя скорости ветра не отображается", mainPageMethods().getMainPage().getWind(), isDisplayed()); + } + + @Step("Должны увидеть картинку для показателя влажности") + public void shouldSeeImageHumidity() { + assertThat("Картинка показателя влажности не отображается", mainPageMethods().getMainPage().getHumidity(), isDisplayed()); + } + + @Step("Формат времени для значения поля рассвет должен быть 'xx:xx'") + public void shouldSeeFormatTimeSunrise() { + assertThat("Формат времени для значения поля рассвет не 'xx:xx'", + mainPageMethods().getMainPage().getInfoValues().get(0).getText(), mainPageMethods().stringMatcher(SUNRISE_TIME)); + } + + @Step("Формат времени для значения поля закат должен быть 'xx:xx'") + public void shouldSeeFormatTimeSunset() { + assertThat("Формат времени для значения поля закат не 'xx:xx'", + mainPageMethods().getMainPage().getInfoValues().get(1).getText(), mainPageMethods().stringMatcher(SUNSET_TIME)); + } + + @Step("Формат времени для значения поля скорость ветра должен быть 'xx m/s'") + public void shouldSeeFormatSpeedWind() { + assertThat("Формат времени для значения поля скорость ветра не 'xx m/s'", + mainPageMethods().getMainPage().getInfoValues().get(2).getText(), mainPageMethods().stringMatcher(WIND_SPEED)); + } + + + @Step("Формат времени для значения поля влажность должен быть 'xx %'") + public void shouldSeeFormatHumidity() { + assertThat("Формат времени для значения поля влажность не 'xx %'", + mainPageMethods().getMainPage().getInfoValues().get(3).getText(), mainPageMethods().stringMatcher(HUMIDITY_VALUE)); } private MainPage onMainPage() { From 2d6c8878a1271a1cf5259093c6b4a206ab2be920 Mon Sep 17 00:00:00 2001 From: "merkushev.io" Date: Fri, 22 Apr 2016 10:42:58 +0300 Subject: [PATCH 48/82] refactor tests --- .../school/webtests/WeatherWebTest.java | 151 ++++-------------- .../ru/qatools/school/pages/MainPage.java | 2 +- .../qatools/school/pages/MainPageMethods.java | 6 +- .../school/steps/websteps/DefaultSteps.java | 61 ++++--- 4 files changed, 76 insertions(+), 144 deletions(-) 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 3e679e3..c0e1d1a 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 @@ -37,15 +37,28 @@ private MainPage onMainPage() { @Title("Должны видеть виджет на главной странице") public void shouldSeeWidgetOnMainPage() { defaultSteps.openMainPageWithCity(MOSCOW); - defaultSteps.shouldSee(onMainPage().getWeatherWidget().get(0)); + defaultSteps.shouldSee(onMainPage().getWeatherWidgets().get(0)); + defaultSteps.shouldSeeTitleWidgetEqualCity(MOSCOW); } @Test - @Title("Должны увидеть виджет с именем города на главной странице") + @Title("Должны увидеть все элементы виджета") @ru.yandex.qatools.allure.annotations.TestCaseId("1") - public void shouldSeeWidgetWithTitleCity() { + public void shouldSeeTemperatureCelcium() { defaultSteps.openMainPageWithCity(MOSCOW); - defaultSteps.shouldSeeTitleWidgetEqualCity(MOSCOW); + defaultSteps.shouldSeeTemperatureCelcium(); + defaultSteps.shouldSeeTitleSunrise(); + defaultSteps.shouldSeeTitleSunset(); + defaultSteps.shouldSeeTitleWind(); + defaultSteps.shouldSeeTitleHumidity(); + defaultSteps.shouldSeeImageSunrise(); + defaultSteps.shouldSeeImageSunset(); + defaultSteps.shouldSeeImageWind(); + defaultSteps.shouldSeeImageHumidity(); + defaultSteps.shouldSeeFormatTimeSunrise(); + defaultSteps.shouldSeeFormatTimeSunset(); + defaultSteps.shouldSeeFormatSpeedWind(); + defaultSteps.shouldSeeFormatHumidity(); } @Test @@ -54,15 +67,15 @@ public void shouldSeeWidgetWithTitleCity() { public void shouldSeeButtonOnMainPage() { defaultSteps.openMainPageWithCity(""); defaultSteps.shouldSeeButtonAddWidgetOnMainPage(); + defaultSteps.shouldSeeOnlyButtonAddWidget(); + } + @Test + @Title("Должны увидеть главную страницу с кнопкой добавить виджет") + @ru.yandex.qatools.allure.annotations.TestCaseId("1") + public void shouldSeeButtonAddWidgetOnMainPageWithoutParameter() { + defaultSteps.shouldSeeButtonOnlyAddWidgetOnMainPageWithoutParameter(); + defaultSteps.shouldSeeOnlyButtonAddWidget(); } - -// @Test -// @Title("Не указав город должны увидеть только кнопку добавления виджета") -// @ru.yandex.qatools.allure.annotations.TestCaseId("2") -// public void shouldSeeOnlyButtonAddWidget() { -// defaultSteps.openMainPageWithCity(""); -// defaultSteps.shouldSeeOnlyButtonAddWidget(); -// } @Test @Title("Должны видеть добавленный виджет на главной странице") @@ -95,6 +108,10 @@ public void shouldAutoCompleteCity() { public void shouldSeeRenameWidget() { defaultSteps.openMainPageWithCity(MOSCOW); defaultSteps.shouldSeeRenameWidget(MOSCOW, SPB); + defaultSteps.shouldSeeRenameWidget(SPB, ""); + defaultSteps.shouldSeeRenameWidget("", SPB); + defaultSteps.openMainPageWithCity(MOSCOW); + defaultSteps.shouldSeeRenameWidget(MOSCOW, SPB.substring(0, SPB.length()/2)); } @Test @@ -102,118 +119,14 @@ public void shouldSeeRenameWidget() { @ru.yandex.qatools.allure.annotations.TestCaseId("9") public void shouldSeeChangeFormatDegree() { defaultSteps.openMainPageWithCity(SPB); - defaultSteps.shouldSeeChangeFormatDegree(); - } - - @Test - @Title("Открываем виджет, единица измерения температуры Цельсий") - @ru.yandex.qatools.allure.annotations.TestCaseId("8") - public void shouldSeeTemperatureCelcium() { - defaultSteps.openMainPageWithCity(MOSCOW); defaultSteps.shouldSeeTemperatureCelcium(); + defaultSteps.shouldSeeChangeFormatDegreeCelciumToKelvin(); + defaultSteps.shouldSeeChangeFormatDegreeKelvinToFarengeit(); + defaultSteps.shouldSeeChangeFormatDegreeFarengeitToKaif(); } - @Test - @Title("Должны увидеть надпись показателя рассвета") - @ru.yandex.qatools.allure.annotations.TestCaseId("8") - public void shouldSeeTitleSunrise() { - defaultSteps.openMainPageWithCity(MOSCOW); - defaultSteps.shouldSeeTitleSunrise(); - } - - @Test - @Title("Должны увидеть надпись показателя заката") - @ru.yandex.qatools.allure.annotations.TestCaseId("8") - public void shouldSeeTitleSunset() { - defaultSteps.openMainPageWithCity(MOSCOW); - defaultSteps.shouldSeeTitleSunset(); - } - - @Test - @Title("Должны увидеть надпись показателя скорости ветра") - @ru.yandex.qatools.allure.annotations.TestCaseId("8") - public void shouldSeeTitleWind() { - defaultSteps.openMainPageWithCity(MOSCOW); - defaultSteps.shouldSeeTitleWind(); - } - @Test - @Title("Должны увидеть надпись показателя влажности") - @ru.yandex.qatools.allure.annotations.TestCaseId("8") - public void shouldSeeTitleHumidity() { - defaultSteps.openMainPageWithCity(MOSCOW); - defaultSteps.shouldSeeTitleHumidity(); - } - @Test - @Title("Должны увидеть картинку для показателя рассвета") - @ru.yandex.qatools.allure.annotations.TestCaseId("8") - public void shouldSeeImageSunrise() { - defaultSteps.openMainPageWithCity(SPB); - defaultSteps.shouldSeeImageSunrise(); - } - - @Test - @Title("Должны увидеть картинку для показателя рассвета") - @ru.yandex.qatools.allure.annotations.TestCaseId("8") - public void shouldSeeImageSunset() { - defaultSteps.openMainPageWithCity(SPB); - defaultSteps.shouldSeeImageSunset(); - } - - @Test - @Title("Должны увидеть картинку для показателя рассвета") - @ru.yandex.qatools.allure.annotations.TestCaseId("8") - public void shouldSeeImageWind() { - defaultSteps.openMainPageWithCity(SPB); - defaultSteps.shouldSeeImageWind(); - } - - @Test - @Title("Должны увидеть картинку для показателя рассвета") - @ru.yandex.qatools.allure.annotations.TestCaseId("8") - public void shouldSeeImageHumidity() { - defaultSteps.openMainPageWithCity(SPB); - defaultSteps.shouldSeeImageHumidity(); - } - - @Test - @Title("Должны увидеть основную картинку виджета") - public void shouldSeeMainImage() { - - } - - @Test - @Title("Формат времени для значения поля рассвет должен быть 'xx:xx'") - @ru.yandex.qatools.allure.annotations.TestCaseId("8") - public void shouldSeeFormatTimeSunrise() { - defaultSteps.openMainPageWithCity(MOSCOW); - defaultSteps.shouldSeeFormatTimeSunrise(); - } - - @Test - @Title("Формат времени для значения поля закат должен быть 'xx:xx'") - @ru.yandex.qatools.allure.annotations.TestCaseId("8") - public void shouldSeeFormatTimeSunset() { - defaultSteps.openMainPageWithCity(SPB); - defaultSteps.shouldSeeFormatTimeSunset(); - } - - @Test - @Title("Формат времени для значения поля скорость ветра должен быть 'xx m/s'") - @ru.yandex.qatools.allure.annotations.TestCaseId("8") - public void shouldSeeFormatSpeedWind() { - defaultSteps.openMainPageWithCity(SPB); - defaultSteps.shouldSeeFormatSpeedWind(); - } - - @Test - @Title("Формат времени для значения поля влажность должен быть 'xx %'") - @ru.yandex.qatools.allure.annotations.TestCaseId("8") - public void shouldSeeFormatHumidity() { - defaultSteps.openMainPageWithCity(SPB); - defaultSteps.shouldSeeFormatHumidity(); - } } 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 4c65ef9..a88f046 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 @@ -77,7 +77,7 @@ public MainPage(WebDriver driver) { @FindBy(css = ".wi.weather-image") private WebElement mainImage; - public List getWeatherWidget() { + public List getWeatherWidgets() { return weatherWidget; } diff --git a/steps-module/src/main/java/ru/qatools/school/pages/MainPageMethods.java b/steps-module/src/main/java/ru/qatools/school/pages/MainPageMethods.java index e191e6d..a805e5f 100644 --- a/steps-module/src/main/java/ru/qatools/school/pages/MainPageMethods.java +++ b/steps-module/src/main/java/ru/qatools/school/pages/MainPageMethods.java @@ -49,11 +49,11 @@ public void renameWidget(String oldName, String newName) { } public int countWidgets() { - return mainPage.getWeatherWidget().size(); + return mainPage.getWeatherWidgets().size(); } - public List allWidgets() { - return mainPage.getWeatherWidget(); + public List getAllWidgets() { + return mainPage.getWeatherWidgets(); } public List getAllPlaces() { 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 4540988..3d7844a 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 @@ -18,6 +18,7 @@ public class DefaultSteps { public static final String MAIN_PAGE = "http://weather.lanwen.ru/#?cities=%s"; + private static final String MAIN_PAGE_WITHOUT_PARAMETERS = "http://weather.lanwen.ru/"; private static final String NEW_WIDGET = "What a city?"; private static final String CELCIUM = "°C"; private static final String KELVIN = "°K"; @@ -44,6 +45,11 @@ public void openMainPageWithCity(String city) { driver.get(format(MAIN_PAGE, city)); } + @Step("Открываем главную страницу без параметра»") + public void openMainPageWithoutParameter() { + driver.get(MAIN_PAGE_WITHOUT_PARAMETERS); + } + @Step("Должны видеть на странице «{0}»") public void shouldSee(WebElement element) { assertThat("Должны видеть элемент", element, isDisplayed()); @@ -69,7 +75,13 @@ public void shouldSeeButtonAddWidgetOnMainPage() { @Step("На главной странице должна быть только кнопка добавления города") public void shouldSeeOnlyButtonAddWidget() { assertThat("На главной странице только кнопка добавления виджета", - mainPageMethods().allWidgets().size(), is(0)); + mainPageMethods().getAllWidgets().size(), is(0)); + } + + @Step("Должны увидеть главную страницу с кнопкой добавить виджет") + public void shouldSeeButtonOnlyAddWidgetOnMainPageWithoutParameter() { + openMainPageWithoutParameter(); + assertThat("На главной странице не отображатся кнопка добавить виджет", onMainPage().getAddWidget(), isDisplayed()); } @Step("На главной странице переименование название виджета") @@ -78,19 +90,18 @@ public void shouldSeeRenameWidget(String oldName, String newName) { assertThat("Widget has", newName, is(mainPageMethods().hasItem(mainPageMethods().getAllPlaces()))); } - @Step("На главной странице виджеты добавляются") public void shouldSeeWidgetAdd(String city) { int count = mainPageMethods().countWidgets(); addWidgetOnMainPage(city); assertThat("Widget has", city, is(mainPageMethods().hasItem(mainPageMethods().getAllPlaces()))); - assertThat("Количество виджетов не увеличилось", mainPageMethods().allWidgets().size(), is(count + 1)); + assertThat("Количество виджетов не увеличилось", mainPageMethods().getAllWidgets().size(), is(count + 1)); } @Step("На главной странице виджет можно удалить") public void shouldSeeWidgetRemove() { int count = mainPageMethods().countWidgets(); - mainPageMethods().clickOnElement(mainPageMethods().allWidgets().get(0).getRemoveBtn()); + mainPageMethods().clickOnElement(mainPageMethods().getAllWidgets().get(0).getRemoveBtn()); assertThat("Количество виджетов не уменьшилось после удаления одного виджета", mainPageMethods().countWidgets(), is(count - 1)); } @@ -102,23 +113,31 @@ public void shouldAutocompliteCity(String city) { mainPageMethods().getAllPlaces().get(0).getText(), equalTo(city)); } - @Step("Должны меняться форматы вывода градуса") - public void shouldSeeChangeFormatDegree() { - mainPageMethods().allWidgets().get(0).getWeatherBlock().click(); + @Step("Должны увидеть изменение формата вывода градусов") + public void shouldSeeChangeFormatDegreeCelciumToKelvin() { + mainPageMethods().getAllWidgets().get(0).getWeatherBlock().click(); assertThat("Не произошло преобразование градусов цельсия в градусы кельвина", - mainPageMethods().allWidgets().get(0).getWeatherType().getText(), equalTo(KELVIN)); - mainPageMethods().allWidgets().get(0).getWeatherBlock().click(); + mainPageMethods().getAllWidgets().get(0).getWeatherType().getText(), equalTo(KELVIN)); + } + + @Step("Должны увидеть изменение формата вывода градусов") + public void shouldSeeChangeFormatDegreeKelvinToFarengeit() { + mainPageMethods().getAllWidgets().get(0).getWeatherBlock().click(); assertThat("Не произошло преобразование градусов в кельвинах в градусы фаренгейта", - mainPageMethods().allWidgets().get(0).getWeatherType().getText(), equalTo(FARINGEIT)); - mainPageMethods().allWidgets().get(0).getWeatherBlock().click(); + mainPageMethods().getAllWidgets().get(0).getWeatherType().getText(), equalTo(FARINGEIT)); + } + + @Step("Должны увидеть изменение формата вывода градусов") + public void shouldSeeChangeFormatDegreeFarengeitToKaif() { + mainPageMethods().getAllWidgets().get(0).getWeatherBlock().click(); assertThat("Не произошло преобразование градусов фаренгейта в градусы °Kaif", - mainPageMethods().allWidgets().get(0).getWeatherType().getText(), equalTo(KAIF)); + mainPageMethods().getAllWidgets().get(0).getWeatherType().getText(), equalTo(KAIF)); } - @Step("Начальное открытие виджета, единица измерений температуры Цельсий") + @Step("Начальное открытие виджета, единица измерений температуры Цельсий") public void shouldSeeTemperatureCelcium() { assertThat("Начальное значение температуры не в Цельсиях", - mainPageMethods().allWidgets().get(0).getWeatherType().getText(), equalTo(CELCIUM)); + mainPageMethods().getAllWidgets().get(0).getWeatherType().getText(), equalTo(CELCIUM)); } @Step("Должны увидеть надпись показателя рассвета") @@ -155,22 +174,22 @@ public void shouldSeeTitleHumidity() { @Step("Должны увидеть картинку для показателя рассвета") public void shouldSeeImageSunrise() { - assertThat("Картинка показателя рассвета не отображается", mainPageMethods().getMainPage().getSunrise(), isDisplayed()); + assertThat("Картинка показателя рассвета не отображается",onMainPage().getSunrise(), isDisplayed()); } @Step("Должны увидеть картинку для показателя заката") public void shouldSeeImageSunset() { - assertThat("Картинка показателя заката не отображается", mainPageMethods().getMainPage().getSunset(), isDisplayed()); + assertThat("Картинка показателя заката не отображается", onMainPage().getSunset(), isDisplayed()); } @Step("Должны увидеть картинку для показателя скорости ветра") public void shouldSeeImageWind() { - assertThat("Картинка показателя скорости ветра не отображается", mainPageMethods().getMainPage().getWind(), isDisplayed()); + assertThat("Картинка показателя скорости ветра не отображается", onMainPage().getWind(), isDisplayed()); } @Step("Должны увидеть картинку для показателя влажности") public void shouldSeeImageHumidity() { - assertThat("Картинка показателя влажности не отображается", mainPageMethods().getMainPage().getHumidity(), isDisplayed()); + assertThat("Картинка показателя влажности не отображается", onMainPage().getHumidity(), isDisplayed()); } @Step("Формат времени для значения поля рассвет должен быть 'xx:xx'") @@ -182,20 +201,20 @@ public void shouldSeeFormatTimeSunrise() { @Step("Формат времени для значения поля закат должен быть 'xx:xx'") public void shouldSeeFormatTimeSunset() { assertThat("Формат времени для значения поля закат не 'xx:xx'", - mainPageMethods().getMainPage().getInfoValues().get(1).getText(), mainPageMethods().stringMatcher(SUNSET_TIME)); + onMainPage().getInfoValues().get(1).getText(), mainPageMethods().stringMatcher(SUNSET_TIME)); } @Step("Формат времени для значения поля скорость ветра должен быть 'xx m/s'") public void shouldSeeFormatSpeedWind() { assertThat("Формат времени для значения поля скорость ветра не 'xx m/s'", - mainPageMethods().getMainPage().getInfoValues().get(2).getText(), mainPageMethods().stringMatcher(WIND_SPEED)); + onMainPage().getInfoValues().get(2).getText(), mainPageMethods().stringMatcher(WIND_SPEED)); } @Step("Формат времени для значения поля влажность должен быть 'xx %'") public void shouldSeeFormatHumidity() { assertThat("Формат времени для значения поля влажность не 'xx %'", - mainPageMethods().getMainPage().getInfoValues().get(3).getText(), mainPageMethods().stringMatcher(HUMIDITY_VALUE)); + onMainPage().getInfoValues().get(3).getText(), mainPageMethods().stringMatcher(HUMIDITY_VALUE)); } private MainPage onMainPage() { From be84fdc0fa40fa89809caa11226c647aeba76bbc Mon Sep 17 00:00:00 2001 From: user Date: Thu, 7 Apr 2016 20:58:59 +0300 Subject: [PATCH 49/82] initial --- steps-module/pom.xml | 46 +++---------------- .../ru/qatools/school/steps/UserSteps.java | 14 ++---- 2 files changed, 11 insertions(+), 49 deletions(-) diff --git a/steps-module/pom.xml b/steps-module/pom.xml index 9bcfe79..4d15b94 100644 --- a/steps-module/pom.xml +++ b/steps-module/pom.xml @@ -1,51 +1,19 @@ - - 4.0.0 - school-2016 ru.qatools.school 1.0-SNAPSHOT - - steps-module + + 4.0.0 jar - + + steps-module Logic Module - - - ru.yandex.qatools.allure - allure-junit-adaptor - - - org.seleniumhq.selenium - selenium-java - - - ru.yandex.qatools.htmlelements - htmlelements-java - - - org.apache.commons - commons-lang3 - - - org.hamcrest - hamcrest-all - - - ru.yandex.qatools.htmlelements - htmlelements-matchers - - - com.jayway.restassured - rest-assured - - - - + \ No newline at end of file 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..5351bf7 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 @@ -2,16 +2,11 @@ import ru.qatools.school.data.Place; -import static org.hamcrest.core.Is.is; -import static org.junit.Assert.assertThat; - - /** * @author lanwen (Merkushev Kirill) - * @author gladnik (Gladkov Nikolai) */ public class UserSteps { - + private Place place; private UserSteps() { @@ -20,14 +15,13 @@ private UserSteps() { public static UserSteps user() { return new UserSteps(); } - + public UserSteps goTo(Place place) { this.place = place; return this; } - public UserSteps shouldBeAtPlace(Place expectedPlace) { - assertThat("Places should match!", this.place, is(expectedPlace)); - return this; + public UserSteps should() { + } } From c40fb6a17de5af50b898f1853fe927b4ac80df8b Mon Sep 17 00:00:00 2001 From: user Date: Thu, 7 Apr 2016 20:59:34 +0300 Subject: [PATCH 50/82] initial --- commons-module/pom.xml | 40 +++-------------- .../java/ru/qatools/school/MyFirstTest.java | 44 +++---------------- 2 files changed, 12 insertions(+), 72 deletions(-) diff --git a/commons-module/pom.xml b/commons-module/pom.xml index b1372c7..5008681 100644 --- a/commons-module/pom.xml +++ b/commons-module/pom.xml @@ -1,19 +1,17 @@ - 4.0.0 - + jar school-2016 ru.qatools.school 1.0-SNAPSHOT + commons-module commons-module - jar - - Commons Module @@ -21,32 +19,6 @@ steps-module ${project.version} - - com.tngtech.java - junit-dataprovider - 1.10.4 - test - - - - - - org.apache.maven.plugins - maven-surefire-plugin - - - - - - true - - - ru.yandex.qatools.allure - allure-maven-plugin - 2.0 - - - - - + + \ No newline at end of file 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..3d17d0c 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,21 @@ 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 org.junit.Assert.assertThat; +import static org.junit.*; import static ru.qatools.school.steps.UserSteps.user; - /** - * @author gladnik (Nikolai Gladkov) + * @author lanwen (Merkushev Kirill) */ -@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); - } @Test - public void afterGoSomewhereElseShouldBeThere() { - user().goTo(Place.HOME).goTo(Place.AT_YANDEX) - .shouldBeAtPlace(Place.AT_YANDEX); + public void test() { + assertThat(user().goTo(Place.HOME), ); } + } From cb6dc77e3492bf07cdadc918544fdb175664bf3a Mon Sep 17 00:00:00 2001 From: user Date: Thu, 7 Apr 2016 21:08:06 +0300 Subject: [PATCH 51/82] commit --- .../src/test/java/ru/qatools/school/MyFirstTest.java | 5 +---- steps-module/pom.xml | 2 -- .../src/main/java/ru/qatools/school/steps/UserSteps.java | 9 +++++++-- 3 files changed, 8 insertions(+), 8 deletions(-) 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 3d17d0c..eecfd8e 100644 --- a/commons-module/src/test/java/ru/qatools/school/MyFirstTest.java +++ b/commons-module/src/test/java/ru/qatools/school/MyFirstTest.java @@ -1,10 +1,7 @@ package ru.qatools.school; import org.junit.Test; -import ru.qatools.school.data.Place; -import static org.junit.Assert.assertThat; -import static org.junit.*; import static ru.qatools.school.steps.UserSteps.user; /** @@ -15,7 +12,7 @@ public class MyFirstTest { @Test public void test() { - assertThat(user().goTo(Place.HOME), ); + user().shouldSeeCurrentPlace(); } } diff --git a/steps-module/pom.xml b/steps-module/pom.xml index 4d15b94..4f3d899 100644 --- a/steps-module/pom.xml +++ b/steps-module/pom.xml @@ -14,6 +14,4 @@ steps-module Logic Module - - \ No newline at end of file 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 5351bf7..bc840b3 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 @@ -2,6 +2,9 @@ import ru.qatools.school.data.Place; +import static org.hamcrest.core.Is.is; +import static org.junit.Assert.assertThat; + /** * @author lanwen (Merkushev Kirill) */ @@ -21,7 +24,9 @@ public UserSteps goTo(Place place) { return this; } - public UserSteps should() { - + public UserSteps shouldSeeCurrentPlace() { + goTo(Place.HOME); + assertThat(place, is(Place.HOME)); + return this; } } From f25ef6f4e260878c98d604449883a4dff8e8db3f Mon Sep 17 00:00:00 2001 From: user Date: Thu, 7 Apr 2016 21:12:47 +0300 Subject: [PATCH 52/82] commit --- .../src/test/java/ru/qatools/school/MyFirstTest.java | 4 ++++ .../src/main/java/ru/qatools/school/steps/UserSteps.java | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) 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 eecfd8e..d2ea174 100644 --- a/commons-module/src/test/java/ru/qatools/school/MyFirstTest.java +++ b/commons-module/src/test/java/ru/qatools/school/MyFirstTest.java @@ -1,6 +1,7 @@ package ru.qatools.school; import org.junit.Test; +import ru.qatools.school.data.Place; import static ru.qatools.school.steps.UserSteps.user; @@ -12,6 +13,9 @@ public class MyFirstTest { @Test public void test() { + user().goTo(Place.HOME); + user().shouldSeeCurrentPlace(); + user().goTo(Place.AT_YANDEX); user().shouldSeeCurrentPlace(); } 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 bc840b3..a14fbb1 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 @@ -3,6 +3,7 @@ import ru.qatools.school.data.Place; import static org.hamcrest.core.Is.is; +import static org.hamcrest.core.Is.isA; import static org.junit.Assert.assertThat; /** @@ -25,8 +26,7 @@ public UserSteps goTo(Place place) { } public UserSteps shouldSeeCurrentPlace() { - goTo(Place.HOME); - assertThat(place, is(Place.HOME)); + assertThat(place, isA(Place.class)); return this; } } From 1ba56d01cf8df3ee7354268f711756f51d351020 Mon Sep 17 00:00:00 2001 From: user Date: Thu, 7 Apr 2016 21:13:33 +0300 Subject: [PATCH 53/82] commit --- .../src/test/java/ru/qatools/school/MyFirstTest.java | 3 --- 1 file changed, 3 deletions(-) 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 d2ea174..d1e506d 100644 --- a/commons-module/src/test/java/ru/qatools/school/MyFirstTest.java +++ b/commons-module/src/test/java/ru/qatools/school/MyFirstTest.java @@ -13,9 +13,6 @@ public class MyFirstTest { @Test public void test() { - user().goTo(Place.HOME); - user().shouldSeeCurrentPlace(); - user().goTo(Place.AT_YANDEX); user().shouldSeeCurrentPlace(); } From 2e59ea89e99561860e1c62244b3031dffb7649c0 Mon Sep 17 00:00:00 2001 From: Igor Merkushev Date: Thu, 7 Apr 2016 22:15:36 +0300 Subject: [PATCH 54/82] First test complete --- .../src/test/java/ru/qatools/school/MyFirstTest.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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 d1e506d..fbfe37a 100644 --- a/commons-module/src/test/java/ru/qatools/school/MyFirstTest.java +++ b/commons-module/src/test/java/ru/qatools/school/MyFirstTest.java @@ -13,7 +13,8 @@ public class MyFirstTest { @Test public void test() { - user().shouldSeeCurrentPlace(); + user().goTo(Place.AT_YANDEX).shouldSeeCurrentPlace(); + user().goTo(Place.HOME).shouldSeeCurrentPlace(); } } From 08978d117d000365f2515e1852abd19c239a10e1 Mon Sep 17 00:00:00 2001 From: Igor Merkushev Date: Fri, 8 Apr 2016 22:53:47 +0300 Subject: [PATCH 55/82] First test second version --- .../src/test/java/ru/qatools/school/MyFirstTest.java | 4 ++-- .../src/main/java/ru/qatools/school/steps/UserSteps.java | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) 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 fbfe37a..68d6662 100644 --- a/commons-module/src/test/java/ru/qatools/school/MyFirstTest.java +++ b/commons-module/src/test/java/ru/qatools/school/MyFirstTest.java @@ -13,8 +13,8 @@ public class MyFirstTest { @Test public void test() { - user().goTo(Place.AT_YANDEX).shouldSeeCurrentPlace(); - user().goTo(Place.HOME).shouldSeeCurrentPlace(); + user().goTo(Place.AT_YANDEX).shouldSeeCurrentPlace(Place.AT_YANDEX).goTo(Place.HOME). + shouldSeeCurrentPlace(Place.HOME).goTo(null).shouldSeeCurrentPlace(null); } } 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 a14fbb1..b8520b8 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 @@ -25,8 +25,8 @@ public UserSteps goTo(Place place) { return this; } - public UserSteps shouldSeeCurrentPlace() { - assertThat(place, isA(Place.class)); + public UserSteps shouldSeeCurrentPlace(Place place) { + assertThat(this.place, is(place)); return this; } } From 9a7e85b8cd19d73d20b0a9bdebf1b07b1587bc5c Mon Sep 17 00:00:00 2001 From: Igor Merkushev Date: Fri, 8 Apr 2016 23:03:43 +0300 Subject: [PATCH 56/82] First test second version change pom, split test, rename methods --- commons-module/pom.xml | 2 +- .../test/java/ru/qatools/school/MyFirstTest.java | 16 ++++++++++++---- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/commons-module/pom.xml b/commons-module/pom.xml index 5008681..f98a116 100644 --- a/commons-module/pom.xml +++ b/commons-module/pom.xml @@ -4,13 +4,13 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 jar + school-2016 ru.qatools.school 1.0-SNAPSHOT - commons-module commons-module 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 68d6662..284c4ce 100644 --- a/commons-module/src/test/java/ru/qatools/school/MyFirstTest.java +++ b/commons-module/src/test/java/ru/qatools/school/MyFirstTest.java @@ -12,9 +12,17 @@ public class MyFirstTest { @Test - public void test() { - user().goTo(Place.AT_YANDEX).shouldSeeCurrentPlace(Place.AT_YANDEX).goTo(Place.HOME). - shouldSeeCurrentPlace(Place.HOME).goTo(null).shouldSeeCurrentPlace(null); + public void shouldBeAtYandexAfterGoToYandex() { + user().goTo(Place.AT_YANDEX).shouldSeeCurrentPlace(Place.AT_YANDEX); + } + + @Test + public void shouldBeAtHomeAfterGoToHome() { + user().goTo(Place.HOME).shouldSeeCurrentPlace(Place.HOME); + } + + @Test + public void shouldBeNullIfPlaceNull() { + user().goTo(null).shouldSeeCurrentPlace(null); } - } From a763192e84a32bea450a52d969fdb379f17383db Mon Sep 17 00:00:00 2001 From: gladnik Date: Thu, 7 Apr 2016 21:13:29 +0300 Subject: [PATCH 57/82] Added commons-module and tests for user().goTo(place) Improved project structure by deletion redundant files --- commons-module/pom.xml | 39 +++---- .../java/ru/qatools/school/MyFirstTest.java | 21 ++-- pom.xml | 102 +----------------- steps-module/pom.xml | 6 +- .../ru/qatools/school/steps/UserSteps.java | 12 +-- 5 files changed, 42 insertions(+), 138 deletions(-) diff --git a/commons-module/pom.xml b/commons-module/pom.xml index f98a116..1a9a2b0 100644 --- a/commons-module/pom.xml +++ b/commons-module/pom.xml @@ -1,24 +1,25 @@ - 4.0.0 - jar + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + + school-2016 + ru.qatools.school + 1.0-SNAPSHOT + - - school-2016 - ru.qatools.school - 1.0-SNAPSHOT - +4.0.0 +jar + +commons-module +Commons Module - commons-module + + + ru.qatools.school + steps-module + ${project.version} + + - - - ru.qatools.school - steps-module - ${project.version} - - - - \ No newline at end of file + 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 284c4ce..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,28 +1,23 @@ package ru.qatools.school; import org.junit.Test; -import ru.qatools.school.data.Place; -import static ru.qatools.school.steps.UserSteps.user; +import static ru.qatools.school.data.Place.*; +import static ru.qatools.school.steps.UserSteps.*; + /** - * @author lanwen (Merkushev Kirill) + * @author gladnik (Nikolai Gladkov) */ public class MyFirstTest { - - @Test - public void shouldBeAtYandexAfterGoToYandex() { - user().goTo(Place.AT_YANDEX).shouldSeeCurrentPlace(Place.AT_YANDEX); - } - @Test - public void shouldBeAtHomeAfterGoToHome() { - user().goTo(Place.HOME).shouldSeeCurrentPlace(Place.HOME); + public void shouldBeAtHomeWhenGoToHome() { + user().goTo(HOME).shouldBeAtPlace(HOME); } @Test - public void shouldBeNullIfPlaceNull() { - user().goTo(null).shouldSeeCurrentPlace(null); + public void shouldBeAtYandexWhenGoToYandex() { + user().goTo(AT_YANDEX).shouldBeAtPlace(AT_YANDEX); } } diff --git a/pom.xml b/pom.xml index a32202a..8d7e478 100644 --- a/pom.xml +++ b/pom.xml @@ -1,30 +1,21 @@ - 4.0.0 ru.qatools.school school-2016 - 1.0-SNAPSHOT pom - - Automation Foreva - First automation project ever + 1.0-SNAPSHOT steps-module commons-module - - 1.8 - - 1.4.23 - 2.53.0 - 1.15 - 1.8.5 - + Automation Foreva + First automation project ever @@ -34,87 +25,4 @@ - - - - - - com.jayway.restassured - rest-assured - 2.9.0 - - - - ru.yandex.qatools.allure - allure-junit-adaptor - ${allure.version} - - - org.seleniumhq.selenium - selenium-java - ${selenium.version} - - - ru.yandex.qatools.htmlelements - htmlelements-java - ${htmlelements.version} - - - org.apache.commons - commons-lang3 - 3.4 - - - org.hamcrest - hamcrest-all - 1.3 - - - ru.yandex.qatools.htmlelements - htmlelements-matchers - 1.12 - - - - - - - - - org.apache.maven.plugins - maven-compiler-plugin - 3.0 - - ${compiler.version} - ${compiler.version} - - - - org.apache.maven.plugins - maven-surefire-plugin - 2.18.1 - - - -javaagent:"${settings.localRepository}/org/aspectj/aspectjweaver/${aspectj.version}/aspectjweaver-${aspectj.version}.jar" - - - - listener - ru.yandex.qatools.allure.junit.AllureRunListener - - - - - - org.aspectj - aspectjweaver - ${aspectj.version} - - - - - - - - diff --git a/steps-module/pom.xml b/steps-module/pom.xml index 4f3d899..f69439b 100644 --- a/steps-module/pom.xml +++ b/steps-module/pom.xml @@ -7,11 +7,11 @@ ru.qatools.school 1.0-SNAPSHOT - + 4.0.0 jar - + steps-module Logic Module - \ No newline at end of file + 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 b8520b8..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 @@ -3,14 +3,15 @@ import ru.qatools.school.data.Place; import static org.hamcrest.core.Is.is; -import static org.hamcrest.core.Is.isA; import static org.junit.Assert.assertThat; + /** * @author lanwen (Merkushev Kirill) + * @author gladnik (Gladkov Nikolai) */ public class UserSteps { - + private Place place; private UserSteps() { @@ -19,14 +20,13 @@ private UserSteps() { public static UserSteps user() { return new UserSteps(); } - + public UserSteps goTo(Place place) { this.place = place; return this; } - public UserSteps shouldSeeCurrentPlace(Place place) { - assertThat(this.place, is(place)); - return this; + public void shouldBeAtPlace(Place expectedPlace) { + assertThat(this.place, is(expectedPlace)); } } From 2182cfbf95cfdec2ac0edc6ea869d5a51abea4cc Mon Sep 17 00:00:00 2001 From: "merkushev.io" Date: Fri, 22 Apr 2016 14:29:05 +0300 Subject: [PATCH 58/82] refactor tests, create new file WidgetSteps --- .../school/webtests/WeatherWebTest.java | 64 ++++---- .../qatools/school/pages/MainPageMethods.java | 2 +- .../school/steps/websteps/DefaultSteps.java | 142 +++-------------- .../school/steps/websteps/WidgetSteps.java | 147 ++++++++++++++++++ 4 files changed, 200 insertions(+), 155 deletions(-) create mode 100644 steps-module/src/main/java/ru/qatools/school/steps/websteps/WidgetSteps.java 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 c0e1d1a..88d1a2f 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 @@ -3,9 +3,11 @@ import org.junit.Before; import org.junit.Rule; import org.junit.Test; +import org.openqa.selenium.WebElement; import ru.qatools.school.pages.MainPage; import ru.qatools.school.rules.WebDriverRule; import ru.qatools.school.steps.websteps.DefaultSteps; +import ru.qatools.school.steps.websteps.WidgetSteps; import ru.qatools.school.tp.TPInformerRule; import ru.yandex.qatools.allure.annotations.Title; @@ -19,8 +21,8 @@ public class WeatherWebTest { @Rule public WebDriverRule webDriverRule = new WebDriverRule(); - @Rule - public TPInformerRule tms = new TPInformerRule("merkushevio"); +// @Rule +// public TPInformerRule tms = new TPInformerRule("merkushevio"); @Before @@ -42,35 +44,24 @@ public void shouldSeeWidgetOnMainPage() { } @Test - @Title("Должны увидеть все элементы виджета") + @Title("Должны увидеть элементы виджета") @ru.yandex.qatools.allure.annotations.TestCaseId("1") - public void shouldSeeTemperatureCelcium() { + public void shouldSeeElements() { defaultSteps.openMainPageWithCity(MOSCOW); - defaultSteps.shouldSeeTemperatureCelcium(); - defaultSteps.shouldSeeTitleSunrise(); - defaultSteps.shouldSeeTitleSunset(); - defaultSteps.shouldSeeTitleWind(); - defaultSteps.shouldSeeTitleHumidity(); - defaultSteps.shouldSeeImageSunrise(); - defaultSteps.shouldSeeImageSunset(); - defaultSteps.shouldSeeImageWind(); - defaultSteps.shouldSeeImageHumidity(); - defaultSteps.shouldSeeFormatTimeSunrise(); - defaultSteps.shouldSeeFormatTimeSunset(); - defaultSteps.shouldSeeFormatSpeedWind(); - defaultSteps.shouldSeeFormatHumidity(); + // Дописать проверку для отоброжания элементов на виджете используя метод shouldSee(Array elements) } @Test - @Title("Должны увидеть страницу с кнопокой добавить виджет") + @Title("Должны увидеть главную страницу только с кнопокой добавить виджет") @ru.yandex.qatools.allure.annotations.TestCaseId("1") public void shouldSeeButtonOnMainPage() { defaultSteps.openMainPageWithCity(""); - defaultSteps.shouldSeeButtonAddWidgetOnMainPage(); + defaultSteps.shouldSee(onMainPage().getAddWidget()); defaultSteps.shouldSeeOnlyButtonAddWidget(); } + @Test - @Title("Должны увидеть главную страницу с кнопкой добавить виджет") + @Title("Должны увидеть главную страницу только с кнопкой добавить виджет") @ru.yandex.qatools.allure.annotations.TestCaseId("1") public void shouldSeeButtonAddWidgetOnMainPageWithoutParameter() { defaultSteps.shouldSeeButtonOnlyAddWidgetOnMainPageWithoutParameter(); @@ -78,7 +69,7 @@ public void shouldSeeButtonAddWidgetOnMainPageWithoutParameter() { } @Test - @Title("Должны видеть добавленный виджет на главной странице") + @Title("Можем добавлять виджет на главной странице") @ru.yandex.qatools.allure.annotations.TestCaseId("2") public void shouldSeeAddWidgetOnMainPage() { defaultSteps.openMainPageWithCity(MOSCOW); @@ -86,7 +77,7 @@ public void shouldSeeAddWidgetOnMainPage() { } @Test - @Title("Должны увидеть виджеты, кроме удаленного на главной странице") + @Title("Может удалить виджет на главной странице") @ru.yandex.qatools.allure.annotations.TestCaseId("3") public void shouldSeeRemoveWidgetOnMainPage() { defaultSteps.openMainPageWithCity(SPB); @@ -103,32 +94,39 @@ public void shouldAutoCompleteCity() { } @Test - @Title("Должны увидеть переименование названия виджета") + @Title("Можем переименовать виджет") @ru.yandex.qatools.allure.annotations.TestCaseId("4") public void shouldSeeRenameWidget() { defaultSteps.openMainPageWithCity(MOSCOW); defaultSteps.shouldSeeRenameWidget(MOSCOW, SPB); + } + + @Test + @Title("Можем очистить название, после чего назначить нове имя") + @ru.yandex.qatools.allure.annotations.TestCaseId("4") + public void shouldSeeClearWidgetName() { + defaultSteps.openMainPageWithCity(SPB); defaultSteps.shouldSeeRenameWidget(SPB, ""); defaultSteps.shouldSeeRenameWidget("", SPB); + } + + @Test + @Title("Можем написать не не полное имя виджета") + @ru.yandex.qatools.allure.annotations.TestCaseId("4") + public void shouldSeeNotFullNameWidget() { defaultSteps.openMainPageWithCity(MOSCOW); - defaultSteps.shouldSeeRenameWidget(MOSCOW, SPB.substring(0, SPB.length()/2)); + defaultSteps.shouldSeeRenameWidget(MOSCOW, SPB.substring(0, SPB.length() / 3)); } + @Test - @Title("Должны меняться форматы вывода градуса") + @Title("Можем менять форматы вывода градусов") @ru.yandex.qatools.allure.annotations.TestCaseId("9") public void shouldSeeChangeFormatDegree() { - defaultSteps.openMainPageWithCity(SPB); - defaultSteps.shouldSeeTemperatureCelcium(); - defaultSteps.shouldSeeChangeFormatDegreeCelciumToKelvin(); - defaultSteps.shouldSeeChangeFormatDegreeKelvinToFarengeit(); - defaultSteps.shouldSeeChangeFormatDegreeFarengeitToKaif(); + defaultSteps.shouldSeeChangeFormatTemperature(); } - - - } diff --git a/steps-module/src/main/java/ru/qatools/school/pages/MainPageMethods.java b/steps-module/src/main/java/ru/qatools/school/pages/MainPageMethods.java index a805e5f..043eb10 100644 --- a/steps-module/src/main/java/ru/qatools/school/pages/MainPageMethods.java +++ b/steps-module/src/main/java/ru/qatools/school/pages/MainPageMethods.java @@ -107,7 +107,7 @@ protected boolean matchesSafely(String word, Description mismatch) { for (WebElement widget : list) { if (widget.getText().equals(word)) { mismatch.appendText("return string was ") - .appendValue(widget.getText()); + .appendText(widget.getText()); return true; } } 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 3d7844a..c7272b7 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 @@ -5,6 +5,10 @@ import ru.qatools.school.pages.MainPage; import ru.qatools.school.pages.MainPageMethods; import ru.yandex.qatools.allure.annotations.Step; +import ru.yandex.qatools.htmlelements.element.HtmlElement; + +import java.util.Arrays; +import java.util.Collections; import static java.lang.String.format; import static org.hamcrest.core.Is.is; @@ -20,19 +24,6 @@ public class DefaultSteps { public static final String MAIN_PAGE = "http://weather.lanwen.ru/#?cities=%s"; private static final String MAIN_PAGE_WITHOUT_PARAMETERS = "http://weather.lanwen.ru/"; private static final String NEW_WIDGET = "What a city?"; - private static final String CELCIUM = "°C"; - private static final String KELVIN = "°K"; - private static final String FARINGEIT = "°F"; - private static final String KAIF = "°Kaif"; - private static final String SUNRISE = "Sunrise"; - private static final String SUNSET = "Sunset"; - private static final String WIND = "Wind"; - private static final String HUMIDITY = "Humidity"; - private static final String SUNRISE_TIME = "^[0-2][0-9]:[0-5][0-9]$"; - private static final String SUNSET_TIME = "^[0-2][0-9]:[0-5][0-9]$"; - private static final String WIND_SPEED = "^[0-9]+ m/s"; - private static final String HUMIDITY_VALUE = "^[0-9]+ %"; - private WebDriver driver; @@ -51,8 +42,10 @@ public void openMainPageWithoutParameter() { } @Step("Должны видеть на странице «{0}»") - public void shouldSee(WebElement element) { - assertThat("Должны видеть элемент", element, isDisplayed()); + public void shouldSee(WebElement...elements) { + for (WebElement element : elements) { + assertThat("Не отображается элемент " + element.getText(), element, isDisplayed()); + } } @Step("Заголовок виджета должен совпадать с запрошенным городом") @@ -68,13 +61,12 @@ public void addWidgetOnMainPage(String city) { @Step("На главной странице без виджетов отображается кнопка добавить виджет") public void shouldSeeButtonAddWidgetOnMainPage() { - assertThat("На главной странице нет кнопки добавит виджет", - mainPageMethods().getMainPage().getAddWidget(), isDisplayed()); + shouldSee(mainPageMethods().getMainPage().getAddWidget()); } @Step("На главной странице должна быть только кнопка добавления города") public void shouldSeeOnlyButtonAddWidget() { - assertThat("На главной странице только кнопка добавления виджета", + assertThat("На главной странице есть виджеты", mainPageMethods().getAllWidgets().size(), is(0)); } @@ -87,7 +79,9 @@ public void shouldSeeButtonOnlyAddWidgetOnMainPageWithoutParameter() { @Step("На главной странице переименование название виджета") public void shouldSeeRenameWidget(String oldName, String newName) { mainPageMethods().renameWidget(oldName, newName); - assertThat("Widget has", newName, is(mainPageMethods().hasItem(mainPageMethods().getAllPlaces()))); + shouldSee(mainPageMethods().findElement(mainPageMethods().getAllPlaces(), newName)); + assertThat("Новый виджет в списке виджетов не найден", newName, + mainPageMethods().hasItem(mainPageMethods().getAllPlaces())); } @Step("На главной странице виджеты добавляются") @@ -113,108 +107,10 @@ public void shouldAutocompliteCity(String city) { mainPageMethods().getAllPlaces().get(0).getText(), equalTo(city)); } - @Step("Должны увидеть изменение формата вывода градусов") - public void shouldSeeChangeFormatDegreeCelciumToKelvin() { - mainPageMethods().getAllWidgets().get(0).getWeatherBlock().click(); - assertThat("Не произошло преобразование градусов цельсия в градусы кельвина", - mainPageMethods().getAllWidgets().get(0).getWeatherType().getText(), equalTo(KELVIN)); - } - - @Step("Должны увидеть изменение формата вывода градусов") - public void shouldSeeChangeFormatDegreeKelvinToFarengeit() { - mainPageMethods().getAllWidgets().get(0).getWeatherBlock().click(); - assertThat("Не произошло преобразование градусов в кельвинах в градусы фаренгейта", - mainPageMethods().getAllWidgets().get(0).getWeatherType().getText(), equalTo(FARINGEIT)); - } - - @Step("Должны увидеть изменение формата вывода градусов") - public void shouldSeeChangeFormatDegreeFarengeitToKaif() { - mainPageMethods().getAllWidgets().get(0).getWeatherBlock().click(); - assertThat("Не произошло преобразование градусов фаренгейта в градусы °Kaif", - mainPageMethods().getAllWidgets().get(0).getWeatherType().getText(), equalTo(KAIF)); - } - - @Step("Начальное открытие виджета, единица измерений температуры Цельсий") - public void shouldSeeTemperatureCelcium() { - assertThat("Начальное значение температуры не в Цельсиях", - mainPageMethods().getAllWidgets().get(0).getWeatherType().getText(), equalTo(CELCIUM)); - } - - @Step("Должны увидеть надпись показателя рассвета") - public void shouldSeeTitleSunrise() { - assertThat("Заголовка показателя рассвета нет на главной странице", SUNRISE, - mainPageMethods().hasItem(mainPageMethods().getTitleValues())); - assertThat("Заголовок показателя рассвета не отображается на главной странице", - mainPageMethods().findElement(mainPageMethods().getTitleValues(), SUNRISE), isDisplayed()); - } - - @Step("Должны увидеть надпись показателя заката") - public void shouldSeeTitleSunset() { - assertThat("Заголовка показателя рассвета нет на главной странице", SUNSET, - mainPageMethods().hasItem(mainPageMethods().getTitleValues())); - assertThat("Заголовок показателя рассвета не отображается на главной странице", - mainPageMethods().findElement(mainPageMethods().getTitleValues(), SUNSET), isDisplayed()); - } - - @Step("Должны увидеть надпись показателя скорости ветра") - public void shouldSeeTitleWind() { - assertThat("Заголовка показателя рассвета нет на главной странице", WIND, - mainPageMethods().hasItem(mainPageMethods().getTitleValues())); - assertThat("Заголовок показателя рассвета не отображается на главной странице", - mainPageMethods().findElement(mainPageMethods().getTitleValues(), WIND), isDisplayed()); - } - - @Step("Должны увидеть надпись показателя влажности") - public void shouldSeeTitleHumidity() { - assertThat("Заголовка показателя рассвета нет на главной странице", HUMIDITY, - mainPageMethods().hasItem(mainPageMethods().getTitleValues())); - assertThat("Заголовок показателя рассвета не отображается на главной странице", - mainPageMethods().findElement(mainPageMethods().getTitleValues(), HUMIDITY), isDisplayed()); - } - - @Step("Должны увидеть картинку для показателя рассвета") - public void shouldSeeImageSunrise() { - assertThat("Картинка показателя рассвета не отображается",onMainPage().getSunrise(), isDisplayed()); - } - - @Step("Должны увидеть картинку для показателя заката") - public void shouldSeeImageSunset() { - assertThat("Картинка показателя заката не отображается", onMainPage().getSunset(), isDisplayed()); - } - - @Step("Должны увидеть картинку для показателя скорости ветра") - public void shouldSeeImageWind() { - assertThat("Картинка показателя скорости ветра не отображается", onMainPage().getWind(), isDisplayed()); - } - - @Step("Должны увидеть картинку для показателя влажности") - public void shouldSeeImageHumidity() { - assertThat("Картинка показателя влажности не отображается", onMainPage().getHumidity(), isDisplayed()); - } - - @Step("Формат времени для значения поля рассвет должен быть 'xx:xx'") - public void shouldSeeFormatTimeSunrise() { - assertThat("Формат времени для значения поля рассвет не 'xx:xx'", - mainPageMethods().getMainPage().getInfoValues().get(0).getText(), mainPageMethods().stringMatcher(SUNRISE_TIME)); - } - - @Step("Формат времени для значения поля закат должен быть 'xx:xx'") - public void shouldSeeFormatTimeSunset() { - assertThat("Формат времени для значения поля закат не 'xx:xx'", - onMainPage().getInfoValues().get(1).getText(), mainPageMethods().stringMatcher(SUNSET_TIME)); - } - - @Step("Формат времени для значения поля скорость ветра должен быть 'xx m/s'") - public void shouldSeeFormatSpeedWind() { - assertThat("Формат времени для значения поля скорость ветра не 'xx m/s'", - onMainPage().getInfoValues().get(2).getText(), mainPageMethods().stringMatcher(WIND_SPEED)); - } - - - @Step("Формат времени для значения поля влажность должен быть 'xx %'") - public void shouldSeeFormatHumidity() { - assertThat("Формат времени для значения поля влажность не 'xx %'", - onMainPage().getInfoValues().get(3).getText(), mainPageMethods().stringMatcher(HUMIDITY_VALUE)); + public void shouldSeeChangeFormatTemperature() { + widgetSteps().shouldSeeChangeFormatDegreeCelciumToKelvin(); + widgetSteps().shouldSeeChangeFormatDegreeKelvinToFarengeit(); + widgetSteps().shouldSeeChangeFormatDegreeFarengeitToKaif(); } private MainPage onMainPage() { @@ -224,4 +120,8 @@ private MainPage onMainPage() { private MainPageMethods mainPageMethods() { return new MainPageMethods(driver); } + + private WidgetSteps widgetSteps() { + return new WidgetSteps(driver); + } } 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..43e3990 --- /dev/null +++ b/steps-module/src/main/java/ru/qatools/school/steps/websteps/WidgetSteps.java @@ -0,0 +1,147 @@ +package ru.qatools.school.steps.websteps; + +import org.openqa.selenium.WebDriver; +import ru.qatools.school.pages.MainPage; +import ru.qatools.school.pages.MainPageMethods; +import ru.yandex.qatools.allure.annotations.Step; + +import static org.hamcrest.core.IsEqual.equalTo; +import static org.junit.Assert.assertThat; +import static ru.yandex.qatools.htmlelements.matchers.WebElementMatchers.isDisplayed; + +/** + * Created by merkushev.io on 22.04.2016. + */ +public class WidgetSteps { + private WebDriver driver; + + private static final String CELCIUM = "°C"; + private static final String KELVIN = "°K"; + private static final String FARINGEIT = "°F"; + private static final String KAIF = "°Kaif"; + private static final String SUNRISE = "Sunrise"; + private static final String SUNSET = "Sunset"; + private static final String WIND = "Wind"; + private static final String HUMIDITY = "Humidity"; + private static final String SUNRISE_TIME = "^[0-2][0-9]:[0-5][0-9]$"; + private static final String SUNSET_TIME = "^[0-2][0-9]:[0-5][0-9]$"; + private static final String WIND_SPEED = "^[0-9]+ m/s"; + private static final String HUMIDITY_VALUE = "^[0-9]{0-3} %"; + + public WidgetSteps(WebDriver driver) { + this.driver = driver; + } + + private MainPage onMainPage() { + return new MainPage(driver); + } + + private MainPageMethods mainPageMethods() { + return new MainPageMethods(driver); + } + + @Step("Должны увидеть изменение формата вывода градусов") + public void shouldSeeChangeFormatDegreeCelciumToKelvin() { + mainPageMethods().getAllWidgets().get(0).getWeatherBlock().click(); + assertThat("Не произошло преобразование градусов цельсия в градусы кельвина", + mainPageMethods().getAllWidgets().get(0).getWeatherType().getText(), equalTo(KELVIN)); + } + + @Step("Должны увидеть изменение формата вывода градусов") + public void shouldSeeChangeFormatDegreeKelvinToFarengeit() { + mainPageMethods().getAllWidgets().get(0).getWeatherBlock().click(); + assertThat("Не произошло преобразование градусов в кельвинах в градусы фаренгейта", + mainPageMethods().getAllWidgets().get(0).getWeatherType().getText(), equalTo(FARINGEIT)); + } + + @Step("Должны увидеть изменение формата вывода градусов") + public void shouldSeeChangeFormatDegreeFarengeitToKaif() { + mainPageMethods().getAllWidgets().get(0).getWeatherBlock().click(); + assertThat("Не произошло преобразование градусов фаренгейта в градусы °Kaif", + mainPageMethods().getAllWidgets().get(0).getWeatherType().getText(), equalTo(KAIF)); + } + + @Step("Начальное открытие виджета, единица измерений температуры Цельсий") + public void shouldSeeTemperatureCelcium() { + assertThat("Начальное значение температуры не в Цельсиях", + mainPageMethods().getAllWidgets().get(0).getWeatherType().getText(), equalTo(CELCIUM)); + } + + @Step("Начальное открытие виджета, отображение элементов") + public void shouldSeeTitleSunrise() { + assertThat("Заголовка показателя рассвета нет на главной странице", SUNRISE, + mainPageMethods().hasItem(mainPageMethods().getTitleValues())); + assertThat("Заголовок показателя рассвета не отображается на главной странице", + mainPageMethods().findElement(mainPageMethods().getTitleValues(), SUNRISE), isDisplayed()); + } + + @Step("Должны увидеть надпись показателя заката") + public void shouldSeeTitleSunset() { + assertThat("Заголовка показателя рассвета нет на главной странице", SUNSET, + mainPageMethods().hasItem(mainPageMethods().getTitleValues())); + assertThat("Заголовок показателя рассвета не отображается на главной странице", + mainPageMethods().findElement(mainPageMethods().getTitleValues(), SUNSET), isDisplayed()); + } + + @Step("Должны увидеть надпись показателя скорости ветра") + public void shouldSeeTitleWind() { + assertThat("Заголовка показателя рассвета нет на главной странице", WIND, + mainPageMethods().hasItem(mainPageMethods().getTitleValues())); + assertThat("Заголовок показателя рассвета не отображается на главной странице", + mainPageMethods().findElement(mainPageMethods().getTitleValues(), WIND), isDisplayed()); + } + + @Step("Должны увидеть надпись показателя влажности") + public void shouldSeeTitleHumidity() { + assertThat("Заголовка показателя рассвета нет на главной странице", HUMIDITY, + mainPageMethods().hasItem(mainPageMethods().getTitleValues())); + assertThat("Заголовок показателя рассвета не отображается на главной странице", + mainPageMethods().findElement(mainPageMethods().getTitleValues(), HUMIDITY), isDisplayed()); + } + + @Step("Должны увидеть картинку для показателя рассвета") + public void shouldSeeImageSunrise() { + assertThat("Картинка показателя рассвета не отображается",onMainPage().getSunrise(), isDisplayed()); + } + + @Step("Должны увидеть картинку для показателя заката") + public void shouldSeeImageSunset() { + assertThat("Картинка показателя заката не отображается", onMainPage().getSunset(), isDisplayed()); + } + + @Step("Должны увидеть картинку для показателя скорости ветра") + public void shouldSeeImageWind() { + assertThat("Картинка показателя скорости ветра не отображается", onMainPage().getWind(), isDisplayed()); + } + + @Step("Должны увидеть картинку для показателя влажности") + public void shouldSeeImageHumidity() { + assertThat("Картинка показателя влажности не отображается", onMainPage().getHumidity(), isDisplayed()); + } + + @Step("Формат времени для значения поля рассвет должен быть 'xx:xx'") + public void shouldSeeFormatTimeSunrise() { + assertThat("Формат времени для значения поля рассвет не 'xx:xx'", + mainPageMethods().getMainPage().getInfoValues().get(0).getText(), mainPageMethods().stringMatcher(SUNRISE_TIME)); + } + + @Step("Формат времени для значения поля закат должен быть 'xx:xx'") + public void shouldSeeFormatTimeSunset() { + assertThat("Формат времени для значения поля закат не 'xx:xx'", + onMainPage().getInfoValues().get(1).getText(), mainPageMethods().stringMatcher(SUNSET_TIME)); + } + + @Step("Формат времени для значения поля скорость ветра должен быть 'xx m/s'") + public void shouldSeeFormatSpeedWind() { + assertThat("Формат времени для значения поля скорость ветра не 'xx m/s'", + onMainPage().getInfoValues().get(2).getText(), mainPageMethods().stringMatcher(WIND_SPEED)); + } + + + @Step("Формат времени для значения поля влажность должен быть 'xx %'") + public void shouldSeeFormatHumidity() { + assertThat("Формат времени для значения поля влажность не 'xx %'", + onMainPage().getInfoValues().get(3).getText(), mainPageMethods().stringMatcher(HUMIDITY_VALUE)); + } + +} From 838ac4671ff34b182bf9174e5766731b91100ae0 Mon Sep 17 00:00:00 2001 From: "merkushev.io" Date: Fri, 22 Apr 2016 14:50:12 +0300 Subject: [PATCH 59/82] pom files restore --- commons-module/pom.xml | 25 ++++++++++ pom.xml | 104 ++++++++++++++++++++++++++++++++++++++--- steps-module/pom.xml | 33 +++++++++++++ 3 files changed, 156 insertions(+), 6 deletions(-) diff --git a/commons-module/pom.xml b/commons-module/pom.xml index 1a9a2b0..2aa0e8a 100644 --- a/commons-module/pom.xml +++ b/commons-module/pom.xml @@ -20,6 +20,31 @@ steps-module ${project.version} + + com.tngtech.java + junit-dataprovider + 1.10.4 + test + + + + + org.apache.maven.plugins + maven-surefire-plugin + + + + + + true + + + ru.yandex.qatools.allure + allure-maven-plugin + 2.0 + + + diff --git a/pom.xml b/pom.xml index 8d7e478..259eb88 100644 --- a/pom.xml +++ b/pom.xml @@ -1,21 +1,30 @@ - 4.0.0 ru.qatools.school school-2016 - pom 1.0-SNAPSHOT + pom + + Automation Foreva + First automation project ever steps-module commons-module - Automation Foreva - First automation project ever + + 1.8 + + 1.4.23 + 2.53.0 + 1.15 + 1.8.5 + @@ -25,4 +34,87 @@ - + + + + + + com.jayway.restassured + rest-assured + 2.9.0 + + + + ru.yandex.qatools.allure + allure-junit-adaptor + ${allure.version} + + + org.seleniumhq.selenium + selenium-java + ${selenium.version} + + + ru.yandex.qatools.htmlelements + htmlelements-java + ${htmlelements.version} + + + org.apache.commons + commons-lang3 + 3.4 + + + org.hamcrest + hamcrest-all + 1.3 + + + ru.yandex.qatools.htmlelements + htmlelements-matchers + 1.12 + + + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.0 + + ${compiler.version} + ${compiler.version} + + + + org.apache.maven.plugins + maven-surefire-plugin + 2.18.1 + + + -javaagent:"${settings.localRepository}/org/aspectj/aspectjweaver/${aspectj.version}/aspectjweaver-${aspectj.version}.jar" + + + + listener + ru.yandex.qatools.allure.junit.AllureRunListener + + + + + + org.aspectj + aspectjweaver + ${aspectj.version} + + + + + + + + + \ No newline at end of file diff --git a/steps-module/pom.xml b/steps-module/pom.xml index f69439b..c8d18cc 100644 --- a/steps-module/pom.xml +++ b/steps-module/pom.xml @@ -14,4 +14,37 @@ steps-module Logic Module + + + ru.yandex.qatools.allure + allure-junit-adaptor + + + org.seleniumhq.selenium + selenium-java + + + ru.yandex.qatools.htmlelements + htmlelements-java + + + org.apache.commons + commons-lang3 + + + org.hamcrest + hamcrest-all + + + ru.yandex.qatools.htmlelements + htmlelements-matchers + + + + com.jayway.restassured + rest-assured + + + + From b6b2392bbe16cf0424d2d671fa1df2f3918c2c61 Mon Sep 17 00:00:00 2001 From: "merkushev.io" Date: Fri, 22 Apr 2016 15:37:48 +0300 Subject: [PATCH 60/82] refactor test, add test view elements widget --- .../school/webtests/WeatherWebTest.java | 7 ++- .../school/steps/websteps/DefaultSteps.java | 19 ++++-- .../school/steps/websteps/WidgetSteps.java | 62 +------------------ 3 files changed, 20 insertions(+), 68 deletions(-) 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 88d1a2f..20f50de 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 @@ -47,8 +47,8 @@ public void shouldSeeWidgetOnMainPage() { @Title("Должны увидеть элементы виджета") @ru.yandex.qatools.allure.annotations.TestCaseId("1") public void shouldSeeElements() { - defaultSteps.openMainPageWithCity(MOSCOW); - // Дописать проверку для отоброжания элементов на виджете используя метод shouldSee(Array elements) + defaultSteps.openMainPageWithCity(SPB); + defaultSteps.shouldSeeWidgetElements(); } @Test @@ -56,7 +56,7 @@ public void shouldSeeElements() { @ru.yandex.qatools.allure.annotations.TestCaseId("1") public void shouldSeeButtonOnMainPage() { defaultSteps.openMainPageWithCity(""); - defaultSteps.shouldSee(onMainPage().getAddWidget()); + defaultSteps.shouldSeeButtonAddWidgetOnMainPage(); defaultSteps.shouldSeeOnlyButtonAddWidget(); } @@ -123,6 +123,7 @@ public void shouldSeeNotFullNameWidget() { @Title("Можем менять форматы вывода градусов") @ru.yandex.qatools.allure.annotations.TestCaseId("9") public void shouldSeeChangeFormatDegree() { + defaultSteps.openMainPageWithCity(SPB); defaultSteps.shouldSeeChangeFormatTemperature(); } 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 c7272b7..7f4c2fd 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 @@ -5,11 +5,6 @@ import ru.qatools.school.pages.MainPage; import ru.qatools.school.pages.MainPageMethods; import ru.yandex.qatools.allure.annotations.Step; -import ru.yandex.qatools.htmlelements.element.HtmlElement; - -import java.util.Arrays; -import java.util.Collections; - import static java.lang.String.format; import static org.hamcrest.core.Is.is; import static org.hamcrest.core.IsEqual.equalTo; @@ -107,12 +102,26 @@ public void shouldAutocompliteCity(String city) { mainPageMethods().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()); + shouldSee(onMainPage().getSunrise()); + shouldSee(onMainPage().getSunset()); + shouldSee(onMainPage().getWind()); + widgetSteps().shouldSeeFormatTimeSunrise(); + widgetSteps().shouldSeeFormatTimeSunset(); + widgetSteps().shouldSeeFormatSpeedWind(); + widgetSteps().shouldSeeFormatHumidity(); + } + private MainPage onMainPage() { return new MainPage(driver); } 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 index 43e3990..d60078d 100644 --- 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 @@ -4,10 +4,8 @@ import ru.qatools.school.pages.MainPage; import ru.qatools.school.pages.MainPageMethods; import ru.yandex.qatools.allure.annotations.Step; - import static org.hamcrest.core.IsEqual.equalTo; import static org.junit.Assert.assertThat; -import static ru.yandex.qatools.htmlelements.matchers.WebElementMatchers.isDisplayed; /** * Created by merkushev.io on 22.04.2016. @@ -19,14 +17,10 @@ public class WidgetSteps { private static final String KELVIN = "°K"; private static final String FARINGEIT = "°F"; private static final String KAIF = "°Kaif"; - private static final String SUNRISE = "Sunrise"; - private static final String SUNSET = "Sunset"; - private static final String WIND = "Wind"; - private static final String HUMIDITY = "Humidity"; private static final String SUNRISE_TIME = "^[0-2][0-9]:[0-5][0-9]$"; private static final String SUNSET_TIME = "^[0-2][0-9]:[0-5][0-9]$"; - private static final String WIND_SPEED = "^[0-9]+ m/s"; - private static final String HUMIDITY_VALUE = "^[0-9]{0-3} %"; + private static final String WIND_SPEED = "^[0-9]+.?[0-9]+ m/s"; + private static final String HUMIDITY_VALUE = "^[0-9]+ %"; public WidgetSteps(WebDriver driver) { this.driver = driver; @@ -67,58 +61,6 @@ public void shouldSeeTemperatureCelcium() { mainPageMethods().getAllWidgets().get(0).getWeatherType().getText(), equalTo(CELCIUM)); } - @Step("Начальное открытие виджета, отображение элементов") - public void shouldSeeTitleSunrise() { - assertThat("Заголовка показателя рассвета нет на главной странице", SUNRISE, - mainPageMethods().hasItem(mainPageMethods().getTitleValues())); - assertThat("Заголовок показателя рассвета не отображается на главной странице", - mainPageMethods().findElement(mainPageMethods().getTitleValues(), SUNRISE), isDisplayed()); - } - - @Step("Должны увидеть надпись показателя заката") - public void shouldSeeTitleSunset() { - assertThat("Заголовка показателя рассвета нет на главной странице", SUNSET, - mainPageMethods().hasItem(mainPageMethods().getTitleValues())); - assertThat("Заголовок показателя рассвета не отображается на главной странице", - mainPageMethods().findElement(mainPageMethods().getTitleValues(), SUNSET), isDisplayed()); - } - - @Step("Должны увидеть надпись показателя скорости ветра") - public void shouldSeeTitleWind() { - assertThat("Заголовка показателя рассвета нет на главной странице", WIND, - mainPageMethods().hasItem(mainPageMethods().getTitleValues())); - assertThat("Заголовок показателя рассвета не отображается на главной странице", - mainPageMethods().findElement(mainPageMethods().getTitleValues(), WIND), isDisplayed()); - } - - @Step("Должны увидеть надпись показателя влажности") - public void shouldSeeTitleHumidity() { - assertThat("Заголовка показателя рассвета нет на главной странице", HUMIDITY, - mainPageMethods().hasItem(mainPageMethods().getTitleValues())); - assertThat("Заголовок показателя рассвета не отображается на главной странице", - mainPageMethods().findElement(mainPageMethods().getTitleValues(), HUMIDITY), isDisplayed()); - } - - @Step("Должны увидеть картинку для показателя рассвета") - public void shouldSeeImageSunrise() { - assertThat("Картинка показателя рассвета не отображается",onMainPage().getSunrise(), isDisplayed()); - } - - @Step("Должны увидеть картинку для показателя заката") - public void shouldSeeImageSunset() { - assertThat("Картинка показателя заката не отображается", onMainPage().getSunset(), isDisplayed()); - } - - @Step("Должны увидеть картинку для показателя скорости ветра") - public void shouldSeeImageWind() { - assertThat("Картинка показателя скорости ветра не отображается", onMainPage().getWind(), isDisplayed()); - } - - @Step("Должны увидеть картинку для показателя влажности") - public void shouldSeeImageHumidity() { - assertThat("Картинка показателя влажности не отображается", onMainPage().getHumidity(), isDisplayed()); - } - @Step("Формат времени для значения поля рассвет должен быть 'xx:xx'") public void shouldSeeFormatTimeSunrise() { assertThat("Формат времени для значения поля рассвет не 'xx:xx'", From 8d55c36fe5924a61be036efba3236e12e3ef2366 Mon Sep 17 00:00:00 2001 From: "merkushev.io" Date: Fri, 22 Apr 2016 16:20:48 +0300 Subject: [PATCH 61/82] full test completed --- .../java/ru/qatools/school/webtests/WeatherWebTest.java | 6 ++---- .../main/java/ru/qatools/school/pages/MainPageMethods.java | 2 +- .../java/ru/qatools/school/steps/websteps/DefaultSteps.java | 2 +- 3 files changed, 4 insertions(+), 6 deletions(-) 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 20f50de..b57046b 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 @@ -3,11 +3,9 @@ import org.junit.Before; import org.junit.Rule; import org.junit.Test; -import org.openqa.selenium.WebElement; import ru.qatools.school.pages.MainPage; import ru.qatools.school.rules.WebDriverRule; import ru.qatools.school.steps.websteps.DefaultSteps; -import ru.qatools.school.steps.websteps.WidgetSteps; import ru.qatools.school.tp.TPInformerRule; import ru.yandex.qatools.allure.annotations.Title; @@ -21,8 +19,8 @@ public class WeatherWebTest { @Rule public WebDriverRule webDriverRule = new WebDriverRule(); -// @Rule -// public TPInformerRule tms = new TPInformerRule("merkushevio"); + @Rule + public TPInformerRule tms = new TPInformerRule("merkushevio"); @Before diff --git a/steps-module/src/main/java/ru/qatools/school/pages/MainPageMethods.java b/steps-module/src/main/java/ru/qatools/school/pages/MainPageMethods.java index 043eb10..3f6fc7a 100644 --- a/steps-module/src/main/java/ru/qatools/school/pages/MainPageMethods.java +++ b/steps-module/src/main/java/ru/qatools/school/pages/MainPageMethods.java @@ -35,7 +35,7 @@ public void addWidget() { public WebElement findElement(List list, String name) { for (WebElement element : list) { - if (element.getText().equalsIgnoreCase(name)) { + if (element.getText().equals(name)) { return element; } } 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 7f4c2fd..4d76971 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 @@ -76,7 +76,7 @@ public void shouldSeeRenameWidget(String oldName, String newName) { mainPageMethods().renameWidget(oldName, newName); shouldSee(mainPageMethods().findElement(mainPageMethods().getAllPlaces(), newName)); assertThat("Новый виджет в списке виджетов не найден", newName, - mainPageMethods().hasItem(mainPageMethods().getAllPlaces())); + equalTo(mainPageMethods().findElement(onMainPage().getPlaces(), newName))); } @Step("На главной странице виджеты добавляются") From 63c9944d4091fb31a9938007cfbeab1c4229aaaa Mon Sep 17 00:00:00 2001 From: Igor Merkushev Date: Tue, 26 Apr 2016 13:52:58 +0300 Subject: [PATCH 62/82] refactor tests, add WidgetSteps, refactor MainPageMethods --- .../ru/qatools/school/webtests/WeatherWebTest.java | 6 +++--- .../ru/qatools/school/pages/MainPageMethods.java | 13 ++++--------- .../qatools/school/steps/websteps/DefaultSteps.java | 11 ++++++++--- .../qatools/school/steps/websteps/WidgetSteps.java | 4 ++-- 4 files changed, 17 insertions(+), 17 deletions(-) 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 b57046b..b4283fa 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 @@ -19,8 +19,8 @@ public class WeatherWebTest { @Rule public WebDriverRule webDriverRule = new WebDriverRule(); - @Rule - public TPInformerRule tms = new TPInformerRule("merkushevio"); + //@Rule + //public TPInformerRule tms = new TPInformerRule("merkushevio"); @Before @@ -45,7 +45,7 @@ public void shouldSeeWidgetOnMainPage() { @Title("Должны увидеть элементы виджета") @ru.yandex.qatools.allure.annotations.TestCaseId("1") public void shouldSeeElements() { - defaultSteps.openMainPageWithCity(SPB); + defaultSteps.openMainPageWithCity(MOSCOW); defaultSteps.shouldSeeWidgetElements(); } diff --git a/steps-module/src/main/java/ru/qatools/school/pages/MainPageMethods.java b/steps-module/src/main/java/ru/qatools/school/pages/MainPageMethods.java index 3f6fc7a..7fce41b 100644 --- a/steps-module/src/main/java/ru/qatools/school/pages/MainPageMethods.java +++ b/steps-module/src/main/java/ru/qatools/school/pages/MainPageMethods.java @@ -23,12 +23,6 @@ public void clickOnElement(WebElement element) { element.click(); } - public void sendChars(WebElement element, String text) { - element.clear(); - element.sendKeys(text); - element.sendKeys(Keys.RETURN); - } - public void addWidget() { mainPage.getAddWidget().click(); } @@ -43,9 +37,10 @@ public WebElement findElement(List list, String name) { } public void renameWidget(String oldName, String newName) { - WebElement element = findElement(getAllPlaces(), oldName); - clickOnElement(element); - sendChars(mainPage.getEditPlace(), newName); + findElement(getAllPlaces(), oldName).click(); + mainPage.getEditPlace().clear(); + mainPage.getEditPlace().sendKeys(newName); + mainPage.getEditPlace().sendKeys(Keys.RETURN); } public int countWidgets() { 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 4d76971..4903019 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 @@ -5,6 +5,9 @@ import ru.qatools.school.pages.MainPage; import ru.qatools.school.pages.MainPageMethods; import ru.yandex.qatools.allure.annotations.Step; + +import java.util.Collections; + import static java.lang.String.format; import static org.hamcrest.core.Is.is; import static org.hamcrest.core.IsEqual.equalTo; @@ -39,7 +42,9 @@ public void openMainPageWithoutParameter() { @Step("Должны видеть на странице «{0}»") public void shouldSee(WebElement...elements) { for (WebElement element : elements) { - assertThat("Не отображается элемент " + element.getText(), element, isDisplayed()); + assertThat("Не отображается элемент: " + element.getAttribute("class") + + " and value: " + element.getAttribute("value"), + element, isDisplayed()); } } @@ -75,8 +80,8 @@ public void shouldSeeButtonOnlyAddWidgetOnMainPageWithoutParameter() { public void shouldSeeRenameWidget(String oldName, String newName) { mainPageMethods().renameWidget(oldName, newName); shouldSee(mainPageMethods().findElement(mainPageMethods().getAllPlaces(), newName)); - assertThat("Новый виджет в списке виджетов не найден", newName, - equalTo(mainPageMethods().findElement(onMainPage().getPlaces(), newName))); + assertThat("Новое название в списке названий виджетов не найдено", newName, + equalTo(mainPageMethods().getAllPlaces().get(0).getText())); } @Step("На главной странице виджеты добавляются") 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 index d60078d..95c7e41 100644 --- 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 @@ -8,7 +8,7 @@ import static org.junit.Assert.assertThat; /** - * Created by merkushev.io on 22.04.2016. + * Created by merkushevio on 22.04.2016. */ public class WidgetSteps { private WebDriver driver; @@ -19,7 +19,7 @@ public class WidgetSteps { private static final String KAIF = "°Kaif"; private static final String SUNRISE_TIME = "^[0-2][0-9]:[0-5][0-9]$"; private static final String SUNSET_TIME = "^[0-2][0-9]:[0-5][0-9]$"; - private static final String WIND_SPEED = "^[0-9]+.?[0-9]+ m/s"; + private static final String WIND_SPEED = "^\\d m/s"; private static final String HUMIDITY_VALUE = "^[0-9]+ %"; public WidgetSteps(WebDriver driver) { From 6eda7c38fc0bbb2efb419b810712735963733368 Mon Sep 17 00:00:00 2001 From: Igor Merkushev Date: Tue, 26 Apr 2016 13:53:29 +0300 Subject: [PATCH 63/82] enable Rule for TestPalm --- .../test/java/ru/qatools/school/webtests/WeatherWebTest.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 b4283fa..afa92dd 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 @@ -19,8 +19,8 @@ public class WeatherWebTest { @Rule public WebDriverRule webDriverRule = new WebDriverRule(); - //@Rule - //public TPInformerRule tms = new TPInformerRule("merkushevio"); + @Rule + public TPInformerRule tms = new TPInformerRule("merkushevio"); @Before From e0c49eb74a3baf830a298d25e38c46a47aa11c3b Mon Sep 17 00:00:00 2001 From: Igor Merkushev Date: Tue, 26 Apr 2016 23:29:07 +0300 Subject: [PATCH 64/82] init WebAPI test --- api-tests-module/pom.xml | 63 +++++++++++++++++++ .../webapi/restassured/WeatherWebApiRest.java | 20 ++++++ .../retrofit/WeatherWebApiRetrofit.java | 9 +++ pom.xml | 1 + .../ru/qatools/school/rules/WebApiRule.java | 4 ++ .../school/steps/websteps/DefaultSteps.java | 2 +- 6 files changed, 98 insertions(+), 1 deletion(-) create mode 100644 api-tests-module/pom.xml create mode 100644 api-tests-module/src/test/java/ru/qatools/school/webapi/restassured/WeatherWebApiRest.java create mode 100644 api-tests-module/src/test/java/ru/qatools/school/webapi/retrofit/WeatherWebApiRetrofit.java create mode 100644 steps-module/src/main/java/ru/qatools/school/rules/WebApiRule.java diff --git a/api-tests-module/pom.xml b/api-tests-module/pom.xml new file mode 100644 index 0000000..bb02110 --- /dev/null +++ b/api-tests-module/pom.xml @@ -0,0 +1,63 @@ + + + + school-2016 + ru.qatools.school + 1.0-SNAPSHOT + + 4.0.0 + jar + + + api-tests-module + + + + ru.qatools.school + steps-module + ${project.version} + + + com.tngtech.java + junit-dataprovider + 1.10.4 + test + + + com.squareup.retrofit + retrofit + 2.0.0-beta2 + test + + + com.jayway.restassured + rest-assured + 2.9.0 + test + + + + + + + + org.apache.maven.plugins + maven-surefire-plugin + + + + + + true + + + ru.yandex.qatools.allure + allure-maven-plugin + 2.0 + + + + + \ No newline at end of file diff --git a/api-tests-module/src/test/java/ru/qatools/school/webapi/restassured/WeatherWebApiRest.java b/api-tests-module/src/test/java/ru/qatools/school/webapi/restassured/WeatherWebApiRest.java new file mode 100644 index 0000000..ae2a0d5 --- /dev/null +++ b/api-tests-module/src/test/java/ru/qatools/school/webapi/restassured/WeatherWebApiRest.java @@ -0,0 +1,20 @@ +package ru.qatools.school.webapi.restassured; + +import com.jayway.restassured.RestAssured.*; +import com.jayway.restassured.matcher.RestAssuredMatchers.*; +import org.hamcrest.Matchers.*; +import org.junit.Test; +import ru.yandex.qatools.allure.annotations.Title; + + +public class WeatherWebApiRest { + + @Test + @Title("Проверяем GET /cities") + public void shouldSeeAllCitiesRecords() { + + } + +} + + diff --git a/api-tests-module/src/test/java/ru/qatools/school/webapi/retrofit/WeatherWebApiRetrofit.java b/api-tests-module/src/test/java/ru/qatools/school/webapi/retrofit/WeatherWebApiRetrofit.java new file mode 100644 index 0000000..8049287 --- /dev/null +++ b/api-tests-module/src/test/java/ru/qatools/school/webapi/retrofit/WeatherWebApiRetrofit.java @@ -0,0 +1,9 @@ +package ru.qatools.school.webapi.retrofit; + + + +public class WeatherWebApiRetrofit { + + + +} diff --git a/pom.xml b/pom.xml index 259eb88..86b15ac 100644 --- a/pom.xml +++ b/pom.xml @@ -15,6 +15,7 @@ steps-module commons-module + api-tests-module diff --git a/steps-module/src/main/java/ru/qatools/school/rules/WebApiRule.java b/steps-module/src/main/java/ru/qatools/school/rules/WebApiRule.java new file mode 100644 index 0000000..5ddc0e7 --- /dev/null +++ b/steps-module/src/main/java/ru/qatools/school/rules/WebApiRule.java @@ -0,0 +1,4 @@ +package ru.qatools.school.rules; + +public class WebApiRule { +} 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 4903019..e8f974a 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 @@ -20,7 +20,7 @@ public class DefaultSteps { public static final String MAIN_PAGE = "http://weather.lanwen.ru/#?cities=%s"; - private static final String MAIN_PAGE_WITHOUT_PARAMETERS = "http://weather.lanwen.ru/"; + public static final String MAIN_PAGE_WITHOUT_PARAMETERS = "http://weather.lanwen.ru/"; private static final String NEW_WIDGET = "What a city?"; private WebDriver driver; From 53b0385530e23a4ff6c865e71966f1e58bb9fe25 Mon Sep 17 00:00:00 2001 From: "merkushev.io" Date: Wed, 27 Apr 2016 10:58:16 +0300 Subject: [PATCH 65/82] refactor DefaultSteps, MainPageMethod, WeatherWebTest --- .../school/webtests/WeatherWebTest.java | 40 ++++++++++--------- .../qatools/school/pages/MainPageMethods.java | 4 -- .../school/steps/websteps/DefaultSteps.java | 23 ++++------- 3 files changed, 29 insertions(+), 38 deletions(-) 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 afa92dd..752ef82 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 @@ -14,6 +14,7 @@ public class WeatherWebTest { private static final String MOSCOW = "Moscow"; private static final String SPB = "Saint Petersburg"; + private static final String NEW_WIDGET = "What a city?"; private DefaultSteps defaultSteps; @@ -39,19 +40,12 @@ public void shouldSeeWidgetOnMainPage() { defaultSteps.openMainPageWithCity(MOSCOW); defaultSteps.shouldSee(onMainPage().getWeatherWidgets().get(0)); defaultSteps.shouldSeeTitleWidgetEqualCity(MOSCOW); - } - - @Test - @Title("Должны увидеть элементы виджета") - @ru.yandex.qatools.allure.annotations.TestCaseId("1") - public void shouldSeeElements() { - defaultSteps.openMainPageWithCity(MOSCOW); defaultSteps.shouldSeeWidgetElements(); } @Test @Title("Должны увидеть главную страницу только с кнопокой добавить виджет") - @ru.yandex.qatools.allure.annotations.TestCaseId("1") + @ru.yandex.qatools.allure.annotations.TestCaseId("2") public void shouldSeeButtonOnMainPage() { defaultSteps.openMainPageWithCity(""); defaultSteps.shouldSeeButtonAddWidgetOnMainPage(); @@ -60,7 +54,7 @@ public void shouldSeeButtonOnMainPage() { @Test @Title("Должны увидеть главную страницу только с кнопкой добавить виджет") - @ru.yandex.qatools.allure.annotations.TestCaseId("1") + @ru.yandex.qatools.allure.annotations.TestCaseId("3") public void shouldSeeButtonAddWidgetOnMainPageWithoutParameter() { defaultSteps.shouldSeeButtonOnlyAddWidgetOnMainPageWithoutParameter(); defaultSteps.shouldSeeOnlyButtonAddWidget(); @@ -68,24 +62,32 @@ public void shouldSeeButtonAddWidgetOnMainPageWithoutParameter() { @Test @Title("Можем добавлять виджет на главной странице") - @ru.yandex.qatools.allure.annotations.TestCaseId("2") + @ru.yandex.qatools.allure.annotations.TestCaseId("4") public void shouldSeeAddWidgetOnMainPage() { defaultSteps.openMainPageWithCity(MOSCOW); - defaultSteps.shouldSeeWidgetAdd(SPB); + defaultSteps.shouldSeeWidgetAdd(); } @Test - @Title("Может удалить виджет на главной странице") - @ru.yandex.qatools.allure.annotations.TestCaseId("3") - public void shouldSeeRemoveWidgetOnMainPage() { + @Title("Можем удалить второй виджет на главной странице") + @ru.yandex.qatools.allure.annotations.TestCaseId("9") + public void shouldSeeRemoveSecondWidgetOnMainPage() { defaultSteps.openMainPageWithCity(SPB); - defaultSteps.addWidgetOnMainPage(MOSCOW); + defaultSteps.shouldSeeWidgetAdd(); defaultSteps.shouldSeeWidgetRemove(); } @Test - @Title("Должны увидеть автозаполнение при не полном наборе названия виджета") + @Title("Может удалить последний виджет на главной странице") @ru.yandex.qatools.allure.annotations.TestCaseId("10") + public void shouldSeeRemoveLastWidgetOnMainPage() { + defaultSteps.openMainPageWithCity(SPB); + defaultSteps.shouldSeeWidgetRemove(); + } + + @Test + @Title("Должны увидеть автозаполнение при не полном наборе названия виджета") + @ru.yandex.qatools.allure.annotations.TestCaseId("12") public void shouldAutoCompleteCity() { defaultSteps.openMainPageWithCity(MOSCOW); defaultSteps.shouldAutocompliteCity(SPB); @@ -93,7 +95,7 @@ public void shouldAutoCompleteCity() { @Test @Title("Можем переименовать виджет") - @ru.yandex.qatools.allure.annotations.TestCaseId("4") + @ru.yandex.qatools.allure.annotations.TestCaseId("11") public void shouldSeeRenameWidget() { defaultSteps.openMainPageWithCity(MOSCOW); defaultSteps.shouldSeeRenameWidget(MOSCOW, SPB); @@ -101,7 +103,7 @@ public void shouldSeeRenameWidget() { @Test @Title("Можем очистить название, после чего назначить нове имя") - @ru.yandex.qatools.allure.annotations.TestCaseId("4") + @ru.yandex.qatools.allure.annotations.TestCaseId("13") public void shouldSeeClearWidgetName() { defaultSteps.openMainPageWithCity(SPB); defaultSteps.shouldSeeRenameWidget(SPB, ""); @@ -110,7 +112,7 @@ public void shouldSeeClearWidgetName() { @Test @Title("Можем написать не не полное имя виджета") - @ru.yandex.qatools.allure.annotations.TestCaseId("4") + @ru.yandex.qatools.allure.annotations.TestCaseId("14") public void shouldSeeNotFullNameWidget() { defaultSteps.openMainPageWithCity(MOSCOW); defaultSteps.shouldSeeRenameWidget(MOSCOW, SPB.substring(0, SPB.length() / 3)); diff --git a/steps-module/src/main/java/ru/qatools/school/pages/MainPageMethods.java b/steps-module/src/main/java/ru/qatools/school/pages/MainPageMethods.java index 7fce41b..6c5cd24 100644 --- a/steps-module/src/main/java/ru/qatools/school/pages/MainPageMethods.java +++ b/steps-module/src/main/java/ru/qatools/school/pages/MainPageMethods.java @@ -19,10 +19,6 @@ public MainPageMethods(WebDriver driver) { mainPage = new MainPage(driver); } - public void clickOnElement(WebElement element) { - element.click(); - } - public void addWidget() { mainPage.getAddWidget().click(); } 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 e8f974a..d714e95 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 @@ -21,7 +21,7 @@ public class DefaultSteps { public static final String MAIN_PAGE = "http://weather.lanwen.ru/#?cities=%s"; public static final String MAIN_PAGE_WITHOUT_PARAMETERS = "http://weather.lanwen.ru/"; - private static final String NEW_WIDGET = "What a city?"; + private WebDriver driver; @@ -54,11 +54,6 @@ public void shouldSeeTitleWidgetEqualCity(String city) { onMainPage().getPlaces().get(0).getText(), equalTo(city)); } - public void addWidgetOnMainPage(String city) { - mainPageMethods().addWidget(); - mainPageMethods().renameWidget(NEW_WIDGET, city); - } - @Step("На главной странице без виджетов отображается кнопка добавить виджет") public void shouldSeeButtonAddWidgetOnMainPage() { shouldSee(mainPageMethods().getMainPage().getAddWidget()); @@ -85,17 +80,16 @@ public void shouldSeeRenameWidget(String oldName, String newName) { } @Step("На главной странице виджеты добавляются") - public void shouldSeeWidgetAdd(String city) { + public void shouldSeeWidgetAdd() { int count = mainPageMethods().countWidgets(); - addWidgetOnMainPage(city); - assertThat("Widget has", city, is(mainPageMethods().hasItem(mainPageMethods().getAllPlaces()))); - assertThat("Количество виджетов не увеличилось", mainPageMethods().getAllWidgets().size(), is(count + 1)); + mainPageMethods().addWidget(); + assertThat("Количество виджетов не увеличилось", mainPageMethods().getAllPlaces().size(), is(count + 1)); } @Step("На главной странице виджет можно удалить") public void shouldSeeWidgetRemove() { int count = mainPageMethods().countWidgets(); - mainPageMethods().clickOnElement(mainPageMethods().getAllWidgets().get(0).getRemoveBtn()); + onMainPage().getWeatherWidgets().get(0).getRemoveBtn().click(); assertThat("Количество виджетов не уменьшилось после удаления одного виджета", mainPageMethods().countWidgets(), is(count - 1)); } @@ -117,10 +111,9 @@ public void shouldSeeChangeFormatTemperature() { public void shouldSeeWidgetElements() { shouldSee(onMainPage().getTitleValues().toArray(new WebElement[onMainPage().getTitleValues().size()])); - shouldSee(onMainPage().getHumidity()); - shouldSee(onMainPage().getSunrise()); - shouldSee(onMainPage().getSunset()); - shouldSee(onMainPage().getWind()); + shouldSee(onMainPage().getHumidity(), onMainPage().getSunrise(), + onMainPage().getSunset(), onMainPage().getWind()); + widgetSteps().shouldSeeFormatTimeSunrise(); widgetSteps().shouldSeeFormatTimeSunset(); widgetSteps().shouldSeeFormatSpeedWind(); From 13664953fc66c402c9f013e955237458aec2836f Mon Sep 17 00:00:00 2001 From: Igor Merkushev Date: Thu, 28 Apr 2016 15:31:41 +0300 Subject: [PATCH 66/82] WebAPI tests first tests, disabled dependence to parent --- api-tests-module/pom.xml | 65 +++++++++---------- .../ru/qatools/school/WebApiInterface.java | 29 +++++++++ .../java/ru/qatools/school/entity/City.java | 24 +++++++ .../ru/qatools/school/entity/DAYPART.java | 5 ++ .../ru/qatools/school/entity/Temperature.java | 17 +++++ .../java/ru/qatools/school/entity/Widget.java | 37 +++++++++++ .../webapi/restassured/WeatherWebApiRest.java | 54 +++++++++++++-- .../retrofit/WeatherWebApiRetrofit.java | 56 ++++++++++++++++ .../java/ru/qatools/school/MyFirstTest.java | 42 ++++++++++-- .../school/webtests/WeatherWebTest.java | 4 +- .../ru/qatools/school/rules/WebApiRule.java | 4 -- .../school/steps/websteps/DefaultSteps.java | 4 +- 12 files changed, 288 insertions(+), 53 deletions(-) create mode 100644 api-tests-module/src/main/java/ru/qatools/school/WebApiInterface.java create mode 100644 api-tests-module/src/main/java/ru/qatools/school/entity/City.java create mode 100644 api-tests-module/src/main/java/ru/qatools/school/entity/DAYPART.java create mode 100644 api-tests-module/src/main/java/ru/qatools/school/entity/Temperature.java create mode 100644 api-tests-module/src/main/java/ru/qatools/school/entity/Widget.java delete mode 100644 steps-module/src/main/java/ru/qatools/school/rules/WebApiRule.java diff --git a/api-tests-module/pom.xml b/api-tests-module/pom.xml index bb02110..1ffcf65 100644 --- a/api-tests-module/pom.xml +++ b/api-tests-module/pom.xml @@ -2,17 +2,24 @@ - - school-2016 - ru.qatools.school - 1.0-SNAPSHOT - 4.0.0 jar - + api-tests-module + 1.0-SNAPSHOT api-tests-module + + 1.8 + + 1.10.4 + 2.0.2 + 2.9.0 + 1.16.6 + 4.12 + + + ru.qatools.school @@ -22,42 +29,34 @@ com.tngtech.java junit-dataprovider - 1.10.4 + ${dataprovider.version} test - com.squareup.retrofit + com.squareup.retrofit2 retrofit - 2.0.0-beta2 - test + ${retrofit.version} + + + com.squareup.retrofit2 + converter-gson + ${retrofit.version} com.jayway.restassured rest-assured - 2.9.0 + ${rest-assured.version} test + + org.projectlombok + lombok + ${lombok.version} + + + junit + junit + ${junit.version} + - - - - - - org.apache.maven.plugins - maven-surefire-plugin - - - - - - true - - - ru.yandex.qatools.allure - allure-maven-plugin - 2.0 - - - - \ No newline at end of file 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/webapi/restassured/WeatherWebApiRest.java b/api-tests-module/src/test/java/ru/qatools/school/webapi/restassured/WeatherWebApiRest.java index ae2a0d5..499dd14 100644 --- a/api-tests-module/src/test/java/ru/qatools/school/webapi/restassured/WeatherWebApiRest.java +++ b/api-tests-module/src/test/java/ru/qatools/school/webapi/restassured/WeatherWebApiRest.java @@ -1,20 +1,62 @@ package ru.qatools.school.webapi.restassured; -import com.jayway.restassured.RestAssured.*; -import com.jayway.restassured.matcher.RestAssuredMatchers.*; -import org.hamcrest.Matchers.*; +import org.apache.http.HttpStatus; import org.junit.Test; -import ru.yandex.qatools.allure.annotations.Title; +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 int COUNT_CITIES = 272; + private static final String CITY = "Moscow"; + private static final int ZERO = 0; + private static final int ONE = 1; + private static final int NEGATIVE_NUMBER = -3; + private static final String SPEC_SYMBOLS = "%20"; + + @Test - @Title("Проверяем GET /cities") - public void shouldSeeAllCitiesRecords() { + 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()", is(COUNT_CITIES)); + } + + @Test + public void shouldSeeCitiesListCities() { + given().baseUri(MAIN_PAGE).basePath(BASE_PATH) + .get(CITIES) + .then().assertThat().statusCode(HttpStatus.SC_OK) + .and().body("size()", is(COUNT_CITIES)); + } + + @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/webapi/retrofit/WeatherWebApiRetrofit.java b/api-tests-module/src/test/java/ru/qatools/school/webapi/retrofit/WeatherWebApiRetrofit.java index 8049287..92eb1bf 100644 --- a/api-tests-module/src/test/java/ru/qatools/school/webapi/retrofit/WeatherWebApiRetrofit.java +++ b/api-tests-module/src/test/java/ru/qatools/school/webapi/retrofit/WeatherWebApiRetrofit.java @@ -1,9 +1,65 @@ package ru.qatools.school.webapi.retrofit; +import com.tngtech.java.junit.dataprovider.DataProvider; +import com.tngtech.java.junit.dataprovider.DataProviderRunner; +import com.tngtech.java.junit.dataprovider.UseDataProvider; +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.WebApiInterface; +import ru.qatools.school.entity.City; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.not; +import static org.hamcrest.core.Is.is; +import static org.hamcrest.core.IsNull.nullValue; + +@RunWith(DataProviderRunner.class) public class WeatherWebApiRetrofit { + private static final String MAIN_PAGE = "http://weather.lanwen.ru/api/"; + private static final int COUNT_CITIES = 272; + private static WebApiInterface webApiInterface; + + @BeforeClass + public static void getWebApiInterface() { + Retrofit retrofit = new Retrofit.Builder() + .baseUrl(MAIN_PAGE) + .addConverterFactory(GsonConverterFactory.create()) + .build(); + webApiInterface = retrofit.create(WebApiInterface.class); + } + + + @DataProvider + public static List limits() { + List placesList + = new ArrayList(); + placesList.add(null); + return placesList; + } + @Test + public void shouldSeeListCities() throws IOException { + Call> listCities = webApiInterface.getCities(); + Response> response = listCities.execute(); + assertThat("Не получили список городов", response.body().size(), is(COUNT_CITIES)); + } + @Test + public void shouldSeeOneCity() throws IOException { + Call> city = webApiInterface.getCitiesLimit("1"); + Response> response = city.execute(); + assertThat("Не получили список с одним эелементом", response.body().size(), is(1)); + assertThat("Поле названия города не пустое", response.body().get(0).getName(), is(not(nullValue()))); + assertThat("Поле названия страны не пустое", response.body().get(0).getCountry(), is(not(nullValue()))); + } } 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 e594bdc..7b9da2e 100644 --- a/commons-module/src/test/java/ru/qatools/school/MyFirstTest.java +++ b/commons-module/src/test/java/ru/qatools/school/MyFirstTest.java @@ -1,23 +1,53 @@ package ru.qatools.school; +import com.tngtech.java.junit.dataprovider.DataProvider; +import com.tngtech.java.junit.dataprovider.DataProviderRunner; +import com.tngtech.java.junit.dataprovider.UseDataProvider; import org.junit.Test; +import org.junit.runner.RunWith; +import ru.qatools.school.data.Place; -import static ru.qatools.school.data.Place.*; -import static ru.qatools.school.steps.UserSteps.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +import static ru.qatools.school.steps.UserSteps.user; /** * @author gladnik (Nikolai Gladkov) */ +@RunWith(DataProviderRunner.class) public class MyFirstTest { + @DataProvider + public static List 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 - public void shouldBeAtHomeWhenGoToHome() { - user().goTo(HOME).shouldBeAtPlace(HOME); + @UseDataProvider("places") + public void afterGoSomewhereTwiceShouldBeThere(Place place) { + user().goTo(place).goTo(place).shouldBeAtPlace(place); } @Test - public void shouldBeAtYandexWhenGoToYandex() { - user().goTo(AT_YANDEX).shouldBeAtPlace(AT_YANDEX); + public void afterGoSomewhereElseShouldBeThere() { + user().goTo(Place.HOME).goTo(Place.AT_YANDEX) + .shouldBeAtPlace(Place.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 752ef82..d190577 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 @@ -111,7 +111,7 @@ public void shouldSeeClearWidgetName() { } @Test - @Title("Можем написать не не полное имя виджета") + @Title("Можем написать не полное имя виджета") @ru.yandex.qatools.allure.annotations.TestCaseId("14") public void shouldSeeNotFullNameWidget() { defaultSteps.openMainPageWithCity(MOSCOW); @@ -121,7 +121,7 @@ public void shouldSeeNotFullNameWidget() { @Test @Title("Можем менять форматы вывода градусов") - @ru.yandex.qatools.allure.annotations.TestCaseId("9") + @ru.yandex.qatools.allure.annotations.TestCaseId("15") public void shouldSeeChangeFormatDegree() { defaultSteps.openMainPageWithCity(SPB); defaultSteps.shouldSeeChangeFormatTemperature(); diff --git a/steps-module/src/main/java/ru/qatools/school/rules/WebApiRule.java b/steps-module/src/main/java/ru/qatools/school/rules/WebApiRule.java deleted file mode 100644 index 5ddc0e7..0000000 --- a/steps-module/src/main/java/ru/qatools/school/rules/WebApiRule.java +++ /dev/null @@ -1,4 +0,0 @@ -package ru.qatools.school.rules; - -public class WebApiRule { -} 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 d714e95..cb94c03 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 @@ -19,8 +19,8 @@ */ public class DefaultSteps { - public static final String MAIN_PAGE = "http://weather.lanwen.ru/#?cities=%s"; - public static final String MAIN_PAGE_WITHOUT_PARAMETERS = "http://weather.lanwen.ru/"; + 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; From eecf948d4bea2357347bdb51bc0299fc5429ac8e Mon Sep 17 00:00:00 2001 From: Olga Mazur Date: Thu, 28 Apr 2016 15:53:47 +0300 Subject: [PATCH 67/82] db client module added --- commons-module/pom.xml | 57 +++++++++++-------- dbclient-module/pom.xml | 28 +++++++++ .../main/java/ru/qatools/school/DbClient.java | 48 ++++++++++++++++ .../ru/qatools/school/DbClientException.java | 25 ++++++++ pom.xml | 6 +- 5 files changed, 136 insertions(+), 28 deletions(-) create mode 100644 dbclient-module/pom.xml create mode 100644 dbclient-module/src/main/java/ru/qatools/school/DbClient.java create mode 100644 dbclient-module/src/main/java/ru/qatools/school/DbClientException.java diff --git a/commons-module/pom.xml b/commons-module/pom.xml index 2aa0e8a..97cb03e 100644 --- a/commons-module/pom.xml +++ b/commons-module/pom.xml @@ -1,32 +1,38 @@ - - - school-2016 - ru.qatools.school - 1.0-SNAPSHOT - + + 4.0.0 -4.0.0 -jar + + school-2016 + ru.qatools.school + 1.0-SNAPSHOT + -commons-module -Commons Module + commons-module + jar - - - ru.qatools.school - steps-module - ${project.version} - - - com.tngtech.java - junit-dataprovider - 1.10.4 - test - - + Commons Module + + + + ru.qatools.school + steps-module + ${project.version} + + + ru.qatools.school + dbclient-module + ${project.version} + + + com.tngtech.java + junit-dataprovider + 1.10.4 + test + + @@ -47,4 +53,5 @@ + 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..26bbc94 --- /dev/null +++ b/dbclient-module/src/main/java/ru/qatools/school/DbClient.java @@ -0,0 +1,48 @@ +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 = "jdbc:mysql://db.host.ru:3310/db_name"; + private static final String USER = "user"; + private static final String PASSWORD = "password"; + + 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("table_name")) + .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 86b15ac..2f0da8b 100644 --- a/pom.xml +++ b/pom.xml @@ -15,7 +15,7 @@ steps-module commons-module - api-tests-module + dbclient-module @@ -44,7 +44,7 @@ rest-assured 2.9.0 - + ru.yandex.qatools.allure allure-junit-adaptor @@ -118,4 +118,4 @@ - \ No newline at end of file + From a1fcb8aba8b6f00029e4941fa8cd31088a33f97a Mon Sep 17 00:00:00 2001 From: Olga Mazur Date: Thu, 28 Apr 2016 18:07:06 +0300 Subject: [PATCH 68/82] System.getProperty for db properties --- .../src/main/java/ru/qatools/school/DbClient.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/dbclient-module/src/main/java/ru/qatools/school/DbClient.java b/dbclient-module/src/main/java/ru/qatools/school/DbClient.java index 26bbc94..12e1204 100644 --- a/dbclient-module/src/main/java/ru/qatools/school/DbClient.java +++ b/dbclient-module/src/main/java/ru/qatools/school/DbClient.java @@ -14,9 +14,10 @@ * Created by omaz on 27.04.16. */ public class DbClient { - private static final String CONNECTION_STRING = "jdbc:mysql://db.host.ru:3310/db_name"; - private static final String USER = "user"; - private static final String PASSWORD = "password"; + private static final String CONNECTION_STRING = + System.getProperty("db.url", "jdbc:mysql://db.host.ru:3310/db_name"); + private static final String USER = System.getProperty("db.user", "user"); + private static final String PASSWORD = System.getProperty("db.password", "password");; private Connection connection; private DSLContext create; From 7bfcff1420b8f7a198f486fbc7b661968c991231 Mon Sep 17 00:00:00 2001 From: user Date: Thu, 7 Apr 2016 20:59:34 +0300 Subject: [PATCH 69/82] initial --- .../java/ru/qatools/school/MyFirstTest.java | 44 +++---------------- 1 file changed, 6 insertions(+), 38 deletions(-) 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..3d17d0c 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,21 @@ 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 org.junit.Assert.assertThat; +import static org.junit.*; import static ru.qatools.school.steps.UserSteps.user; - /** - * @author gladnik (Nikolai Gladkov) + * @author lanwen (Merkushev Kirill) */ -@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); - } @Test - public void afterGoSomewhereElseShouldBeThere() { - user().goTo(Place.HOME).goTo(Place.AT_YANDEX) - .shouldBeAtPlace(Place.AT_YANDEX); + public void test() { + assertThat(user().goTo(Place.HOME), ); } + } From 757c127a5982eeb27ecf64bf03e9f9887c16f313 Mon Sep 17 00:00:00 2001 From: Igor Merkushev Date: Fri, 8 Apr 2016 23:03:43 +0300 Subject: [PATCH 70/82] First test second version change pom, split test, rename methods --- .../java/ru/qatools/school/MyFirstTest.java | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) 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 3d17d0c..284c4ce 100644 --- a/commons-module/src/test/java/ru/qatools/school/MyFirstTest.java +++ b/commons-module/src/test/java/ru/qatools/school/MyFirstTest.java @@ -3,8 +3,6 @@ import org.junit.Test; import ru.qatools.school.data.Place; -import static org.junit.Assert.assertThat; -import static org.junit.*; import static ru.qatools.school.steps.UserSteps.user; /** @@ -14,8 +12,17 @@ public class MyFirstTest { @Test - public void test() { - assertThat(user().goTo(Place.HOME), ); + public void shouldBeAtYandexAfterGoToYandex() { + user().goTo(Place.AT_YANDEX).shouldSeeCurrentPlace(Place.AT_YANDEX); + } + + @Test + public void shouldBeAtHomeAfterGoToHome() { + user().goTo(Place.HOME).shouldSeeCurrentPlace(Place.HOME); + } + + @Test + public void shouldBeNullIfPlaceNull() { + user().goTo(null).shouldSeeCurrentPlace(null); } - } From 32d4f548de915ee6198709ee26817df7a5928743 Mon Sep 17 00:00:00 2001 From: gladnik Date: Thu, 7 Apr 2016 21:13:29 +0300 Subject: [PATCH 71/82] Added commons-module and tests for user().goTo(place) Improved project structure by deletion redundant files --- .../java/ru/qatools/school/MyFirstTest.java | 21 ++-- pom.xml | 102 +----------------- steps-module/pom.xml | 33 ------ 3 files changed, 13 insertions(+), 143 deletions(-) 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 284c4ce..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,28 +1,23 @@ package ru.qatools.school; import org.junit.Test; -import ru.qatools.school.data.Place; -import static ru.qatools.school.steps.UserSteps.user; +import static ru.qatools.school.data.Place.*; +import static ru.qatools.school.steps.UserSteps.*; + /** - * @author lanwen (Merkushev Kirill) + * @author gladnik (Nikolai Gladkov) */ public class MyFirstTest { - - @Test - public void shouldBeAtYandexAfterGoToYandex() { - user().goTo(Place.AT_YANDEX).shouldSeeCurrentPlace(Place.AT_YANDEX); - } - @Test - public void shouldBeAtHomeAfterGoToHome() { - user().goTo(Place.HOME).shouldSeeCurrentPlace(Place.HOME); + public void shouldBeAtHomeWhenGoToHome() { + user().goTo(HOME).shouldBeAtPlace(HOME); } @Test - public void shouldBeNullIfPlaceNull() { - user().goTo(null).shouldSeeCurrentPlace(null); + public void shouldBeAtYandexWhenGoToYandex() { + user().goTo(AT_YANDEX).shouldBeAtPlace(AT_YANDEX); } } diff --git a/pom.xml b/pom.xml index 2f0da8b..4a25b63 100644 --- a/pom.xml +++ b/pom.xml @@ -1,16 +1,13 @@ - 4.0.0 ru.qatools.school school-2016 - 1.0-SNAPSHOT pom - - Automation Foreva - First automation project ever + 1.0-SNAPSHOT steps-module @@ -18,14 +15,8 @@ dbclient-module - - 1.8 - - 1.4.23 - 2.53.0 - 1.15 - 1.8.5 - + Automation Foreva + First automation project ever @@ -35,87 +26,4 @@ - - - - - - com.jayway.restassured - rest-assured - 2.9.0 - - - - ru.yandex.qatools.allure - allure-junit-adaptor - ${allure.version} - - - org.seleniumhq.selenium - selenium-java - ${selenium.version} - - - ru.yandex.qatools.htmlelements - htmlelements-java - ${htmlelements.version} - - - org.apache.commons - commons-lang3 - 3.4 - - - org.hamcrest - hamcrest-all - 1.3 - - - ru.yandex.qatools.htmlelements - htmlelements-matchers - 1.12 - - - - - - - - - org.apache.maven.plugins - maven-compiler-plugin - 3.0 - - ${compiler.version} - ${compiler.version} - - - - org.apache.maven.plugins - maven-surefire-plugin - 2.18.1 - - - -javaagent:"${settings.localRepository}/org/aspectj/aspectjweaver/${aspectj.version}/aspectjweaver-${aspectj.version}.jar" - - - - listener - ru.yandex.qatools.allure.junit.AllureRunListener - - - - - - org.aspectj - aspectjweaver - ${aspectj.version} - - - - - - - - diff --git a/steps-module/pom.xml b/steps-module/pom.xml index c8d18cc..f69439b 100644 --- a/steps-module/pom.xml +++ b/steps-module/pom.xml @@ -14,37 +14,4 @@ steps-module Logic Module - - - ru.yandex.qatools.allure - allure-junit-adaptor - - - org.seleniumhq.selenium - selenium-java - - - ru.yandex.qatools.htmlelements - htmlelements-java - - - org.apache.commons - commons-lang3 - - - org.hamcrest - hamcrest-all - - - ru.yandex.qatools.htmlelements - htmlelements-matchers - - - - com.jayway.restassured - rest-assured - - - - From 1314b97c4dbd1fdb72c8931eb1727af25c034ba3 Mon Sep 17 00:00:00 2001 From: "merkushev.io" Date: Fri, 22 Apr 2016 14:50:12 +0300 Subject: [PATCH 72/82] pom files restore --- pom.xml | 104 ++++++++++++++++++++++++++++++++++++++++--- steps-module/pom.xml | 33 ++++++++++++++ 2 files changed, 131 insertions(+), 6 deletions(-) diff --git a/pom.xml b/pom.xml index 4a25b63..1ca9549 100644 --- a/pom.xml +++ b/pom.xml @@ -1,13 +1,16 @@ - 4.0.0 ru.qatools.school school-2016 - pom 1.0-SNAPSHOT + pom + + Automation Foreva + First automation project ever steps-module @@ -15,8 +18,14 @@ dbclient-module - Automation Foreva - First automation project ever + + 1.8 + + 1.4.23 + 2.53.0 + 1.15 + 1.8.5 + @@ -26,4 +35,87 @@ - + + + + + + com.jayway.restassured + rest-assured + 2.9.0 + + + + ru.yandex.qatools.allure + allure-junit-adaptor + ${allure.version} + + + org.seleniumhq.selenium + selenium-java + ${selenium.version} + + + ru.yandex.qatools.htmlelements + htmlelements-java + ${htmlelements.version} + + + org.apache.commons + commons-lang3 + 3.4 + + + org.hamcrest + hamcrest-all + 1.3 + + + ru.yandex.qatools.htmlelements + htmlelements-matchers + 1.12 + + + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.0 + + ${compiler.version} + ${compiler.version} + + + + org.apache.maven.plugins + maven-surefire-plugin + 2.18.1 + + + -javaagent:"${settings.localRepository}/org/aspectj/aspectjweaver/${aspectj.version}/aspectjweaver-${aspectj.version}.jar" + + + + listener + ru.yandex.qatools.allure.junit.AllureRunListener + + + + + + org.aspectj + aspectjweaver + ${aspectj.version} + + + + + + + + + \ No newline at end of file diff --git a/steps-module/pom.xml b/steps-module/pom.xml index f69439b..c8d18cc 100644 --- a/steps-module/pom.xml +++ b/steps-module/pom.xml @@ -14,4 +14,37 @@ steps-module Logic Module + + + ru.yandex.qatools.allure + allure-junit-adaptor + + + org.seleniumhq.selenium + selenium-java + + + ru.yandex.qatools.htmlelements + htmlelements-java + + + org.apache.commons + commons-lang3 + + + org.hamcrest + hamcrest-all + + + ru.yandex.qatools.htmlelements + htmlelements-matchers + + + + com.jayway.restassured + rest-assured + + + + From bcb4f901cbbfdd1f92b86df5d429c95cae18f33f Mon Sep 17 00:00:00 2001 From: "merkushev.io" Date: Wed, 20 Apr 2016 13:56:43 +0300 Subject: [PATCH 73/82] tp log errors --- commons-module/ajcore.20160420.125320.429.txt | 168 +++++++++++++++++ commons-module/ajcore.20160420.125320.516.txt | 113 ++++++++++++ commons-module/ajcore.20160420.134534.084.txt | 174 ++++++++++++++++++ commons-module/ajcore.20160420.134534.212.txt | 115 ++++++++++++ 4 files changed, 570 insertions(+) create mode 100644 commons-module/ajcore.20160420.125320.429.txt create mode 100644 commons-module/ajcore.20160420.125320.516.txt create mode 100644 commons-module/ajcore.20160420.134534.084.txt create mode 100644 commons-module/ajcore.20160420.134534.212.txt 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) + From 1d904f139b5f2d4cd2f9e9b910f1994b1527e77f Mon Sep 17 00:00:00 2001 From: "merkushev.io" Date: Wed, 20 Apr 2016 18:51:41 +0300 Subject: [PATCH 74/82] add test for view --- .../school/webtests/WeatherWebTest.java | 77 +++++++++++++++++++ 1 file changed, 77 insertions(+) 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 d190577..332a396 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 @@ -118,6 +118,83 @@ public void shouldSeeNotFullNameWidget() { defaultSteps.shouldSeeRenameWidget(MOSCOW, SPB.substring(0, SPB.length() / 3)); } + @Test + @Title("Должны увидеть надпись показателя рассвета") + public void shouldSeeTitleSunrise() { + + } + + @Test + @Title("Должны увидеть надпись показателя заката") + public void shouldSeeTitleSunset() { + + } + + @Test + @Title("Должны увидеть надпись показателя скорости ветра") + public void shouldSeeTitleWind() { + + } + + @Test + @Title("Должны увидеть надпись показателя влажности") + public void shouldSeeTitleHumidity() { + + } + + @Test + @Title("Должны увидеть картинку для показателя рассвета") + public void shouldSeeImageSunrise() { + + } + + @Test + @Title("Должны увидеть картинку для показателя рассвета") + public void shouldSeeImageSunset() { + + } + + @Test + @Title("Должны увидеть картинку для показателя рассвета") + public void shouldSeeImageWind() { + + } + + @Test + @Title("Должны увидеть картинку для показателя рассвета") + public void shouldSeeImageHumidity() { + + } + + @Test + @Title("Должны увидеть основную картинку виджета") + public void shouldSeeMainImage() { + + } + + @Test + @Title("Должны увидеть формат времени для значения поля рассвет") + public void shouldSeeFormatTimeSunrise() { + + } + + @Test + @Title("Должны увидеть формат времени для значения поля закат") + public void shouldSeeFormatTimeSunset() { + + } + + @Test + @Title("Должны увидеть формат скорости для значения поля скорость ветра") + public void shouldSeeFormatSpeedWind() { + + } + + @Test + @Title("Должны увидеть формат времени для значения поля влажность") + public void shouldSeeFormatHumidity() { + + } @Test @Title("Можем менять форматы вывода градусов") From 5f26af0b7b6bcab33e33e8b12876e77f2a85b446 Mon Sep 17 00:00:00 2001 From: Igor Merkushev Date: Tue, 26 Apr 2016 13:52:58 +0300 Subject: [PATCH 75/82] refactor tests, add WidgetSteps, refactor MainPageMethods --- .../test/java/ru/qatools/school/webtests/WeatherWebTest.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 332a396..7376810 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 @@ -20,8 +20,8 @@ public class WeatherWebTest { @Rule public WebDriverRule webDriverRule = new WebDriverRule(); - @Rule - public TPInformerRule tms = new TPInformerRule("merkushevio"); + //@Rule + //public TPInformerRule tms = new TPInformerRule("merkushevio"); @Before From b4179eee9e841a10327cb1f062648790a5c1d298 Mon Sep 17 00:00:00 2001 From: Igor Merkushev Date: Tue, 26 Apr 2016 23:29:07 +0300 Subject: [PATCH 76/82] init WebAPI test --- api-tests-module/pom.xml | 65 ++++++++++--------- .../webapi/restassured/WeatherWebApiRest.java | 54 ++------------- .../retrofit/WeatherWebApiRetrofit.java | 56 ---------------- .../ru/qatools/school/rules/WebApiRule.java | 4 ++ .../school/steps/websteps/DefaultSteps.java | 27 +++++--- 5 files changed, 60 insertions(+), 146 deletions(-) create mode 100644 steps-module/src/main/java/ru/qatools/school/rules/WebApiRule.java diff --git a/api-tests-module/pom.xml b/api-tests-module/pom.xml index 1ffcf65..bb02110 100644 --- a/api-tests-module/pom.xml +++ b/api-tests-module/pom.xml @@ -2,23 +2,16 @@ + + school-2016 + ru.qatools.school + 1.0-SNAPSHOT + 4.0.0 jar - api-tests-module - 1.0-SNAPSHOT - api-tests-module - - - 1.8 - - 1.10.4 - 2.0.2 - 2.9.0 - 1.16.6 - 4.12 - + api-tests-module @@ -29,34 +22,42 @@ com.tngtech.java junit-dataprovider - ${dataprovider.version} + 1.10.4 test - com.squareup.retrofit2 + com.squareup.retrofit retrofit - ${retrofit.version} - - - com.squareup.retrofit2 - converter-gson - ${retrofit.version} + 2.0.0-beta2 + test com.jayway.restassured rest-assured - ${rest-assured.version} + 2.9.0 test - - org.projectlombok - lombok - ${lombok.version} - - - junit - junit - ${junit.version} - + + + + + + org.apache.maven.plugins + maven-surefire-plugin + + + + + + true + + + ru.yandex.qatools.allure + allure-maven-plugin + 2.0 + + + + \ No newline at end of file diff --git a/api-tests-module/src/test/java/ru/qatools/school/webapi/restassured/WeatherWebApiRest.java b/api-tests-module/src/test/java/ru/qatools/school/webapi/restassured/WeatherWebApiRest.java index 499dd14..ae2a0d5 100644 --- a/api-tests-module/src/test/java/ru/qatools/school/webapi/restassured/WeatherWebApiRest.java +++ b/api-tests-module/src/test/java/ru/qatools/school/webapi/restassured/WeatherWebApiRest.java @@ -1,62 +1,20 @@ package ru.qatools.school.webapi.restassured; -import org.apache.http.HttpStatus; +import com.jayway.restassured.RestAssured.*; +import com.jayway.restassured.matcher.RestAssuredMatchers.*; +import org.hamcrest.Matchers.*; import org.junit.Test; -import static com.jayway.restassured.RestAssured.given; -import static org.hamcrest.Matchers.*; +import ru.yandex.qatools.allure.annotations.Title; 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 int COUNT_CITIES = 272; - private static final String CITY = "Moscow"; - private static final int ZERO = 0; - private static final int ONE = 1; - private static final int NEGATIVE_NUMBER = -3; - private static final String SPEC_SYMBOLS = "%20"; - - @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)); + @Title("Проверяем GET /cities") + public void shouldSeeAllCitiesRecords() { } - @Test - public void shouldSeeInitCitiesRecords() { - given().baseUri(MAIN_PAGE).basePath(BASE_PATH) - .get(CITIES) - .then().assertThat().statusCode(HttpStatus.SC_OK) - .and().body("size()", is(COUNT_CITIES)); - } - - @Test - public void shouldSeeCitiesListCities() { - given().baseUri(MAIN_PAGE).basePath(BASE_PATH) - .get(CITIES) - .then().assertThat().statusCode(HttpStatus.SC_OK) - .and().body("size()", is(COUNT_CITIES)); - } - - @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/webapi/retrofit/WeatherWebApiRetrofit.java b/api-tests-module/src/test/java/ru/qatools/school/webapi/retrofit/WeatherWebApiRetrofit.java index 92eb1bf..8049287 100644 --- a/api-tests-module/src/test/java/ru/qatools/school/webapi/retrofit/WeatherWebApiRetrofit.java +++ b/api-tests-module/src/test/java/ru/qatools/school/webapi/retrofit/WeatherWebApiRetrofit.java @@ -1,65 +1,9 @@ package ru.qatools.school.webapi.retrofit; -import com.tngtech.java.junit.dataprovider.DataProvider; -import com.tngtech.java.junit.dataprovider.DataProviderRunner; -import com.tngtech.java.junit.dataprovider.UseDataProvider; -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.WebApiInterface; -import ru.qatools.school.entity.City; -import java.io.IOException; -import java.util.ArrayList; -import java.util.List; -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.not; -import static org.hamcrest.core.Is.is; -import static org.hamcrest.core.IsNull.nullValue; - -@RunWith(DataProviderRunner.class) public class WeatherWebApiRetrofit { - private static final String MAIN_PAGE = "http://weather.lanwen.ru/api/"; - private static final int COUNT_CITIES = 272; - private static WebApiInterface webApiInterface; - - @BeforeClass - public static void getWebApiInterface() { - Retrofit retrofit = new Retrofit.Builder() - .baseUrl(MAIN_PAGE) - .addConverterFactory(GsonConverterFactory.create()) - .build(); - webApiInterface = retrofit.create(WebApiInterface.class); - } - - - @DataProvider - public static List limits() { - List placesList - = new ArrayList(); - placesList.add(null); - return placesList; - } - @Test - public void shouldSeeListCities() throws IOException { - Call> listCities = webApiInterface.getCities(); - Response> response = listCities.execute(); - assertThat("Не получили список городов", response.body().size(), is(COUNT_CITIES)); - } - @Test - public void shouldSeeOneCity() throws IOException { - Call> city = webApiInterface.getCitiesLimit("1"); - Response> response = city.execute(); - assertThat("Не получили список с одним эелементом", response.body().size(), is(1)); - assertThat("Поле названия города не пустое", response.body().get(0).getName(), is(not(nullValue()))); - assertThat("Поле названия страны не пустое", response.body().get(0).getCountry(), is(not(nullValue()))); - } } diff --git a/steps-module/src/main/java/ru/qatools/school/rules/WebApiRule.java b/steps-module/src/main/java/ru/qatools/school/rules/WebApiRule.java new file mode 100644 index 0000000..5ddc0e7 --- /dev/null +++ b/steps-module/src/main/java/ru/qatools/school/rules/WebApiRule.java @@ -0,0 +1,4 @@ +package ru.qatools.school.rules; + +public class WebApiRule { +} 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 cb94c03..e8f974a 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 @@ -19,9 +19,9 @@ */ public class DefaultSteps { - private static final String MAIN_PAGE = "http://weather.lanwen.ru/#?cities=%s"; - private static final String MAIN_PAGE_WITHOUT_PARAMETERS = "http://weather.lanwen.ru/"; - + public static final String MAIN_PAGE = "http://weather.lanwen.ru/#?cities=%s"; + public static final String MAIN_PAGE_WITHOUT_PARAMETERS = "http://weather.lanwen.ru/"; + private static final String NEW_WIDGET = "What a city?"; private WebDriver driver; @@ -54,6 +54,11 @@ public void shouldSeeTitleWidgetEqualCity(String city) { onMainPage().getPlaces().get(0).getText(), equalTo(city)); } + public void addWidgetOnMainPage(String city) { + mainPageMethods().addWidget(); + mainPageMethods().renameWidget(NEW_WIDGET, city); + } + @Step("На главной странице без виджетов отображается кнопка добавить виджет") public void shouldSeeButtonAddWidgetOnMainPage() { shouldSee(mainPageMethods().getMainPage().getAddWidget()); @@ -80,16 +85,17 @@ public void shouldSeeRenameWidget(String oldName, String newName) { } @Step("На главной странице виджеты добавляются") - public void shouldSeeWidgetAdd() { + public void shouldSeeWidgetAdd(String city) { int count = mainPageMethods().countWidgets(); - mainPageMethods().addWidget(); - assertThat("Количество виджетов не увеличилось", mainPageMethods().getAllPlaces().size(), is(count + 1)); + addWidgetOnMainPage(city); + assertThat("Widget has", city, is(mainPageMethods().hasItem(mainPageMethods().getAllPlaces()))); + assertThat("Количество виджетов не увеличилось", mainPageMethods().getAllWidgets().size(), is(count + 1)); } @Step("На главной странице виджет можно удалить") public void shouldSeeWidgetRemove() { int count = mainPageMethods().countWidgets(); - onMainPage().getWeatherWidgets().get(0).getRemoveBtn().click(); + mainPageMethods().clickOnElement(mainPageMethods().getAllWidgets().get(0).getRemoveBtn()); assertThat("Количество виджетов не уменьшилось после удаления одного виджета", mainPageMethods().countWidgets(), is(count - 1)); } @@ -111,9 +117,10 @@ public void shouldSeeChangeFormatTemperature() { public void shouldSeeWidgetElements() { shouldSee(onMainPage().getTitleValues().toArray(new WebElement[onMainPage().getTitleValues().size()])); - shouldSee(onMainPage().getHumidity(), onMainPage().getSunrise(), - onMainPage().getSunset(), onMainPage().getWind()); - + shouldSee(onMainPage().getHumidity()); + shouldSee(onMainPage().getSunrise()); + shouldSee(onMainPage().getSunset()); + shouldSee(onMainPage().getWind()); widgetSteps().shouldSeeFormatTimeSunrise(); widgetSteps().shouldSeeFormatTimeSunset(); widgetSteps().shouldSeeFormatSpeedWind(); From a7ea8db8e10f5bfed5dde962a4858d22909ffff1 Mon Sep 17 00:00:00 2001 From: Igor Merkushev Date: Fri, 29 Apr 2016 21:27:06 +0300 Subject: [PATCH 77/82] refactor WebDriver test, add db test, add webapi tests --- api-tests-module/pom.xml | 61 +++++----- .../java/ru/qatools/school/ApiMatchers.java | 34 ++++++ .../java/ru/qatools/school/WeatherDB.java | 54 +++++++++ .../school/restassured/WeatherWebApiRest.java | 59 +++++++++ .../qatools/school/retrofit/Parameters.java | 68 +++++++++++ .../retrofit/WeatherWebApiRetrofit.java | 107 ++++++++++++++++ .../webapi/restassured/WeatherWebApiRest.java | 20 --- .../retrofit/WeatherWebApiRetrofit.java | 9 -- .../school/webtests/WeatherWebTest.java | 106 ++-------------- .../main/java/ru/qatools/school/DbClient.java | 8 +- steps-module/pom.xml | 5 + .../ru/qatools/school/pages/MainPage.java | 63 +--------- .../qatools/school/pages/MainPageMethods.java | 114 ------------------ .../school/steps/websteps/DefaultSteps.java | 66 +++++----- .../school/steps/websteps/EXPECT_STRING.java | 21 ++++ .../steps/websteps/MainPageMethods.java | 23 ++++ .../steps/websteps/WebDriverMatchers.java | 55 +++++++++ .../school/steps/websteps/WidgetSteps.java | 108 ++++++++++++----- 18 files changed, 586 insertions(+), 395 deletions(-) create mode 100644 api-tests-module/src/main/java/ru/qatools/school/ApiMatchers.java create mode 100644 api-tests-module/src/test/java/ru/qatools/school/WeatherDB.java create mode 100644 api-tests-module/src/test/java/ru/qatools/school/restassured/WeatherWebApiRest.java create mode 100644 api-tests-module/src/test/java/ru/qatools/school/retrofit/Parameters.java create mode 100644 api-tests-module/src/test/java/ru/qatools/school/retrofit/WeatherWebApiRetrofit.java delete mode 100644 api-tests-module/src/test/java/ru/qatools/school/webapi/restassured/WeatherWebApiRest.java delete mode 100644 api-tests-module/src/test/java/ru/qatools/school/webapi/retrofit/WeatherWebApiRetrofit.java delete mode 100644 steps-module/src/main/java/ru/qatools/school/pages/MainPageMethods.java create mode 100644 steps-module/src/main/java/ru/qatools/school/steps/websteps/EXPECT_STRING.java create mode 100644 steps-module/src/main/java/ru/qatools/school/steps/websteps/MainPageMethods.java create mode 100644 steps-module/src/main/java/ru/qatools/school/steps/websteps/WebDriverMatchers.java diff --git a/api-tests-module/pom.xml b/api-tests-module/pom.xml index bb02110..3d369bf 100644 --- a/api-tests-module/pom.xml +++ b/api-tests-module/pom.xml @@ -2,62 +2,57 @@ + 4.0.0 + jar + school-2016 ru.qatools.school 1.0-SNAPSHOT - 4.0.0 - jar - 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 - 1.10.4 + ${dataprovider.version} test - com.squareup.retrofit + com.squareup.retrofit2 retrofit - 2.0.0-beta2 - test + ${retrofit.version} - com.jayway.restassured - rest-assured - 2.9.0 - test + com.squareup.retrofit2 + converter-gson + ${retrofit.version} + + + org.projectlombok + lombok + ${lombok.version} - - - - - - org.apache.maven.plugins - maven-surefire-plugin - - - - - - true - - - ru.yandex.qatools.allure - allure-maven-plugin - 2.0 - - - - \ 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/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/api-tests-module/src/test/java/ru/qatools/school/webapi/restassured/WeatherWebApiRest.java b/api-tests-module/src/test/java/ru/qatools/school/webapi/restassured/WeatherWebApiRest.java deleted file mode 100644 index ae2a0d5..0000000 --- a/api-tests-module/src/test/java/ru/qatools/school/webapi/restassured/WeatherWebApiRest.java +++ /dev/null @@ -1,20 +0,0 @@ -package ru.qatools.school.webapi.restassured; - -import com.jayway.restassured.RestAssured.*; -import com.jayway.restassured.matcher.RestAssuredMatchers.*; -import org.hamcrest.Matchers.*; -import org.junit.Test; -import ru.yandex.qatools.allure.annotations.Title; - - -public class WeatherWebApiRest { - - @Test - @Title("Проверяем GET /cities") - public void shouldSeeAllCitiesRecords() { - - } - -} - - diff --git a/api-tests-module/src/test/java/ru/qatools/school/webapi/retrofit/WeatherWebApiRetrofit.java b/api-tests-module/src/test/java/ru/qatools/school/webapi/retrofit/WeatherWebApiRetrofit.java deleted file mode 100644 index 8049287..0000000 --- a/api-tests-module/src/test/java/ru/qatools/school/webapi/retrofit/WeatherWebApiRetrofit.java +++ /dev/null @@ -1,9 +0,0 @@ -package ru.qatools.school.webapi.retrofit; - - - -public class WeatherWebApiRetrofit { - - - -} 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 7376810..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 @@ -7,6 +7,7 @@ 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; @@ -14,7 +15,6 @@ public class WeatherWebTest { private static final String MOSCOW = "Moscow"; private static final String SPB = "Saint Petersburg"; - private static final String NEW_WIDGET = "What a city?"; private DefaultSteps defaultSteps; @@ -34,7 +34,7 @@ private MainPage onMainPage() { } @Test - @ru.yandex.qatools.allure.annotations.TestCaseId("1") + @TestCaseId("1") @Title("Должны видеть виджет на главной странице") public void shouldSeeWidgetOnMainPage() { defaultSteps.openMainPageWithCity(MOSCOW); @@ -45,7 +45,7 @@ public void shouldSeeWidgetOnMainPage() { @Test @Title("Должны увидеть главную страницу только с кнопокой добавить виджет") - @ru.yandex.qatools.allure.annotations.TestCaseId("2") + @TestCaseId("2") public void shouldSeeButtonOnMainPage() { defaultSteps.openMainPageWithCity(""); defaultSteps.shouldSeeButtonAddWidgetOnMainPage(); @@ -54,7 +54,7 @@ public void shouldSeeButtonOnMainPage() { @Test @Title("Должны увидеть главную страницу только с кнопкой добавить виджет") - @ru.yandex.qatools.allure.annotations.TestCaseId("3") + @TestCaseId("3") public void shouldSeeButtonAddWidgetOnMainPageWithoutParameter() { defaultSteps.shouldSeeButtonOnlyAddWidgetOnMainPageWithoutParameter(); defaultSteps.shouldSeeOnlyButtonAddWidget(); @@ -62,7 +62,7 @@ public void shouldSeeButtonAddWidgetOnMainPageWithoutParameter() { @Test @Title("Можем добавлять виджет на главной странице") - @ru.yandex.qatools.allure.annotations.TestCaseId("4") + @TestCaseId("4") public void shouldSeeAddWidgetOnMainPage() { defaultSteps.openMainPageWithCity(MOSCOW); defaultSteps.shouldSeeWidgetAdd(); @@ -70,7 +70,7 @@ public void shouldSeeAddWidgetOnMainPage() { @Test @Title("Можем удалить второй виджет на главной странице") - @ru.yandex.qatools.allure.annotations.TestCaseId("9") + @TestCaseId("9") public void shouldSeeRemoveSecondWidgetOnMainPage() { defaultSteps.openMainPageWithCity(SPB); defaultSteps.shouldSeeWidgetAdd(); @@ -79,15 +79,15 @@ public void shouldSeeRemoveSecondWidgetOnMainPage() { @Test @Title("Может удалить последний виджет на главной странице") - @ru.yandex.qatools.allure.annotations.TestCaseId("10") + @TestCaseId("10") public void shouldSeeRemoveLastWidgetOnMainPage() { defaultSteps.openMainPageWithCity(SPB); defaultSteps.shouldSeeWidgetRemove(); } @Test - @Title("Должны увидеть автозаполнение при не полном наборе названия виджета") - @ru.yandex.qatools.allure.annotations.TestCaseId("12") + @Title("Должны увидеть автозаполнение при не полном наборе названия") + @TestCaseId("12") public void shouldAutoCompleteCity() { defaultSteps.openMainPageWithCity(MOSCOW); defaultSteps.shouldAutocompliteCity(SPB); @@ -95,15 +95,15 @@ public void shouldAutoCompleteCity() { @Test @Title("Можем переименовать виджет") - @ru.yandex.qatools.allure.annotations.TestCaseId("11") + @TestCaseId("11") public void shouldSeeRenameWidget() { defaultSteps.openMainPageWithCity(MOSCOW); defaultSteps.shouldSeeRenameWidget(MOSCOW, SPB); } @Test - @Title("Можем очистить название, после чего назначить нове имя") - @ru.yandex.qatools.allure.annotations.TestCaseId("13") + @Title("Можем очистить название виджета, после чего назначить новое имя") + @TestCaseId("13") public void shouldSeeClearWidgetName() { defaultSteps.openMainPageWithCity(SPB); defaultSteps.shouldSeeRenameWidget(SPB, ""); @@ -112,90 +112,12 @@ public void shouldSeeClearWidgetName() { @Test @Title("Можем написать не полное имя виджета") - @ru.yandex.qatools.allure.annotations.TestCaseId("14") + @TestCaseId("14") public void shouldSeeNotFullNameWidget() { defaultSteps.openMainPageWithCity(MOSCOW); defaultSteps.shouldSeeRenameWidget(MOSCOW, SPB.substring(0, SPB.length() / 3)); } - @Test - @Title("Должны увидеть надпись показателя рассвета") - public void shouldSeeTitleSunrise() { - - } - - @Test - @Title("Должны увидеть надпись показателя заката") - public void shouldSeeTitleSunset() { - - } - - @Test - @Title("Должны увидеть надпись показателя скорости ветра") - public void shouldSeeTitleWind() { - - } - - @Test - @Title("Должны увидеть надпись показателя влажности") - public void shouldSeeTitleHumidity() { - - } - - @Test - @Title("Должны увидеть картинку для показателя рассвета") - public void shouldSeeImageSunrise() { - - } - - @Test - @Title("Должны увидеть картинку для показателя рассвета") - public void shouldSeeImageSunset() { - - } - - @Test - @Title("Должны увидеть картинку для показателя рассвета") - public void shouldSeeImageWind() { - - } - - @Test - @Title("Должны увидеть картинку для показателя рассвета") - public void shouldSeeImageHumidity() { - - } - - @Test - @Title("Должны увидеть основную картинку виджета") - public void shouldSeeMainImage() { - - } - - @Test - @Title("Должны увидеть формат времени для значения поля рассвет") - public void shouldSeeFormatTimeSunrise() { - - } - - @Test - @Title("Должны увидеть формат времени для значения поля закат") - public void shouldSeeFormatTimeSunset() { - - } - - @Test - @Title("Должны увидеть формат скорости для значения поля скорость ветра") - public void shouldSeeFormatSpeedWind() { - - } - - @Test - @Title("Должны увидеть формат времени для значения поля влажность") - public void shouldSeeFormatHumidity() { - - } - @Test @Title("Можем менять форматы вывода градусов") @ru.yandex.qatools.allure.annotations.TestCaseId("15") @@ -203,8 +125,6 @@ public void shouldSeeChangeFormatDegree() { defaultSteps.openMainPageWithCity(SPB); defaultSteps.shouldSeeChangeFormatTemperature(); } - - } diff --git a/dbclient-module/src/main/java/ru/qatools/school/DbClient.java b/dbclient-module/src/main/java/ru/qatools/school/DbClient.java index 12e1204..d91d4c6 100644 --- a/dbclient-module/src/main/java/ru/qatools/school/DbClient.java +++ b/dbclient-module/src/main/java/ru/qatools/school/DbClient.java @@ -15,9 +15,9 @@ */ public class DbClient { private static final String CONNECTION_STRING = - System.getProperty("db.url", "jdbc:mysql://db.host.ru:3310/db_name"); - private static final String USER = System.getProperty("db.user", "user"); - private static final String PASSWORD = System.getProperty("db.password", "password");; + 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; @@ -33,7 +33,7 @@ public DbClient() { public String getCityById(Integer id) { Record1 result = create.select(field("name")) - .from(table("table_name")) + .from(table("City")) .where(field("id").equal(id)) .fetchOne(); return result.getValue(0, String.class); diff --git a/steps-module/pom.xml b/steps-module/pom.xml index c8d18cc..d9f417d 100644 --- a/steps-module/pom.xml +++ b/steps-module/pom.xml @@ -45,6 +45,11 @@ 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 a88f046..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,5 +1,6 @@ package ru.qatools.school.pages; +import lombok.Getter; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.support.FindBy; @@ -14,15 +15,19 @@ /** * 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; @Name("Список городов") @FindBy(css = ".inplace.inplace_displayed") @@ -77,60 +82,4 @@ public MainPage(WebDriver driver) { @FindBy(css = ".wi.weather-image") private WebElement mainImage; - public List getWeatherWidgets() { - return weatherWidget; - } - - public List getPlaces() { - return places; - } - - public WebElement getEditPlace() { - return editPlace; - } - - public WebElement getAddWidget() { - return addWidget; - } - - public List getAutoCompleteValues() { - return autoCompleteValues; - } - - public List getTitleValues() { - return titleValues; - } - - public List getTimeOnWidget() { - return timeOnWidget; - } - - public List getInfoValues() { - return infoValues; - } - - public List getListTemperatures() { - return listTemperatures; - } - - public WebElement getSunrise() { - return sunrise; - } - - public WebElement getSunset() { - return sunset; - } - - public WebElement getWind() { - return wind; - } - - public WebElement getHumidity() { - return humidity; - } - - public WebElement getMainImage() { - return mainImage; - } - } diff --git a/steps-module/src/main/java/ru/qatools/school/pages/MainPageMethods.java b/steps-module/src/main/java/ru/qatools/school/pages/MainPageMethods.java deleted file mode 100644 index 6c5cd24..0000000 --- a/steps-module/src/main/java/ru/qatools/school/pages/MainPageMethods.java +++ /dev/null @@ -1,114 +0,0 @@ -package ru.qatools.school.pages; - -import org.hamcrest.Description; -import org.hamcrest.Matcher; -import org.hamcrest.TypeSafeDiagnosingMatcher; -import org.openqa.selenium.Keys; -import org.openqa.selenium.WebDriver; -import org.openqa.selenium.WebElement; -import ru.qatools.school.pages.blocks.WeatherWidget; - -import java.util.List; -import java.util.regex.Pattern; - -public class MainPageMethods { - - private MainPage mainPage; - - public MainPageMethods(WebDriver driver) { - mainPage = new MainPage(driver); - } - - 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(); - } - - public 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 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; - } - }; - } - - public MainPage getMainPage() { - return mainPage; - } -} 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 e8f974a..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 @@ -3,11 +3,8 @@ import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import ru.qatools.school.pages.MainPage; -import ru.qatools.school.pages.MainPageMethods; import ru.yandex.qatools.allure.annotations.Step; -import java.util.Collections; - import static java.lang.String.format; import static org.hamcrest.core.Is.is; import static org.hamcrest.core.IsEqual.equalTo; @@ -19,9 +16,9 @@ */ public class DefaultSteps { - public static final String MAIN_PAGE = "http://weather.lanwen.ru/#?cities=%s"; - public static final String MAIN_PAGE_WITHOUT_PARAMETERS = "http://weather.lanwen.ru/"; - private static final String NEW_WIDGET = "What a city?"; + 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; @@ -39,11 +36,11 @@ public void openMainPageWithoutParameter() { driver.get(MAIN_PAGE_WITHOUT_PARAMETERS); } - @Step("Должны видеть на странице «{0}»") - public void shouldSee(WebElement...elements) { + @Step("Должны видеть на странице элементы") + public void shouldSee(WebElement... elements) { for (WebElement element : elements) { assertThat("Не отображается элемент: " + element.getAttribute("class") + - " and value: " + element.getAttribute("value"), + " and value: " + element.getAttribute("value"), element, isDisplayed()); } } @@ -54,20 +51,16 @@ public void shouldSeeTitleWidgetEqualCity(String city) { onMainPage().getPlaces().get(0).getText(), equalTo(city)); } - public void addWidgetOnMainPage(String city) { - mainPageMethods().addWidget(); - mainPageMethods().renameWidget(NEW_WIDGET, city); - } - @Step("На главной странице без виджетов отображается кнопка добавить виджет") public void shouldSeeButtonAddWidgetOnMainPage() { - shouldSee(mainPageMethods().getMainPage().getAddWidget()); + shouldSee(onMainPage().getAddWidget()); } @Step("На главной странице должна быть только кнопка добавления города") public void shouldSeeOnlyButtonAddWidget() { + shouldSee(onMainPage().getAddWidget()); assertThat("На главной странице есть виджеты", - mainPageMethods().getAllWidgets().size(), is(0)); + widgetSteps().getAllWidgets().size(), is(0)); } @Step("Должны увидеть главную страницу с кнопкой добавить виджет") @@ -78,33 +71,33 @@ public void shouldSeeButtonOnlyAddWidgetOnMainPageWithoutParameter() { @Step("На главной странице переименование название виджета") public void shouldSeeRenameWidget(String oldName, String newName) { - mainPageMethods().renameWidget(oldName, newName); - shouldSee(mainPageMethods().findElement(mainPageMethods().getAllPlaces(), newName)); + widgetSteps().renameWidget(oldName, newName); + shouldSee(widgetSteps().findElement(widgetSteps().getAllPlaces(), newName)); assertThat("Новое название в списке названий виджетов не найдено", newName, - equalTo(mainPageMethods().getAllPlaces().get(0).getText())); + equalTo(widgetSteps().getAllPlaces().get(0).getText())); } @Step("На главной странице виджеты добавляются") - public void shouldSeeWidgetAdd(String city) { - int count = mainPageMethods().countWidgets(); - addWidgetOnMainPage(city); - assertThat("Widget has", city, is(mainPageMethods().hasItem(mainPageMethods().getAllPlaces()))); - assertThat("Количество виджетов не увеличилось", mainPageMethods().getAllWidgets().size(), is(count + 1)); + public void shouldSeeWidgetAdd() { + int count = widgetSteps().countWidgets(); + widgetSteps().addWidget(); + assertThat("Количество виджетов не увеличилось", + widgetSteps().getAllPlaces().size(), is(count + 1)); } @Step("На главной странице виджет можно удалить") public void shouldSeeWidgetRemove() { - int count = mainPageMethods().countWidgets(); - mainPageMethods().clickOnElement(mainPageMethods().getAllWidgets().get(0).getRemoveBtn()); + int count = widgetSteps().countWidgets(); + onMainPage().getWeatherWidgets().get(0).getRemoveBtn().click(); assertThat("Количество виджетов не уменьшилось после удаления одного виджета", - mainPageMethods().countWidgets(), is(count - 1)); + widgetSteps().countWidgets(), is(count - 1)); } @Step("На ввод не полного названия города должно срабатывать автозаполнение") public void shouldAutocompliteCity(String city) { - mainPageMethods().autoComplete(city); + widgetSteps().autoComplete(city); assertThat("Заголовок города равен названию набираемого города", - mainPageMethods().getAllPlaces().get(0).getText(), equalTo(city)); + widgetSteps().getAllPlaces().get(0).getText(), equalTo(city)); } @Step("На главной странице меняется формат градусов") @@ -116,11 +109,12 @@ public void shouldSeeChangeFormatTemperature() { } public void shouldSeeWidgetElements() { - shouldSee(onMainPage().getTitleValues().toArray(new WebElement[onMainPage().getTitleValues().size()])); - shouldSee(onMainPage().getHumidity()); - shouldSee(onMainPage().getSunrise()); - shouldSee(onMainPage().getSunset()); - shouldSee(onMainPage().getWind()); + shouldSee(onMainPage().getTitleValues(). + toArray(new WebElement[onMainPage().getTitleValues().size()])); + + shouldSee(onMainPage().getHumidity(), onMainPage().getSunrise(), + onMainPage().getSunset(), onMainPage().getWind()); + widgetSteps().shouldSeeFormatTimeSunrise(); widgetSteps().shouldSeeFormatTimeSunset(); widgetSteps().shouldSeeFormatSpeedWind(); @@ -131,10 +125,6 @@ private MainPage onMainPage() { return new MainPage(driver); } - private MainPageMethods mainPageMethods() { - return new MainPageMethods(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..309b5ef --- /dev/null +++ b/steps-module/src/main/java/ru/qatools/school/steps/websteps/EXPECT_STRING.java @@ -0,0 +1,21 @@ +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/MainPageMethods.java b/steps-module/src/main/java/ru/qatools/school/steps/websteps/MainPageMethods.java new file mode 100644 index 0000000..ca1fe0a --- /dev/null +++ b/steps-module/src/main/java/ru/qatools/school/steps/websteps/MainPageMethods.java @@ -0,0 +1,23 @@ +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 java.util.List; + +public class MainPageMethods { + + private MainPage mainPage; + + public MainPageMethods(WebDriver driver) { + mainPage = new MainPage(driver); + } + + + public MainPage getMainPage() { + return mainPage; + } +} 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 index 95c7e41..56c9fcb 100644 --- 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 @@ -1,9 +1,14 @@ 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.MainPageMethods; +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; @@ -13,22 +18,11 @@ public class WidgetSteps { private WebDriver driver; - private static final String CELCIUM = "°C"; - private static final String KELVIN = "°K"; - private static final String FARINGEIT = "°F"; - private static final String KAIF = "°Kaif"; - private static final String SUNRISE_TIME = "^[0-2][0-9]:[0-5][0-9]$"; - private static final String SUNSET_TIME = "^[0-2][0-9]:[0-5][0-9]$"; - private static final String WIND_SPEED = "^\\d m/s"; - private static final String HUMIDITY_VALUE = "^[0-9]+ %"; - public WidgetSteps(WebDriver driver) { this.driver = driver; } - private MainPage onMainPage() { - return new MainPage(driver); - } + private MainPage mainPage = new MainPage(driver); private MainPageMethods mainPageMethods() { return new MainPageMethods(driver); @@ -36,54 +30,114 @@ private MainPageMethods mainPageMethods() { @Step("Должны увидеть изменение формата вывода градусов") public void shouldSeeChangeFormatDegreeCelciumToKelvin() { - mainPageMethods().getAllWidgets().get(0).getWeatherBlock().click(); - assertThat("Не произошло преобразование градусов цельсия в градусы кельвина", - mainPageMethods().getAllWidgets().get(0).getWeatherType().getText(), equalTo(KELVIN)); + getAllWidgets().get(0).getWeatherBlock().click(); + assertThat("Не изменился формат вывода с градусов цельсия в градусы кельвина", + getAllWidgets().get(0).getWeatherType().getText(), + equalTo(EXPECT_STRING.KELVIN.toString())); } @Step("Должны увидеть изменение формата вывода градусов") public void shouldSeeChangeFormatDegreeKelvinToFarengeit() { - mainPageMethods().getAllWidgets().get(0).getWeatherBlock().click(); - assertThat("Не произошло преобразование градусов в кельвинах в градусы фаренгейта", - mainPageMethods().getAllWidgets().get(0).getWeatherType().getText(), equalTo(FARINGEIT)); + getAllWidgets().get(0).getWeatherBlock().click(); + assertThat("Не изменился формат вывода с градусов в кельвинах в градусы фаренгейта", + getAllWidgets().get(0).getWeatherType().getText(), + equalTo(EXPECT_STRING.FARINGEIT.toString())); } @Step("Должны увидеть изменение формата вывода градусов") public void shouldSeeChangeFormatDegreeFarengeitToKaif() { - mainPageMethods().getAllWidgets().get(0).getWeatherBlock().click(); - assertThat("Не произошло преобразование градусов фаренгейта в градусы °Kaif", - mainPageMethods().getAllWidgets().get(0).getWeatherType().getText(), equalTo(KAIF)); + getAllWidgets().get(0).getWeatherBlock().click(); + assertThat("Не изменился формат вывода с градусов фаренгейта в градусы °Kaif", + getAllWidgets().get(0).getWeatherType().getText(), + equalTo(EXPECT_STRING.KAIF.toString())); } @Step("Начальное открытие виджета, единица измерений температуры Цельсий") public void shouldSeeTemperatureCelcium() { assertThat("Начальное значение температуры не в Цельсиях", - mainPageMethods().getAllWidgets().get(0).getWeatherType().getText(), equalTo(CELCIUM)); + getAllWidgets().get(0).getWeatherType().getText(), + equalTo(EXPECT_STRING.CELCIUM.toString())); } @Step("Формат времени для значения поля рассвет должен быть 'xx:xx'") public void shouldSeeFormatTimeSunrise() { assertThat("Формат времени для значения поля рассвет не 'xx:xx'", - mainPageMethods().getMainPage().getInfoValues().get(0).getText(), mainPageMethods().stringMatcher(SUNRISE_TIME)); + mainPageMethods().getMainPage().getInfoValues().get(0).getText(), + WebDriverMatchers.stringMatcher(EXPECT_STRING.SUNRISE_TIME.toString())); } @Step("Формат времени для значения поля закат должен быть 'xx:xx'") public void shouldSeeFormatTimeSunset() { assertThat("Формат времени для значения поля закат не 'xx:xx'", - onMainPage().getInfoValues().get(1).getText(), mainPageMethods().stringMatcher(SUNSET_TIME)); + mainPage.getInfoValues().get(1).getText(), + WebDriverMatchers.stringMatcher(EXPECT_STRING.SUNSET_TIME.toString())); } @Step("Формат времени для значения поля скорость ветра должен быть 'xx m/s'") public void shouldSeeFormatSpeedWind() { assertThat("Формат времени для значения поля скорость ветра не 'xx m/s'", - onMainPage().getInfoValues().get(2).getText(), mainPageMethods().stringMatcher(WIND_SPEED)); + mainPage.getInfoValues().get(2).getText(), + WebDriverMatchers.stringMatcher(EXPECT_STRING.WIND_SPEED.toString())); } @Step("Формат времени для значения поля влажность должен быть 'xx %'") public void shouldSeeFormatHumidity() { assertThat("Формат времени для значения поля влажность не 'xx %'", - onMainPage().getInfoValues().get(3).getText(), mainPageMethods().stringMatcher(HUMIDITY_VALUE)); + 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(); + } + + + } From b31f89bbc59f3833e518d51024166aafbf48a471 Mon Sep 17 00:00:00 2001 From: Igor Merkushev Date: Fri, 29 Apr 2016 21:50:23 +0300 Subject: [PATCH 78/82] correct WebTest --- .../school/steps/websteps/EXPECT_STRING.java | 1 - .../steps/websteps/MainPageMethods.java | 23 ------------------- .../school/steps/websteps/WidgetSteps.java | 9 +++----- 3 files changed, 3 insertions(+), 30 deletions(-) delete mode 100644 steps-module/src/main/java/ru/qatools/school/steps/websteps/MainPageMethods.java 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 index 309b5ef..f4b8ce9 100644 --- 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 @@ -13,7 +13,6 @@ public enum EXPECT_STRING { this.value = value; } - @Override public String toString() { return value; diff --git a/steps-module/src/main/java/ru/qatools/school/steps/websteps/MainPageMethods.java b/steps-module/src/main/java/ru/qatools/school/steps/websteps/MainPageMethods.java deleted file mode 100644 index ca1fe0a..0000000 --- a/steps-module/src/main/java/ru/qatools/school/steps/websteps/MainPageMethods.java +++ /dev/null @@ -1,23 +0,0 @@ -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 java.util.List; - -public class MainPageMethods { - - private MainPage mainPage; - - public MainPageMethods(WebDriver driver) { - mainPage = new MainPage(driver); - } - - - public MainPage getMainPage() { - return mainPage; - } -} 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 index 56c9fcb..f0351b6 100644 --- 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 @@ -20,13 +20,10 @@ public class WidgetSteps { public WidgetSteps(WebDriver driver) { this.driver = driver; + mainPage = new MainPage(driver); } - private MainPage mainPage = new MainPage(driver); - - private MainPageMethods mainPageMethods() { - return new MainPageMethods(driver); - } + private MainPage mainPage; @Step("Должны увидеть изменение формата вывода градусов") public void shouldSeeChangeFormatDegreeCelciumToKelvin() { @@ -62,7 +59,7 @@ public void shouldSeeTemperatureCelcium() { @Step("Формат времени для значения поля рассвет должен быть 'xx:xx'") public void shouldSeeFormatTimeSunrise() { assertThat("Формат времени для значения поля рассвет не 'xx:xx'", - mainPageMethods().getMainPage().getInfoValues().get(0).getText(), + mainPage.getInfoValues().get(0).getText(), WebDriverMatchers.stringMatcher(EXPECT_STRING.SUNRISE_TIME.toString())); } From 3b3aa0412a14c62583017f4bf286a6d45126fb4a Mon Sep 17 00:00:00 2001 From: "merkushev.io" Date: Sat, 30 Apr 2016 08:22:05 +0300 Subject: [PATCH 79/82] init webapi tests, refactor webdriver tests, add db test --- .../src/main/java/ru/qatools/school/rules/WebApiRule.java | 4 ---- 1 file changed, 4 deletions(-) delete mode 100644 steps-module/src/main/java/ru/qatools/school/rules/WebApiRule.java diff --git a/steps-module/src/main/java/ru/qatools/school/rules/WebApiRule.java b/steps-module/src/main/java/ru/qatools/school/rules/WebApiRule.java deleted file mode 100644 index 5ddc0e7..0000000 --- a/steps-module/src/main/java/ru/qatools/school/rules/WebApiRule.java +++ /dev/null @@ -1,4 +0,0 @@ -package ru.qatools.school.rules; - -public class WebApiRule { -} From 24120e8162ecaf66cde57255bf63aaa3286cd37f Mon Sep 17 00:00:00 2001 From: Igor Merkushev Date: Tue, 3 May 2016 13:30:13 +0300 Subject: [PATCH 80/82] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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) From 3231a527aaec083318f4a9a94a4751985aa360ca Mon Sep 17 00:00:00 2001 From: Igor Merkushev Date: Tue, 3 May 2016 13:53:23 +0300 Subject: [PATCH 81/82] readme --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 887dbd4..69e007d 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,3 @@ -Repository с файлом для docker. -https://github.com/merkushevio/docker.git +# Practice of automation school 2016 +See all info in repo [autoschool/autoschool.github.io](https://github.com/autoschool/autoschool.github.io) From d077e0de84fb84c3fbcb3af73f9f2fe6cfcaf0a0 Mon Sep 17 00:00:00 2001 From: Igor Merkushev Date: Tue, 3 May 2016 14:01:57 +0300 Subject: [PATCH 82/82] readme --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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)