From 5f8752f8da66e0b102ecaea5cb5680924f8e1469 Mon Sep 17 00:00:00 2001 From: YamStranger Date: Sat, 5 Dec 2015 12:07:31 +0000 Subject: [PATCH 1/2] 216_issue: update versions --- build.gradle | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 20071ffe7b..8996e5d948 100644 --- a/build.gradle +++ b/build.gradle @@ -31,6 +31,7 @@ ext { springVersion = '4.1.6.RELEASE' guavaVersion = '18.0' restAssuredVersion = '2.4.1' + mockitoCoreVersion = '1.10.19' // Bintray configuration bintrayBaseUrl = 'https://api.bintray.com/maven' @@ -206,7 +207,7 @@ subprojects { compile 'commons-logging:commons-logging:1.2' compile "junit:junit:${junitVersion}" - compile('org.mockito:mockito-core:1.9.5') { + compile("org.mockito:mockito-core:${mockitoCoreVersion}") { exclude group: "org.hamcrest", module:"hamcrest-core" exclude group: "org.objenesis", module:"objenesis" } From c44f078c170cb7963d9703c9dd7fa72d6f9d955b Mon Sep 17 00:00:00 2001 From: YamStranger Date: Sun, 6 Dec 2015 22:47:55 +0000 Subject: [PATCH 2/2] 218_issue: added test for checking if web scenarious executed successfully with HTMLUnit (fails now, so added @Ignore) --- ...enRunningATestScenarioWithScreenshots.java | 22 ++++++++++++- ...ongSamplePassingScenarioUsingHTMLUnit.java | 31 +++++++++++++++++++ ...ngSamplePassingScenarioUsingPhantomJS.java | 7 +++-- 3 files changed, 56 insertions(+), 4 deletions(-) create mode 100644 serenity-junit/src/test/java/net/thucydides/samples/LongSamplePassingScenarioUsingHTMLUnit.java diff --git a/serenity-junit/src/test/java/net/serenitybdd/junit/runners/integration/WhenRunningATestScenarioWithScreenshots.java b/serenity-junit/src/test/java/net/serenitybdd/junit/runners/integration/WhenRunningATestScenarioWithScreenshots.java index afccb1da21..f669251d30 100644 --- a/serenity-junit/src/test/java/net/serenitybdd/junit/runners/integration/WhenRunningATestScenarioWithScreenshots.java +++ b/serenity-junit/src/test/java/net/serenitybdd/junit/runners/integration/WhenRunningATestScenarioWithScreenshots.java @@ -2,10 +2,13 @@ import net.serenitybdd.junit.runners.SerenityRunner; import net.thucydides.core.model.TestOutcome; +import net.thucydides.core.model.TestResult; import net.thucydides.junit.rules.DisableThucydidesHistoryRule; import net.thucydides.junit.rules.QuietThucydidesLoggingRule; import net.thucydides.junit.runners.AbstractTestStepRunnerTest; +import net.thucydides.samples.LongSamplePassingScenarioUsingHTMLUnit; import net.thucydides.samples.LongSamplePassingScenarioUsingPhantomJS; +import org.junit.Ignore; import org.junit.Rule; import org.junit.Test; import org.junit.runner.notification.RunNotifier; @@ -26,7 +29,7 @@ public class WhenRunningATestScenarioWithScreenshots extends AbstractTestStepRun public DisableThucydidesHistoryRule disableThucydidesHistoryRule = new DisableThucydidesHistoryRule(); @Test - public void the_test_runner_records_the_steps_as_they_are_executed() throws InitializationError { + public void the_test_runner_records_the_steps_as_they_are_executed_with_phantom_js() throws InitializationError { SerenityRunner runner = new SerenityRunner(LongSamplePassingScenarioUsingPhantomJS.class); runner.run(new RunNotifier()); @@ -39,6 +42,23 @@ public void the_test_runner_records_the_steps_as_they_are_executed() throws Init assertThat(testOutcome1.getName(), is("happy_day_scenario")); assertThat(testOutcome1.getTestSteps().size(), is(3)); assertThat(testOutcome1.getScreenshots().size(), is(not(0))); + assertThat(testOutcome1.getResult(), is(TestResult.SUCCESS)); } + @Test + @Ignore + public void the_test_runner_records_the_steps_as_they_are_executed_with_html_unit() throws InitializationError { + SerenityRunner runner = new SerenityRunner(LongSamplePassingScenarioUsingHTMLUnit.class); + runner.run(new RunNotifier()); + + List executedSteps = runner.getTestOutcomes(); + assertThat(executedSteps.size(), is(1)); + TestOutcome testOutcome1 = executedSteps.get(0); + + assertThat(testOutcome1.getTitle(), is("Happy day scenario")); + assertThat(testOutcome1.getName(), is("happy_day_scenario")); + assertThat(testOutcome1.getTestSteps().size(), is(3)); + assertThat(testOutcome1.getScreenshots().size(), is(0)); + assertThat(testOutcome1.getResult(), is(TestResult.SUCCESS)); + } } diff --git a/serenity-junit/src/test/java/net/thucydides/samples/LongSamplePassingScenarioUsingHTMLUnit.java b/serenity-junit/src/test/java/net/thucydides/samples/LongSamplePassingScenarioUsingHTMLUnit.java new file mode 100644 index 0000000000..3eb7fcd15f --- /dev/null +++ b/serenity-junit/src/test/java/net/thucydides/samples/LongSamplePassingScenarioUsingHTMLUnit.java @@ -0,0 +1,31 @@ +package net.thucydides.samples; + +import net.serenitybdd.junit.runners.SerenityRunner; +import net.thucydides.core.annotations.Managed; +import net.thucydides.core.annotations.ManagedPages; +import net.thucydides.core.annotations.Screenshots; +import net.thucydides.core.annotations.Steps; +import net.thucydides.core.pages.Pages; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.openqa.selenium.WebDriver; + +@RunWith(SerenityRunner.class) +public class LongSamplePassingScenarioUsingHTMLUnit { + + @Managed(uniqueSession = true, driver="htmlunit") + public WebDriver webdriver; + + @ManagedPages(defaultUrl = "http://www.wikipedia.org") + public Pages pages; + + @Steps + public SampleScenarioSteps steps; + + @Test + public void happy_day_scenario() throws Throwable { + steps.stepThatUsesABrowser(); + steps.anotherStepThatUsesABrowser(); + steps.aStepThatAlsoUsesABrowser(); + } +} diff --git a/serenity-junit/src/test/java/net/thucydides/samples/LongSamplePassingScenarioUsingPhantomJS.java b/serenity-junit/src/test/java/net/thucydides/samples/LongSamplePassingScenarioUsingPhantomJS.java index d167882d6e..6bb56b4193 100644 --- a/serenity-junit/src/test/java/net/thucydides/samples/LongSamplePassingScenarioUsingPhantomJS.java +++ b/serenity-junit/src/test/java/net/thucydides/samples/LongSamplePassingScenarioUsingPhantomJS.java @@ -1,5 +1,6 @@ package net.thucydides.samples; +import net.serenitybdd.junit.runners.SerenityRunner; import net.thucydides.core.annotations.Managed; import net.thucydides.core.annotations.ManagedPages; import net.thucydides.core.annotations.Steps; @@ -9,15 +10,15 @@ import org.junit.runner.RunWith; import org.openqa.selenium.WebDriver; -@RunWith(ThucydidesRunner.class) +@RunWith(SerenityRunner.class) public class LongSamplePassingScenarioUsingPhantomJS { - + @Managed(uniqueSession = true, driver="phantomjs") public WebDriver webdriver; @ManagedPages(defaultUrl = "classpath:static-site/index.html") public Pages pages; - + @Steps public SampleScenarioSteps steps;