You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

ClosingWindowWithBrowserFrameShouldntGenerate404Test.java 1.6KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. package com.vaadin.tests.components.window;
  2. import java.util.Arrays;
  3. import java.util.List;
  4. import org.junit.Assert;
  5. import org.junit.Test;
  6. import org.openqa.selenium.logging.LogEntry;
  7. import org.openqa.selenium.remote.DesiredCapabilities;
  8. import com.vaadin.testbench.elements.ButtonElement;
  9. import com.vaadin.testbench.elements.LabelElement;
  10. import com.vaadin.testbench.elements.WindowElement;
  11. import com.vaadin.testbench.parallel.Browser;
  12. import com.vaadin.tests.tb3.MultiBrowserTest;
  13. public class ClosingWindowWithBrowserFrameShouldntGenerate404Test
  14. extends MultiBrowserTest {
  15. private static boolean contains404(LogEntry logEntry) {
  16. return logEntry.getMessage().contains("404");
  17. }
  18. @Test
  19. public void openWindowWithFrame_closeWindow_no404() {
  20. openTestURL();
  21. $(ButtonElement.class).first().click();
  22. $(WindowElement.class).first().close();
  23. $(LabelElement.class).exists();
  24. List<LogEntry> logs = getDriver().manage().logs().get("browser")
  25. .getAll();
  26. Assert.assertTrue(theresNoLogWith404In(logs));
  27. }
  28. private boolean theresNoLogWith404In(List<LogEntry> logs) {
  29. return !logs.stream().anyMatch(
  30. ClosingWindowWithBrowserFrameShouldntGenerate404Test::contains404);
  31. }
  32. @Override
  33. public List<DesiredCapabilities> getBrowsersToTest() {
  34. // IE and Firefox drivers do not support logging API, see
  35. // https://github.com/SeleniumHQ/selenium/issues/6414
  36. // https://github.com/mozilla/geckodriver/issues/284
  37. return Arrays.asList(Browser.CHROME.getDesiredCapabilities());
  38. }
  39. }