diff --git a/examples/java/src/test/java/dev/selenium/BaseTest.java b/examples/java/src/test/java/dev/selenium/BaseTest.java index b12214c5a71b..70ac73b5a63f 100644 --- a/examples/java/src/test/java/dev/selenium/BaseTest.java +++ b/examples/java/src/test/java/dev/selenium/BaseTest.java @@ -16,6 +16,7 @@ import org.openqa.selenium.WebElement; import org.openqa.selenium.chrome.ChromeDriver; import org.openqa.selenium.chrome.ChromeOptions; +import org.openqa.selenium.edge.EdgeOptions; import org.openqa.selenium.firefox.FirefoxDriver; import org.openqa.selenium.firefox.FirefoxOptions; import org.openqa.selenium.grid.Main; @@ -57,6 +58,18 @@ protected ChromeDriver startChromeDriver(ChromeOptions options) { return (ChromeDriver) driver; } + protected static ChromeOptions getDefaultChromeOptions() { + ChromeOptions options = new ChromeOptions(); + options.addArguments("--no-sandbox"); + return options; + } + + protected static EdgeOptions getDefaultEdgeOptions() { + EdgeOptions options = new EdgeOptions(); + options.addArguments("--no-sandbox"); + return options; + } + protected File getTempDirectory(String prefix) { File tempDirectory = null; try { diff --git a/examples/java/src/test/java/dev/selenium/bidi/cdp/CdpApiTest.java b/examples/java/src/test/java/dev/selenium/bidi/cdp/CdpApiTest.java index c2b039e759b7..79b94137deaf 100644 --- a/examples/java/src/test/java/dev/selenium/bidi/cdp/CdpApiTest.java +++ b/examples/java/src/test/java/dev/selenium/bidi/cdp/CdpApiTest.java @@ -26,7 +26,7 @@ public class CdpApiTest extends BaseTest { @BeforeEach public void createSession() { - ChromeOptions options = new ChromeOptions(); + ChromeOptions options = getDefaultChromeOptions(); options.setBrowserVersion("131"); driver = new ChromeDriver(options); wait = new WebDriverWait(driver, Duration.ofSeconds(10)); diff --git a/examples/java/src/test/java/dev/selenium/browsers/ChromeTest.java b/examples/java/src/test/java/dev/selenium/browsers/ChromeTest.java index e3363390b4b5..0161c6ceec34 100644 --- a/examples/java/src/test/java/dev/selenium/browsers/ChromeTest.java +++ b/examples/java/src/test/java/dev/selenium/browsers/ChromeTest.java @@ -34,13 +34,13 @@ public void clearProperties() { @Test public void basicOptions() { - ChromeOptions options = new ChromeOptions(); + ChromeOptions options = getDefaultChromeOptions(); driver = new ChromeDriver(options); } @Test public void arguments() { - ChromeOptions options = new ChromeOptions(); + ChromeOptions options = getDefaultChromeOptions(); options.addArguments("--start-maximized"); @@ -49,7 +49,7 @@ public void arguments() { @Test public void setBrowserLocation() { - ChromeOptions options = new ChromeOptions(); + ChromeOptions options = getDefaultChromeOptions(); options.setBinary(getChromeLocation()); @@ -58,7 +58,7 @@ public void setBrowserLocation() { @Test public void extensionOptions() { - ChromeOptions options = new ChromeOptions(); + ChromeOptions options = getDefaultChromeOptions(); Path path = Paths.get("src/test/resources/extensions/webextensions-selenium-example.crx"); File extensionFilePath = new File(path.toUri()); @@ -73,7 +73,7 @@ public void extensionOptions() { @Test public void excludeSwitches() { - ChromeOptions options = new ChromeOptions(); + ChromeOptions options = getDefaultChromeOptions(); options.setExperimentalOption("excludeSwitches", List.of("disable-popup-blocking")); @@ -82,7 +82,7 @@ public void excludeSwitches() { @Test public void loggingPreferences() { - ChromeOptions options = new ChromeOptions(); + ChromeOptions options = getDefaultChromeOptions(); LoggingPreferences logPrefs = new LoggingPreferences(); logPrefs.enable(LogType.PERFORMANCE, Level.ALL); options.setCapability(ChromeOptions.LOGGING_PREFS, logPrefs); @@ -175,7 +175,7 @@ public void disableBuildChecks() throws IOException { } private File getChromeLocation() { - ChromeOptions options = new ChromeOptions(); + ChromeOptions options = getDefaultChromeOptions(); options.setBrowserVersion("stable"); DriverFinder finder = new DriverFinder(ChromeDriverService.createDefaultService(), options); return new File(finder.getBrowserPath()); diff --git a/examples/java/src/test/java/dev/selenium/browsers/EdgeTest.java b/examples/java/src/test/java/dev/selenium/browsers/EdgeTest.java index 3925d763d71a..534d78a4cb6f 100644 --- a/examples/java/src/test/java/dev/selenium/browsers/EdgeTest.java +++ b/examples/java/src/test/java/dev/selenium/browsers/EdgeTest.java @@ -35,13 +35,13 @@ public void clearProperties() { @Test public void basicOptions() { - EdgeOptions options = new EdgeOptions(); + EdgeOptions options = getDefaultEdgeOptions(); driver = new EdgeDriver(options); } @Test public void arguments() { - EdgeOptions options = new EdgeOptions(); + EdgeOptions options = getDefaultEdgeOptions(); options.addArguments("--start-maximized"); @@ -50,7 +50,7 @@ public void arguments() { @Test public void setBrowserLocation() { - EdgeOptions options = new EdgeOptions(); + EdgeOptions options = getDefaultEdgeOptions(); options.setBinary(getEdgeLocation()); @@ -59,7 +59,7 @@ public void setBrowserLocation() { @Test public void extensionOptions() { - EdgeOptions options = new EdgeOptions(); + EdgeOptions options = getDefaultEdgeOptions(); Path path = Paths.get("src/test/resources/extensions/webextensions-selenium-example.crx"); File extensionFilePath = new File(path.toUri()); @@ -74,7 +74,7 @@ public void extensionOptions() { @Test public void excludeSwitches() { - EdgeOptions options = new EdgeOptions(); + EdgeOptions options = getDefaultEdgeOptions(); options.setExperimentalOption("excludeSwitches", List.of("disable-popup-blocking")); @@ -83,7 +83,7 @@ public void excludeSwitches() { @Test public void loggingPreferences() { - EdgeOptions options = new EdgeOptions(); + EdgeOptions options = getDefaultEdgeOptions(); LoggingPreferences logPrefs = new LoggingPreferences(); logPrefs.enable(LogType.PERFORMANCE, Level.ALL); options.setCapability(EdgeOptions.LOGGING_PREFS, logPrefs); @@ -170,7 +170,7 @@ public void disableBuildChecks() throws IOException { } private File getEdgeLocation() { - EdgeOptions options = new EdgeOptions(); + EdgeOptions options = getDefaultEdgeOptions(); options.setBrowserVersion("stable"); DriverFinder finder = new DriverFinder(EdgeDriverService.createDefaultService(), options); return new File(finder.getBrowserPath()); diff --git a/examples/java/src/test/java/dev/selenium/drivers/HttpClientTest.java b/examples/java/src/test/java/dev/selenium/drivers/HttpClientTest.java index 0ae167cb711a..16b36c91432c 100644 --- a/examples/java/src/test/java/dev/selenium/drivers/HttpClientTest.java +++ b/examples/java/src/test/java/dev/selenium/drivers/HttpClientTest.java @@ -41,7 +41,7 @@ public void remoteWebDriverWithClientConfig() throws Exception { .readTimeout(Duration.ofSeconds(3600)) .authenticateAs(new UsernameAndPassword("admin", "myStrongPassword")) .version(HTTP_1_1.toString()); - ChromeOptions options = new ChromeOptions(); + ChromeOptions options = getDefaultChromeOptions(); options.setEnableDownloads(true); driver = RemoteWebDriver.builder() .oneOf(options) @@ -60,7 +60,7 @@ public void remoteWebDriverIgnoreSSL() throws Exception { .readTimeout(Duration.ofSeconds(3600)) .authenticateAs(new UsernameAndPassword("admin", "myStrongPassword")) .version(HTTP_1_1.toString()); - ChromeOptions options = new ChromeOptions(); + ChromeOptions options = getDefaultChromeOptions(); options.setEnableDownloads(true); driver = RemoteWebDriver.builder() .oneOf(options) @@ -78,7 +78,7 @@ public void remoteWebDriverWithEmbedAuthUrl() throws Exception { .connectionTimeout(Duration.ofSeconds(300)) .readTimeout(Duration.ofSeconds(3600)) .version(HTTP_1_1.toString()); - ChromeOptions options = new ChromeOptions(); + ChromeOptions options = getDefaultChromeOptions(); options.setEnableDownloads(true); driver = RemoteWebDriver.builder() .oneOf(options) diff --git a/examples/java/src/test/java/dev/selenium/drivers/OptionsTest.java b/examples/java/src/test/java/dev/selenium/drivers/OptionsTest.java index 3aef0b4b6e3f..0ebf3e7d103d 100644 --- a/examples/java/src/test/java/dev/selenium/drivers/OptionsTest.java +++ b/examples/java/src/test/java/dev/selenium/drivers/OptionsTest.java @@ -18,7 +18,7 @@ public class OptionsTest extends BaseTest { @Test public void setPageLoadStrategyNormal() { - ChromeOptions chromeOptions = new ChromeOptions(); + ChromeOptions chromeOptions = getDefaultChromeOptions(); chromeOptions.setPageLoadStrategy(PageLoadStrategy.NORMAL); WebDriver driver = new ChromeDriver(chromeOptions); try { @@ -31,7 +31,7 @@ public void setPageLoadStrategyNormal() { @Test public void setPageLoadStrategyEager() { - ChromeOptions chromeOptions = new ChromeOptions(); + ChromeOptions chromeOptions = getDefaultChromeOptions(); chromeOptions.setPageLoadStrategy(PageLoadStrategy.EAGER); WebDriver driver = new ChromeDriver(chromeOptions); try { @@ -44,7 +44,7 @@ public void setPageLoadStrategyEager() { @Test public void setPageLoadStrategyNone() { - ChromeOptions chromeOptions = new ChromeOptions(); + ChromeOptions chromeOptions = getDefaultChromeOptions(); chromeOptions.setPageLoadStrategy(PageLoadStrategy.NONE); WebDriver driver = new ChromeDriver(chromeOptions); try { @@ -57,7 +57,7 @@ public void setPageLoadStrategyNone() { @Test public void setAcceptInsecureCerts() { - ChromeOptions chromeOptions = new ChromeOptions(); + ChromeOptions chromeOptions = getDefaultChromeOptions(); chromeOptions.setAcceptInsecureCerts(true); WebDriver driver = new ChromeDriver(chromeOptions); try { @@ -70,14 +70,14 @@ public void setAcceptInsecureCerts() { @Test public void getBrowserName() { - ChromeOptions chromeOptions = new ChromeOptions(); + ChromeOptions chromeOptions = getDefaultChromeOptions(); String name = chromeOptions.getBrowserName(); Assertions.assertFalse(name.isEmpty(), "Browser name should not be empty"); } @Test public void setBrowserVersion() { - ChromeOptions chromeOptions = new ChromeOptions(); + ChromeOptions chromeOptions = getDefaultChromeOptions(); String version = "latest"; chromeOptions.setBrowserVersion(version); Assertions.assertEquals(version, chromeOptions.getBrowserVersion()); @@ -85,7 +85,7 @@ public void setBrowserVersion() { @Test public void setPlatformName() { - ChromeOptions chromeOptions = new ChromeOptions(); + ChromeOptions chromeOptions = getDefaultChromeOptions(); String platform = "OS X 10.6"; chromeOptions.setPlatformName(platform); Assertions.assertEquals(platform, chromeOptions.getPlatformName().toString()); @@ -93,7 +93,7 @@ public void setPlatformName() { @Test public void setScriptTimeout() { - ChromeOptions chromeOptions = new ChromeOptions(); + ChromeOptions chromeOptions = getDefaultChromeOptions(); Duration duration = Duration.of(5, ChronoUnit.SECONDS); chromeOptions.setScriptTimeout(duration); @@ -108,7 +108,7 @@ public void setScriptTimeout() { @Test public void setPageLoadTimeout() { - ChromeOptions chromeOptions = new ChromeOptions(); + ChromeOptions chromeOptions = getDefaultChromeOptions(); Duration duration = Duration.of(5, ChronoUnit.SECONDS); chromeOptions.setPageLoadTimeout(duration); @@ -123,7 +123,7 @@ public void setPageLoadTimeout() { @Test public void setImplicitWaitTimeout() { - ChromeOptions chromeOptions = new ChromeOptions(); + ChromeOptions chromeOptions = getDefaultChromeOptions(); Duration duration = Duration.of(5, ChronoUnit.SECONDS); chromeOptions.setImplicitWaitTimeout(duration); @@ -138,7 +138,7 @@ public void setImplicitWaitTimeout() { @Test public void setUnhandledPromptBehaviour() { - ChromeOptions chromeOptions = new ChromeOptions(); + ChromeOptions chromeOptions = getDefaultChromeOptions(); chromeOptions.setUnhandledPromptBehaviour(UnexpectedAlertBehaviour.DISMISS_AND_NOTIFY); //verify the capability object is not null Object capabilityObject = chromeOptions.getCapability(CapabilityType.UNHANDLED_PROMPT_BEHAVIOUR); @@ -148,7 +148,7 @@ public void setUnhandledPromptBehaviour() { @Test public void setWindowRect() { - ChromeOptions chromeOptions = new ChromeOptions(); + ChromeOptions chromeOptions = getDefaultChromeOptions(); chromeOptions.setCapability(CapabilityType.SET_WINDOW_RECT, true); //verify the capability object is not null Object capabilityObject = chromeOptions.getCapability(CapabilityType.SET_WINDOW_RECT); @@ -160,7 +160,7 @@ public void setWindowRect() { @Test public void setStrictFileInteractability() { - ChromeOptions chromeOptions = new ChromeOptions(); + ChromeOptions chromeOptions = getDefaultChromeOptions(); chromeOptions.setCapability(CapabilityType.STRICT_FILE_INTERACTABILITY, true); //verify the capability object is not null Object capabilityObject = chromeOptions.getCapability(CapabilityType.STRICT_FILE_INTERACTABILITY); diff --git a/examples/java/src/test/java/dev/selenium/drivers/RemoteWebDriverTest.java b/examples/java/src/test/java/dev/selenium/drivers/RemoteWebDriverTest.java index 0521beba213f..cf3851e5284c 100644 --- a/examples/java/src/test/java/dev/selenium/drivers/RemoteWebDriverTest.java +++ b/examples/java/src/test/java/dev/selenium/drivers/RemoteWebDriverTest.java @@ -35,13 +35,13 @@ public void startGrid() { @Test public void runRemote() { - ChromeOptions options = new ChromeOptions(); + ChromeOptions options = getDefaultChromeOptions(); driver = new RemoteWebDriver(gridUrl, options); } @Test public void uploads() { - ChromeOptions options = new ChromeOptions(); + ChromeOptions options = getDefaultChromeOptions(); driver = new RemoteWebDriver(gridUrl, options); driver.get("https://the-internet.herokuapp.com/upload"); File uploadFile = new File("src/test/resources/selenium-snapshot.png"); @@ -57,7 +57,7 @@ public void uploads() { @Test public void downloads() throws IOException { - ChromeOptions options = new ChromeOptions(); + ChromeOptions options = getDefaultChromeOptions(); options.setEnableDownloads(true); driver = new RemoteWebDriver(gridUrl, options); @@ -92,7 +92,7 @@ public void downloads() throws IOException { @Test public void augment() { - ChromeOptions options = new ChromeOptions(); + ChromeOptions options = getDefaultChromeOptions(); driver = new RemoteWebDriver(gridUrl, options); driver = new Augmenter().augment(driver); @@ -105,7 +105,7 @@ public void remoteWebDriverBuilder() { driver = RemoteWebDriver.builder() .address(gridUrl) - .oneOf(new ChromeOptions()) + .oneOf(getDefaultChromeOptions()) .setCapability("ext:options", Map.of("key", "value")) .config(ClientConfig.defaultConfig()) .build(); diff --git a/examples/java/src/test/java/dev/selenium/drivers/ServiceTest.java b/examples/java/src/test/java/dev/selenium/drivers/ServiceTest.java index e8dc59688e3c..4a2eef8507bc 100644 --- a/examples/java/src/test/java/dev/selenium/drivers/ServiceTest.java +++ b/examples/java/src/test/java/dev/selenium/drivers/ServiceTest.java @@ -19,7 +19,7 @@ public void defaultService() { @Test public void setDriverLocation() { setBinaryPaths(); - ChromeOptions options = new ChromeOptions(); + ChromeOptions options = getDefaultChromeOptions(); options.setBinary(browserPath); ChromeDriverService service = @@ -36,7 +36,7 @@ public void setPort() { } private void setBinaryPaths() { - ChromeOptions options = new ChromeOptions(); + ChromeOptions options = getDefaultChromeOptions(); options.setBrowserVersion("stable"); DriverFinder finder = new DriverFinder(ChromeDriverService.createDefaultService(), options); driverPath = new File(finder.getDriverPath()); diff --git a/examples/java/src/test/java/dev/selenium/interactions/AlertsTest.java b/examples/java/src/test/java/dev/selenium/interactions/AlertsTest.java index 5b20009693fa..5b42e0299f12 100644 --- a/examples/java/src/test/java/dev/selenium/interactions/AlertsTest.java +++ b/examples/java/src/test/java/dev/selenium/interactions/AlertsTest.java @@ -15,6 +15,7 @@ // specific language governing permissions and limitations // under the License. +import dev.selenium.BaseTest; import org.junit.jupiter.api.Test; import org.openqa.selenium.*; import org.openqa.selenium.chrome.ChromeDriver; @@ -26,12 +27,12 @@ import static org.junit.jupiter.api.Assertions.assertEquals; -public class AlertsTest { +public class AlertsTest extends BaseTest { @Test public void testForAlerts() throws Exception { - ChromeOptions chromeOptions = new ChromeOptions(); + ChromeOptions chromeOptions = getDefaultChromeOptions(); chromeOptions.addArguments("disable-search-engine-choice-screen"); WebDriver driver = new ChromeDriver(chromeOptions); diff --git a/examples/java/src/test/java/dev/selenium/interactions/PrintsPageTest.java b/examples/java/src/test/java/dev/selenium/interactions/PrintsPageTest.java index 30b9c6f82d2e..b6b6dae776f3 100644 --- a/examples/java/src/test/java/dev/selenium/interactions/PrintsPageTest.java +++ b/examples/java/src/test/java/dev/selenium/interactions/PrintsPageTest.java @@ -16,7 +16,7 @@ public class PrintsPageTest extends BaseTest{ @BeforeEach public void setup() { - ChromeOptions options = new ChromeOptions(); + ChromeOptions options = getDefaultChromeOptions(); options.setCapability("webSocketUrl", true); driver = new ChromeDriver(options); } diff --git a/examples/python/tests/browsers/test_chrome.py b/examples/python/tests/browsers/test_chrome.py index 3f72785d4077..05ed61e44d3d 100644 --- a/examples/python/tests/browsers/test_chrome.py +++ b/examples/python/tests/browsers/test_chrome.py @@ -6,14 +6,14 @@ from selenium.webdriver.common.by import By def test_basic_options(): - options = webdriver.ChromeOptions() + options = get_default_chrome_options() driver = webdriver.Chrome(options=options) driver.quit() def test_args(): - options = webdriver.ChromeOptions() + options = get_default_chrome_options() options.add_argument("--start-maximized") @@ -24,7 +24,7 @@ def test_args(): def test_set_browser_location(chrome_bin): - options = webdriver.ChromeOptions() + options = get_default_chrome_options() options.binary_location = chrome_bin @@ -34,7 +34,7 @@ def test_set_browser_location(chrome_bin): def test_add_extension(): - options = webdriver.ChromeOptions() + options = get_default_chrome_options() extension_file_path = os.path.abspath("tests/extensions/webextensions-selenium-example.crx") options.add_extension(extension_file_path) @@ -46,7 +46,7 @@ def test_add_extension(): def test_keep_browser_open(): - options = webdriver.ChromeOptions() + options = get_default_chrome_options() options.add_experimental_option("detach", True) @@ -57,7 +57,7 @@ def test_keep_browser_open(): def test_exclude_switches(): - options = webdriver.ChromeOptions() + options = get_default_chrome_options() options.add_experimental_option('excludeSwitches', ['disable-popup-blocking']) @@ -188,3 +188,8 @@ def test_get_browser_logs(): # Assert that at least one log contains the expected message assert any("I am console error" in log['message'] for log in logs), "No matching log message found." driver.quit() + +def get_default_chrome_options(): + options = webdriver.ChromeOptions() + options.add_argument("--no-sandbox") + return options diff --git a/examples/python/tests/browsers/test_edge.py b/examples/python/tests/browsers/test_edge.py index 7a368fb5a04d..457742ca4163 100644 --- a/examples/python/tests/browsers/test_edge.py +++ b/examples/python/tests/browsers/test_edge.py @@ -6,14 +6,14 @@ from selenium.webdriver.common.by import By def test_basic_options(): - options = webdriver.EdgeOptions() + options = get_default_edge_options() driver = webdriver.Edge(options=options) driver.quit() def test_args(): - options = webdriver.EdgeOptions() + options = get_default_edge_options() options.add_argument("--start-maximized") @@ -24,7 +24,7 @@ def test_args(): def test_set_browser_location(edge_bin): - options = webdriver.EdgeOptions() + options = get_default_edge_options() options.binary_location = edge_bin @@ -34,7 +34,7 @@ def test_set_browser_location(edge_bin): def test_add_extension(): - options = webdriver.EdgeOptions() + options = get_default_edge_options() extension_file_path = os.path.abspath("tests/extensions/webextensions-selenium-example.crx") options.add_extension(extension_file_path) @@ -46,7 +46,7 @@ def test_add_extension(): def test_keep_browser_open(): - options = webdriver.EdgeOptions() + options = get_default_edge_options() options.add_experimental_option("detach", True) @@ -57,7 +57,7 @@ def test_keep_browser_open(): def test_exclude_switches(): - options = webdriver.EdgeOptions() + options = get_default_edge_options() options.add_experimental_option('excludeSwitches', ['disable-popup-blocking']) @@ -188,3 +188,8 @@ def test_get_browser_logs(): # Assert that at least one log contains the expected message assert any("I am console error" in log['message'] for log in logs), "No matching log message found." driver.quit() + +def get_default_edge_options(): + options = webdriver.EdgeOptions() + options.add_argument("--no-sandbox") + return options diff --git a/examples/python/tests/conftest.py b/examples/python/tests/conftest.py index c1e6512ea864..d69705497d23 100644 --- a/examples/python/tests/conftest.py +++ b/examples/python/tests/conftest.py @@ -20,7 +20,7 @@ def driver(request): driver_type = marker.args[0] if marker else None if driver_type == "bidi": - options = webdriver.ChromeOptions() + options = get_default_chrome_options() options.enable_bidi = True driver = webdriver.Chrome(options=options) elif driver_type == "firefox": @@ -36,7 +36,7 @@ def driver(request): @pytest.fixture(scope='function') def chromedriver_bin(): service = webdriver.ChromeService() - options = webdriver.ChromeOptions() + options = get_default_chrome_options() options.browser_version = 'stable' yield webdriver.common.driver_finder.DriverFinder(service=service, options=options).get_driver_path() @@ -44,7 +44,7 @@ def chromedriver_bin(): @pytest.fixture(scope='function') def chrome_bin(): service = webdriver.ChromeService() - options = webdriver.ChromeOptions() + options = get_default_chrome_options() options.browser_version = 'stable' yield webdriver.common.driver_finder.DriverFinder(service=service, options=options).get_browser_path() @@ -52,7 +52,7 @@ def chrome_bin(): @pytest.fixture(scope='function') def edge_bin(): service = webdriver.EdgeService() - options = webdriver.EdgeOptions() + options = get_default_edge_options() options.browser_version = 'stable' yield webdriver.common.driver_finder.DriverFinder(service=service, options=options).get_browser_path() @@ -323,3 +323,13 @@ def wait_for_server(url, timeout=60): process.wait(timeout=10) except subprocess.TimeoutExpired: process.kill() + +def get_default_chrome_options(): + options = webdriver.ChromeOptions() + options.add_argument("--no-sandbox") + return options + +def get_default_edge_options(): + options = webdriver.EdgeOptions() + options.add_argument("--no-sandbox") + return options diff --git a/examples/python/tests/drivers/test_http_client.py b/examples/python/tests/drivers/test_http_client.py index 6e0ffa021d6e..2a86dd725147 100644 --- a/examples/python/tests/drivers/test_http_client.py +++ b/examples/python/tests/drivers/test_http_client.py @@ -19,7 +19,7 @@ def test_start_remote_with_client_config(grid_server): "init_args_for_pool_manager": {"retries": retries, "timeout": timeout}}, ca_certs=_get_resource_path("tls.crt"), username="admin", password="myStrongPassword") - options = webdriver.ChromeOptions() + options = get_default_chrome_options() driver = webdriver.Remote(command_executor=grid_server, options=options, client_config=client_config) driver.get("https://www.selenium.dev") driver.quit() @@ -33,7 +33,7 @@ def test_start_remote_ignore_certs(grid_server): timeout=3600, ignore_certificates=True, username="admin", password="myStrongPassword") - options = webdriver.ChromeOptions() + options = get_default_chrome_options() driver = webdriver.Remote(command_executor=grid_server, options=options, client_config=client_config) driver.get("https://www.selenium.dev") driver.quit() @@ -45,3 +45,8 @@ def _get_resource_path(file_name: str): else: path = os.path.abspath(f"tests/resources/{file_name}") return path + +def get_default_chrome_options(): + options = webdriver.ChromeOptions() + options.add_argument("--no-sandbox") + return options diff --git a/examples/python/tests/drivers/test_options.py b/examples/python/tests/drivers/test_options.py index d71e1ed605ae..5501fe6f17c4 100644 --- a/examples/python/tests/drivers/test_options.py +++ b/examples/python/tests/drivers/test_options.py @@ -4,7 +4,7 @@ def test_page_load_strategy_normal(): - options = webdriver.ChromeOptions() + options = get_default_chrome_options() options.page_load_strategy = 'normal' driver = webdriver.Chrome(options=options) driver.get("https://www.selenium.dev/") @@ -12,7 +12,7 @@ def test_page_load_strategy_normal(): def test_page_load_strategy_eager(): - options = webdriver.ChromeOptions() + options = get_default_chrome_options() options.page_load_strategy = 'eager' driver = webdriver.Chrome(options=options) driver.get("https://www.selenium.dev/") @@ -20,35 +20,35 @@ def test_page_load_strategy_eager(): def test_page_load_strategy_none(): - options = webdriver.ChromeOptions() + options = get_default_chrome_options() options.page_load_strategy = 'none' driver = webdriver.Chrome(options=options) driver.get("https://www.selenium.dev/") driver.quit() def test_timeouts_script(): - options = webdriver.ChromeOptions() + options = get_default_chrome_options() options.timeouts = { 'script': 5000 } driver = webdriver.Chrome(options=options) driver.get("https://www.selenium.dev/") driver.quit() def test_timeouts_page_load(): - options = webdriver.ChromeOptions() + options = get_default_chrome_options() options.timeouts = { 'pageLoad': 5000 } driver = webdriver.Chrome(options=options) driver.get("https://www.selenium.dev/") driver.quit() def test_timeouts_implicit_wait(): - options = webdriver.ChromeOptions() + options = get_default_chrome_options() options.timeouts = { 'implicit': 5000 } driver = webdriver.Chrome(options=options) driver.get("https://www.selenium.dev/") driver.quit() def test_unhandled_prompt(): - options = webdriver.ChromeOptions() + options = get_default_chrome_options() options.unhandled_prompt_behavior = 'accept' driver = webdriver.Chrome(options=options) driver.get("https://www.selenium.dev/") @@ -62,28 +62,28 @@ def test_set_window_rect(): driver.quit() def test_strict_file_interactability(): - options = webdriver.ChromeOptions() + options = get_default_chrome_options() options.strict_file_interactability = True driver = webdriver.Chrome(options=options) driver.get("https://www.selenium.dev/") driver.quit() def test_proxy(): - options = webdriver.ChromeOptions() + options = get_default_chrome_options() options.proxy = Proxy({ 'proxyType': ProxyType.MANUAL, 'httpProxy' : 'http.proxy:1234'}) driver = webdriver.Chrome(options=options) driver.get("https://www.selenium.dev/") driver.quit() def test_set_browser_name(): - options = webdriver.ChromeOptions() + options = get_default_chrome_options() assert options.capabilities['browserName'] == 'chrome' driver = webdriver.Chrome(options=options) driver.get("https://www.selenium.dev/") driver.quit() def test_set_browser_version(): - options = webdriver.ChromeOptions() + options = get_default_chrome_options() options.browser_version = 'stable' assert options.capabilities['browserVersion'] == 'stable' driver = webdriver.Chrome(options=options) @@ -91,15 +91,20 @@ def test_set_browser_version(): driver.quit() def test_platform_name(): - options = webdriver.ChromeOptions() + options = get_default_chrome_options() options.platform_name = 'any' driver = webdriver.Chrome(options=options) driver.get("https://www.selenium.dev/") driver.quit() def test_accept_insecure_certs(): - options = webdriver.ChromeOptions() + options = get_default_chrome_options() options.accept_insecure_certs = True driver = webdriver.Chrome(options=options) driver.get("https://www.selenium.dev/") driver.quit() + +def get_default_chrome_options(): + options = webdriver.ChromeOptions() + options.add_argument("--no-sandbox") + return options diff --git a/examples/python/tests/drivers/test_remote_webdriver.py b/examples/python/tests/drivers/test_remote_webdriver.py index ff765c2025dd..036c2a223f0f 100644 --- a/examples/python/tests/drivers/test_remote_webdriver.py +++ b/examples/python/tests/drivers/test_remote_webdriver.py @@ -10,7 +10,7 @@ @pytest.mark.skipif(sys.platform == "win32", reason="Gets stuck on Windows, passes locally") def test_start_remote(server): - options = webdriver.ChromeOptions() + options = get_default_chrome_options() driver = webdriver.Remote(command_executor=server, options=options) assert "localhost" in driver.command_executor._client_config.remote_server_addr @@ -19,7 +19,7 @@ def test_start_remote(server): @pytest.mark.skipif(sys.platform == "win32", reason="Gets stuck on Windows, passes locally") def test_uploads(server): - options = webdriver.ChromeOptions() + options = get_default_chrome_options() driver = webdriver.Remote(command_executor=server, options=options) driver.get("https://the-internet.herokuapp.com/upload") @@ -39,7 +39,7 @@ def test_uploads(server): @pytest.mark.skipif(sys.platform == "win32", reason="Gets stuck on Windows, passes locally") def test_downloads(server, temp_dir): - options = webdriver.ChromeOptions() + options = get_default_chrome_options() options.enable_downloads = True driver = webdriver.Remote(command_executor=server, options=options) @@ -64,3 +64,8 @@ def test_downloads(server, temp_dir): driver.delete_downloadable_files() assert not driver.get_downloadable_files() + +def get_default_chrome_options(): + options = webdriver.ChromeOptions() + options.add_argument("--no-sandbox") + return options diff --git a/examples/python/tests/drivers/test_service.py b/examples/python/tests/drivers/test_service.py index 1152d21789a2..98cfe0e2c9be 100644 --- a/examples/python/tests/drivers/test_service.py +++ b/examples/python/tests/drivers/test_service.py @@ -9,7 +9,7 @@ def test_basic_service(): def test_driver_location(chromedriver_bin, chrome_bin): - options = webdriver.ChromeOptions() + options = get_default_chrome_options() options.binary_location = chrome_bin service = webdriver.ChromeService(executable_path=chromedriver_bin) @@ -25,3 +25,8 @@ def test_driver_port(): driver = webdriver.Chrome(service=service) driver.quit() + +def get_default_chrome_options(): + options = webdriver.ChromeOptions() + options.add_argument("--no-sandbox") + return options