diff --git a/core/src/main/java/de/otto/jlineup/browser/BrowserUtils.java b/core/src/main/java/de/otto/jlineup/browser/BrowserUtils.java index 6bf56b8c..f61c78ce 100644 --- a/core/src/main/java/de/otto/jlineup/browser/BrowserUtils.java +++ b/core/src/main/java/de/otto/jlineup/browser/BrowserUtils.java @@ -240,7 +240,7 @@ private static List buildTestContexts(RunStepConfig runStepCo for (final String path : paths) { //TODO: alternatingCookies screenshotContextList.add(new ScreenshotContext(prepareDomain(runStepConfig, urlConfigEntry.getValue().url), path, deviceConfigBuilder().build(), - Collections.emptyList(), runStepConfig.getBrowserStep(), urlConfigEntry.getValue(), getFullPathOfReportDir(runStepConfig), false, urlConfigEntry.getKey())); + urlConfigEntry.getValue().cookies, runStepConfig.getBrowserStep(), urlConfigEntry.getValue(), getFullPathOfReportDir(runStepConfig), false, urlConfigEntry.getKey())); } } return screenshotContextList; diff --git a/core/src/test/java/de/otto/jlineup/browser/BrowserUtilsTest.java b/core/src/test/java/de/otto/jlineup/browser/BrowserUtilsTest.java index 7fc25540..f9d8694f 100644 --- a/core/src/test/java/de/otto/jlineup/browser/BrowserUtilsTest.java +++ b/core/src/test/java/de/otto/jlineup/browser/BrowserUtilsTest.java @@ -8,6 +8,7 @@ import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; import org.openqa.selenium.firefox.FirefoxDriver; +import org.springframework.boot.autoconfigure.batch.BatchProperties; import java.io.IOException; import java.util.List; @@ -84,8 +85,8 @@ public void shouldGenerateScreenshotsParameters() throws IOException { ScreenshotContext.of("https://www.otto.de", "multimedia", deviceConfig(600, expectedHeight), before, expectedUrlConfigForOttoDe, expectedUrlConfigForOttoDe.cookies), ScreenshotContext.of("https://www.otto.de", "multimedia", deviceConfig(800, expectedHeight), before, expectedUrlConfigForOttoDe, expectedUrlConfigForOttoDe.cookies), ScreenshotContext.of("https://www.otto.de", "multimedia", deviceConfig(1200, expectedHeight), before, expectedUrlConfigForOttoDe, expectedUrlConfigForOttoDe.cookies), - ScreenshotContext.of("http://www.doodle.de", "/", deviceConfig(1200, expectedHeight), before, expectedUrlConfigForGoogleDe, Stream.concat(expectedUrlConfigForGoogleDe.cookies.stream(), expectedUrlConfigForGoogleDe.alternatingCookies.get(0).stream()).collect(Collectors.toList()),"http://www.google.de"), - ScreenshotContext.of("http://www.doodle.de", "/", deviceConfig(1200, expectedHeight), before, expectedUrlConfigForGoogleDe, Stream.concat(expectedUrlConfigForGoogleDe.cookies.stream(), expectedUrlConfigForGoogleDe.alternatingCookies.get(1).stream()).collect(Collectors.toList()),"http://www.google.de") + ScreenshotContext.of("http://www.doodle.de", "/", deviceConfig(1200, expectedHeight), before, expectedUrlConfigForGoogleDe, Stream.concat(expectedUrlConfigForGoogleDe.cookies.stream(), expectedUrlConfigForGoogleDe.alternatingCookies.get(0).stream()).collect(Collectors.toList()), "http://www.google.de"), + ScreenshotContext.of("http://www.doodle.de", "/", deviceConfig(1200, expectedHeight), before, expectedUrlConfigForGoogleDe, Stream.concat(expectedUrlConfigForGoogleDe.cookies.stream(), expectedUrlConfigForGoogleDe.alternatingCookies.get(1).stream()).collect(Collectors.toList()), "http://www.google.de") ); //when @@ -130,11 +131,55 @@ public void shouldPrepareDomain() { assertThat(result, is("www.bonprix.de")); } + @Test + public void shouldGetFirefoxDriver() { + final JobConfig jobConfig = jobConfigBuilder().withBrowser(FIREFOX).build(); + assertSetDriverType(jobConfig, FirefoxDriver.class); + } + + @Test + public void shouldGetChromeDriver() { + final JobConfig jobConfig = jobConfigBuilder().withBrowser(CHROME).build(); + assertSetDriverType(jobConfig, ChromeDriver.class); + } + + @Test + public void shouldGetChromeDriverForHeadlessChrome() { + final JobConfig jobConfig = jobConfigBuilder().withBrowser(CHROME_HEADLESS).build(); + assertSetDriverType(jobConfig, ChromeDriver.class); + } + + @Test + public void shouldAddCookiesToTestSetupCalls() { + final JobConfig jobConfig = jobConfigBuilder().addUrlConfig(getExpectedUrlConfigForOttoDe().url, getExpectedUrlConfigForOttoDe()).build(); + List screenshotContexts = BrowserUtils.buildTestSetupContexts(runStepConfigBuilder().withStep(RunStep.before).build(), jobConfig); + assertThat(screenshotContexts.size(), is(1)); + assertThat(screenshotContexts.get(0).cookies.size(), is(2)); + assertThat(screenshotContexts.get(0).cookies.get(0).name, is("testcookie1")); + assertThat(screenshotContexts.get(0).cookies.get(0).value, is("true")); + assertThat(screenshotContexts.get(0).cookies.get(1).name, is("testcookie2")); + assertThat(screenshotContexts.get(0).cookies.get(1).value, is("1")); + } + + @Test + public void shouldAddCookiesToTestCleanupCalls() { + final JobConfig jobConfig = jobConfigBuilder().addUrlConfig(getExpectedUrlConfigForOttoDe().url, getExpectedUrlConfigForOttoDe()).build(); + List screenshotContexts = BrowserUtils.buildTestCleanupContexts(runStepConfigBuilder().withStep(RunStep.before).build(), jobConfig); + assertThat(screenshotContexts.size(), is(1)); + assertThat(screenshotContexts.get(0).cookies.size(), is(2)); + assertThat(screenshotContexts.get(0).cookies.get(0).name, is("testcookie1")); + assertThat(screenshotContexts.get(0).cookies.get(0).value, is("true")); + assertThat(screenshotContexts.get(0).cookies.get(1).name, is("testcookie2")); + assertThat(screenshotContexts.get(0).cookies.get(1).value, is("1")); + } + public static UrlConfig getExpectedUrlConfigForOttoDe() { return UrlConfig.urlConfigBuilder() .withUrl("https://www.otto.de") .withPaths(ImmutableList.of("/", "multimedia")) + .withSetupPaths(ImmutableList.of("setup")) + .withCleanupPaths(ImmutableList.of("cleanup")) .withMaxDiff(0.05d) .withCookies(ImmutableList.of(new Cookie("testcookie1", "true"), new Cookie("testcookie2", "1"))) .withEnvMapping(ImmutableMap.of("live", "www")) @@ -167,25 +212,6 @@ public static UrlConfig getExpectedUrlConfigForGoogleDe() { .build(); } - @Test - public void shouldGetFirefoxDriver() { - final JobConfig jobConfig = jobConfigBuilder().withBrowser(FIREFOX).build(); - assertSetDriverType(jobConfig, FirefoxDriver.class); - } - - @Test - public void shouldGetChromeDriver() { - final JobConfig jobConfig = jobConfigBuilder().withBrowser(CHROME).build(); - assertSetDriverType(jobConfig, ChromeDriver.class); - } - - @Test - public void shouldGetChromeDriverForHeadlessChrome() { - final JobConfig jobConfig = jobConfigBuilder().withBrowser(CHROME_HEADLESS).build(); - assertSetDriverType(jobConfig, ChromeDriver.class); - } - - private void assertSetDriverType(JobConfig jobConfig, Class driverClass) { WebDriver driver = null; BrowserUtils realBrowserUtils = new BrowserUtils(); diff --git a/core/src/test/resources/lineup_test.json b/core/src/test/resources/lineup_test.json index 6282fc16..2490859a 100644 --- a/core/src/test/resources/lineup_test.json +++ b/core/src/test/resources/lineup_test.json @@ -5,6 +5,12 @@ "/", "multimedia" ], + "setup-paths": [ + "setup" + ], + "cleanup-paths": [ + "cleanup" + ], "max-diff": 0.05, "cookies": [ {