Skip to content

Commit 41fa128

Browse files
committed
Add a command-line option to maximize the browser window
1 parent b1e31a2 commit 41fa128

File tree

3 files changed

+23
-1
lines changed

3 files changed

+23
-1
lines changed

seleniumbase/fixtures/base_case.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2778,7 +2778,10 @@ def get_new_driver(self, browser=None, headless=None,
27782778
else:
27792779
if self.browser == 'chrome' or self.browser == 'opera':
27802780
try:
2781-
self.driver.set_window_size(1250, 840)
2781+
if self.maximize_window:
2782+
self.driver.maximize_window()
2783+
else:
2784+
self.driver.set_window_size(1250, 840)
27822785
self.wait_for_ready_state_complete()
27832786
except Exception:
27842787
pass # Keep existing browser resolution
@@ -3207,6 +3210,7 @@ def setUp(self, masterqa_mode=False):
32073210
self.user_data_dir = sb_config.user_data_dir
32083211
self.extension_zip = sb_config.extension_zip
32093212
self.extension_dir = sb_config.extension_dir
3213+
self.maximize_window = sb_config.maximize_window
32103214
self.save_screenshot_after_test = sb_config.save_screenshot
32113215
self.visual_baseline = sb_config.visual_baseline
32123216
self.timeout_multiplier = sb_config.timeout_multiplier

seleniumbase/plugins/pytest_plugin.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ def pytest_addoption(parser):
3939
--verify_delay=SECONDS (The delay before MasterQA verification checks.)
4040
--disable_csp (This disables the Content Security Policy of websites.)
4141
--enable_sync (The option to enable "Chrome Sync".)
42+
--maximize_window (The option to start with the web browser maximized.)
4243
--save_screenshot (The option to save a screenshot after each test.)
4344
--visual_baseline (Set the visual baseline for Visual/Layout tests.)
4445
--timeout_multiplier=MULTIPLIER (Multiplies the default timeout values.)
@@ -281,6 +282,13 @@ def pytest_addoption(parser):
281282
dest='enable_sync',
282283
default=False,
283284
help="""Using this enables the "Chrome Sync" feature.""")
285+
parser.addoption('--maximize_window', '--maximize-window', '--maximize',
286+
'--fullscreen',
287+
action="store_true",
288+
dest='maximize_window',
289+
default=False,
290+
help="""The option to start with the browser window
291+
maximized.""")
284292
parser.addoption('--save_screenshot', '--save-screenshot',
285293
action='store_true',
286294
dest='save_screenshot',
@@ -341,6 +349,7 @@ def pytest_configure(config):
341349
sb_config.verify_delay = config.getoption('verify_delay')
342350
sb_config.disable_csp = config.getoption('disable_csp')
343351
sb_config.enable_sync = config.getoption('enable_sync')
352+
sb_config.maximize_window = config.getoption('maximize_window')
344353
sb_config.save_screenshot = config.getoption('save_screenshot')
345354
sb_config.visual_baseline = config.getoption('visual_baseline')
346355
sb_config.timeout_multiplier = config.getoption('timeout_multiplier')

seleniumbase/plugins/selenium_plugin.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ class SeleniumBrowser(Plugin):
3131
--verify_delay=SECONDS (The delay before MasterQA verification checks.)
3232
--disable_csp (This disables the Content Security Policy of websites.)
3333
--enable_sync (The option to enable "Chrome Sync".)
34+
--maximize_window (The option to start with the web browser maximized.)
3435
--save_screenshot (The option to save a screenshot after each test.)
3536
--visual_baseline (Set the visual baseline for Visual/Layout tests.)
3637
--timeout_multiplier=MULTIPLIER (Multiplies the default timeout values.)
@@ -212,6 +213,13 @@ def options(self, parser, env):
212213
dest='enable_sync',
213214
default=False,
214215
help="""Using this enables the "Chrome Sync" feature.""")
216+
parser.add_option(
217+
'--maximize_window', '--maximize-window', '--maximize',
218+
'--fullscreen',
219+
action="store_true",
220+
dest='maximize_window',
221+
default=False,
222+
help="""The option to start with the web browser maximized.""")
215223
parser.add_option(
216224
'--save_screenshot', '--save-screenshot',
217225
action="store_true",
@@ -266,6 +274,7 @@ def beforeTest(self, test):
266274
test.test.verify_delay = self.options.verify_delay # MasterQA
267275
test.test.disable_csp = self.options.disable_csp
268276
test.test.enable_sync = self.options.enable_sync
277+
test.test.maximize_window = self.options.maximize_window
269278
test.test.save_screenshot_after_test = self.options.save_screenshot
270279
test.test.visual_baseline = self.options.visual_baseline
271280
test.test.timeout_multiplier = self.options.timeout_multiplier

0 commit comments

Comments
 (0)