|
23 | 23 | from python.runfiles import Runfiles |
24 | 24 |
|
25 | 25 | from selenium import webdriver |
26 | | -from selenium.webdriver.chrome.options import Options as ChromeOptions |
27 | 26 | from selenium.webdriver.common.by import By |
28 | | -from selenium.webdriver.edge.options import Options as EdgeOptions |
29 | 27 | from selenium.webdriver.support.wait import WebDriverWait |
30 | 28 |
|
31 | 29 | EXTENSION_ID = "[email protected]" |
@@ -123,31 +121,29 @@ def pages_chromium(self, webserver, chromium_driver): |
123 | 121 | class Pages: |
124 | 122 | def load(self, name): |
125 | 123 | chromium_driver.get(webserver.where_is(name, localhost=False)) |
| 124 | + |
126 | 125 | return Pages() |
127 | 126 |
|
128 | 127 | @pytest.fixture |
129 | | - def chromium_driver(self, request): |
| 128 | + def chromium_driver(self, chromium_options, request): |
| 129 | + """Create a Chrome/Edge driver with webextension support enabled.""" |
130 | 130 | driver_option = request.config.option.drivers[0].lower() |
131 | 131 |
|
132 | 132 | if driver_option == "chrome": |
133 | | - options = ChromeOptions() |
134 | 133 | browser_class = webdriver.Chrome |
135 | 134 | elif driver_option == "edge": |
136 | | - options = EdgeOptions() |
137 | 135 | browser_class = webdriver.Edge |
138 | | - else: |
139 | | - pytest.skip(f"This test requires Chrome or Edge, got {driver_option}") |
140 | 136 |
|
141 | 137 | temp_dir = tempfile.mkdtemp() |
142 | 138 |
|
143 | | - options.enable_bidi = True |
144 | | - options.enable_webextensions = True |
145 | | - options.add_argument(f"--user-data-dir={temp_dir}") |
| 139 | + chromium_options.enable_bidi = True |
| 140 | + chromium_options.enable_webextensions = True |
| 141 | + chromium_options.add_argument(f"--user-data-dir={temp_dir}") |
146 | 142 |
|
147 | | - driver = browser_class(options=options) |
| 143 | + chromium_driver = browser_class(options=chromium_options) |
148 | 144 |
|
149 | | - yield driver |
150 | | - driver.quit() |
| 145 | + yield chromium_driver |
| 146 | + chromium_driver.quit() |
151 | 147 |
|
152 | 148 | def test_install_extension_path(self, chromium_driver, pages_chromium): |
153 | 149 | """Test installing an extension from a directory path.""" |
|
0 commit comments