Skip to content

Commit

Permalink
[plugin-web-app] Disable browser console interactions for Safari
Browse files Browse the repository at this point in the history
  • Loading branch information
ikalinin1 committed Aug 22, 2022
1 parent 7eeb518 commit 882b777
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 7 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -59,13 +59,14 @@ public static void resetBuffer(WebDriver driver, boolean ignoreUnsupportedDriver
private static Optional<LogEntries> getLog(WebDriver driver, boolean ignoreUnsupportedDrivers)
{
// The Selenium log API isn't supported: https://github.com/w3c/webdriver/issues/406
if (WebDriverManager.isBrowserAnyOf(driver, Browser.FIREFOX, Browser.IE))
// Safari: https://developer.apple.com/documentation/webkit/macos_webdriver_commands_for_safari_11_1_and_earlier
if (WebDriverManager.isBrowserAnyOf(driver, Browser.FIREFOX, Browser.IE, Browser.SAFARI))
{
if (ignoreUnsupportedDrivers)
{
return Optional.empty();
}
throw new IllegalStateException("Firefox does not support retrieval of browser logs");
throw new IllegalStateException("Browser does not support retrieval of browser logs");
}
return Optional.of(driver.manage().logs().get(LogType.BROWSER));
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright 2019-2021 the original author or authors.
* Copyright 2019-2022 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
Expand Down Expand Up @@ -29,8 +29,12 @@
import java.util.Arrays;
import java.util.Set;
import java.util.logging.Level;
import java.util.stream.Stream;

import org.junit.jupiter.api.Test;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.Arguments;
import org.junit.jupiter.params.provider.MethodSource;
import org.openqa.selenium.Capabilities;
import org.openqa.selenium.HasCapabilities;
import org.openqa.selenium.WebDriver;
Expand Down Expand Up @@ -71,13 +75,21 @@ void shouldReturnFilteredLogContainingNoEntries()
assertEquals(emptySet(), filteredLog);
}

@Test
void shouldNotReturnLogsForFirefox()
static Stream<Arguments> notSupportedBrowsers()
{
WebDriver webDriver = mockBrowserName(Browser.FIREFOX.browserName());
return Stream.of(Arguments.of(Browser.IE),
Arguments.of(Browser.SAFARI),
Arguments.of(Browser.FIREFOX));
}

@ParameterizedTest
@MethodSource("notSupportedBrowsers")
void shouldFailWhenBrowserDoesntSupportsLogs(Browser browser)
{
WebDriver webDriver = mockBrowserName(browser.browserName());
IllegalStateException exception = assertThrows(IllegalStateException.class,
() -> BrowserLogManager.getLog(webDriver));
assertEquals("Firefox does not support retrieval of browser logs", exception.getMessage());
assertEquals("Browser does not support retrieval of browser logs", exception.getMessage());
}

@Test
Expand Down

0 comments on commit 882b777

Please sign in to comment.