|
75 | 75 | -D devtools (Open Chrome's DevTools when the browser opens.) |
76 | 76 | -D reuse-session | -D rs (Reuse browser session between tests.) |
77 | 77 | -D crumbs (Delete all cookies between tests reusing a session.) |
78 | | --D maximize (Start tests with the web browser window maximized.) |
| 78 | +-D window-size (Set the browser window size: "Width,Height".) |
| 79 | +-D maximize (Start tests with the browser window maximized.) |
79 | 80 | -D screenshot (Save a screenshot at the end of each test.) |
80 | 81 | -D visual-baseline (Set the visual baseline for Visual/Layout tests.) |
81 | 82 | -D external-pdf (Set Chromium "plugins.always_open_pdf_externally": True.) |
@@ -160,6 +161,7 @@ def get_configured_sb(context): |
160 | 161 | sb._reuse_session = False |
161 | 162 | sb._crumbs = False |
162 | 163 | sb.visual_baseline = False |
| 164 | + sb.window_size = None |
163 | 165 | sb.maximize_option = False |
164 | 166 | sb.save_screenshot_after_test = False |
165 | 167 | sb.timeout_multiplier = None |
@@ -469,6 +471,13 @@ def get_configured_sb(context): |
469 | 471 | if low_key in ["visual-baseline", "visual_baseline"]: |
470 | 472 | sb.visual_baseline = True |
471 | 473 | continue |
| 474 | + # Handle: -D window-size=Width,Height / window_size=Width,Height |
| 475 | + if low_key in ["window-size", "window_size"]: |
| 476 | + window_size = userdata[key] |
| 477 | + if window_size == "true": |
| 478 | + window_size = sb.window_size # revert to default |
| 479 | + sb.window_size = window_size |
| 480 | + continue |
472 | 481 | # Handle: -D maximize / fullscreen / maximize-window |
473 | 482 | if low_key in [ |
474 | 483 | "maximize", "fullscreen", "maximize-window", "maximize_window" |
@@ -693,13 +702,40 @@ def get_configured_sb(context): |
693 | 702 | # If the port is "443", the protocol is "https" |
694 | 703 | if str(sb.port) == "443": |
695 | 704 | sb.protocol = "https" |
| 705 | + if sb.window_size: |
| 706 | + window_size = sb.window_size |
| 707 | + if window_size.count(",") != 1: |
| 708 | + message = ( |
| 709 | + '\n\n window_size expects a "width,height" string!' |
| 710 | + '\n (Your input was: "%s")\n' % window_size |
| 711 | + ) |
| 712 | + raise Exception(message) |
| 713 | + window_size = window_size.replace(" ", "") |
| 714 | + width = None |
| 715 | + height = None |
| 716 | + try: |
| 717 | + width = int(window_size.split(",")[0]) |
| 718 | + height = int(window_size.split(",")[1]) |
| 719 | + except Exception: |
| 720 | + message = ( |
| 721 | + '\n\n Expecting integer values for "width,height"!' |
| 722 | + '\n (window_size input was: "%s")\n' % window_size |
| 723 | + ) |
| 724 | + raise Exception(message) |
| 725 | + settings.CHROME_START_WIDTH = width |
| 726 | + settings.CHROME_START_HEIGHT = height |
| 727 | + settings.HEADLESS_START_WIDTH = width |
| 728 | + settings.HEADLESS_START_HEIGHT = height |
696 | 729 |
|
697 | 730 | # Set sb_config |
698 | 731 | sb_config.browser = sb.browser |
699 | 732 | sb_config.headless = sb.headless |
700 | 733 | sb_config.headed = sb.headed |
| 734 | + sb_config.window_size = sb.window_size |
| 735 | + sb_config.maximize_option = sb.maximize_option |
701 | 736 | sb_config.xvfb = sb.xvfb |
702 | 737 | sb_config.save_screenshot = sb.save_screenshot_after_test |
| 738 | + sb_config._has_logs = False |
703 | 739 | sb_config.variables = sb.variables |
704 | 740 | sb_config.dashboard = sb.dashboard |
705 | 741 | sb_config.dash_title = sb.dash_title |
@@ -1035,7 +1071,11 @@ def _perform_behave_terminal_summary_(): |
1035 | 1071 | if sb_config.dashboard: |
1036 | 1072 | # Print link a second time because the first one may be off-screen |
1037 | 1073 | print("%s- Dashboard:%s %s" % (c2, cr, dash_path)) |
1038 | | - if sb_config._has_exception or sb_config.save_screenshot: |
| 1074 | + if ( |
| 1075 | + sb_config._has_exception |
| 1076 | + or sb_config.save_screenshot |
| 1077 | + or sb_config._has_logs |
| 1078 | + ): |
1039 | 1079 | # Log files are generated during test failures and Screenshot Mode |
1040 | 1080 | print("%s--- LogPath:%s %s" % (c2, cr, latest_logs_dir)) |
1041 | 1081 | if ( |
|
0 commit comments