Skip to content

Commit 8a46307

Browse files
committed
Refactor graphics library code
1 parent 4ee3746 commit 8a46307

File tree

8 files changed

+20
-14
lines changed

8 files changed

+20
-14
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -698,7 +698,7 @@ pytest test_coffee_cart.py --trace
698698
--dashboard # (Enable the SeleniumBase Dashboard. Saved at: dashboard.html)
699699
--dash-title=STRING # (Set the title shown for the generated dashboard.)
700700
--enable-3d-apis # (Enables WebGL and 3D APIs.)
701-
--swiftshader # (Use Chrome's "--use-gl=swiftshader" feature.)
701+
--swiftshader # (Chrome "--use-gl=angle" / "--use-angle=swiftshader-webgl")
702702
--incognito # (Enable Chrome's Incognito mode.)
703703
--guest # (Enable Chrome's Guest mode.)
704704
--dark # (Enable Chrome's Dark mode.)

help_docs/customizing_test_runs.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -178,7 +178,7 @@ pytest my_first_test.py --settings-file=custom_settings.py
178178
--dashboard # (Enable the SeleniumBase Dashboard. Saved at: dashboard.html)
179179
--dash-title=STRING # (Set the title shown for the generated dashboard.)
180180
--enable-3d-apis # (Enables WebGL and 3D APIs.)
181-
--swiftshader # (Use Chrome's "--use-gl=swiftshader" feature.)
181+
--swiftshader # (Chrome "--use-gl=angle" / "--use-angle=swiftshader-webgl")
182182
--incognito # (Enable Chrome's Incognito mode.)
183183
--guest # (Enable Chrome's Guest mode.)
184184
--dark # (Enable Chrome's Dark mode.)

seleniumbase/core/browser_launcher.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -911,7 +911,8 @@ def _set_chrome_options(
911911
debug_port = service_utils.free_port()
912912
chrome_options.add_argument("--remote-debugging-port=%s" % debug_port)
913913
if swiftshader:
914-
chrome_options.add_argument("--use-gl=swiftshader")
914+
chrome_options.add_argument("--use-gl=angle")
915+
chrome_options.add_argument("--use-angle=swiftshader-webgl")
915916
elif not is_using_uc(undetectable, browser_name):
916917
chrome_options.add_argument("--disable-gpu")
917918
if not IS_LINUX and is_using_uc(undetectable, browser_name):
@@ -2493,7 +2494,8 @@ def get_local_driver(
24932494
free_port = service_utils.free_port()
24942495
edge_options.add_argument("--remote-debugging-port=%s" % free_port)
24952496
if swiftshader:
2496-
edge_options.add_argument("--use-gl=swiftshader")
2497+
edge_options.add_argument("--use-gl=angle")
2498+
edge_options.add_argument("--use-angle=swiftshader-webgl")
24972499
else:
24982500
edge_options.add_argument("--disable-gpu")
24992501
if IS_LINUX:

seleniumbase/fixtures/base_case.py

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3844,7 +3844,7 @@ def get_new_driver(
38443844
if enable_3d_apis is None:
38453845
enable_3d_apis = self.enable_3d_apis
38463846
if swiftshader is None:
3847-
swiftshader = self.swiftshader
3847+
swiftshader = self._swiftshader
38483848
if ad_block_on is None:
38493849
ad_block_on = self.ad_block_on
38503850
if block_images is None:
@@ -14153,7 +14153,7 @@ def setUp(self, masterqa_mode=False):
1415314153
constants.Dashboard.LOCKFILE
1415414154
)
1415514155
self.enable_3d_apis = sb_config.enable_3d_apis
14156-
self.swiftshader = sb_config.swiftshader
14156+
self._swiftshader = sb_config.swiftshader
1415714157
self.user_data_dir = sb_config.user_data_dir
1415814158
self.extension_zip = sb_config.extension_zip
1415914159
self.extension_dir = sb_config.extension_dir
@@ -14282,6 +14282,10 @@ def setUp(self, masterqa_mode=False):
1428214282
settings.SMALL_TIMEOUT = sb_config._SMALL_TIMEOUT
1428314283
settings.LARGE_TIMEOUT = sb_config._LARGE_TIMEOUT
1428414284

14285+
if not hasattr(self, "_swiftshader"):
14286+
# Not swiftshader: options.add_argument("--disable-gpu")
14287+
self._swiftshader = False
14288+
1428514289
if not hasattr(sb_config, "_recorded_actions"):
1428614290
# Only filled when Recorder Mode is enabled
1428714291
sb_config._recorded_actions = {}
@@ -14468,7 +14472,7 @@ def setUp(self, masterqa_mode=False):
1446814472
devtools=self.devtools,
1446914473
remote_debug=self.remote_debug,
1447014474
enable_3d_apis=self.enable_3d_apis,
14471-
swiftshader=self.swiftshader,
14475+
swiftshader=self._swiftshader,
1447214476
ad_block_on=self.ad_block_on,
1447314477
block_images=self.block_images,
1447414478
do_not_track=self.do_not_track,

seleniumbase/plugins/driver_manager.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -89,14 +89,14 @@ def Driver(
8989
uc_cdp_events=None, # Capture CDP events in undetected-chromedriver mode.
9090
uc_subprocess=None, # Use undetected-chromedriver as a subprocess.
9191
no_sandbox=None, # (DEPRECATED) - "--no-sandbox" is always used now.
92-
disable_gpu=None, # (DEPRECATED) - GPU is disabled if no "swiftshader".
92+
disable_gpu=None, # (DEPRECATED) - GPU is disabled if not "swiftshader".
9393
incognito=None, # Enable Chromium's Incognito mode.
9494
guest_mode=None, # Enable Chromium's Guest mode.
9595
dark_mode=None, # Enable Chromium's Dark mode.
9696
devtools=None, # Open Chromium's DevTools when the browser opens.
9797
remote_debug=None, # Enable Chrome's Debugger on "http://localhost:9222".
9898
enable_3d_apis=None, # Enable WebGL and 3D APIs.
99-
swiftshader=None, # Use Chrome's "--use-gl=swiftshader" feature.
99+
swiftshader=None, # Chrome: --use-gl=angle / --use-angle=swiftshader-webgl
100100
ad_block_on=None, # Block some types of display ads from loading.
101101
block_images=None, # Block images from loading during tests.
102102
do_not_track=None, # Tell websites that you don't want to be tracked.

seleniumbase/plugins/pytest_plugin.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ def pytest_addoption(parser):
9595
--dashboard (Enable the SeleniumBase Dashboard. Saved at: dashboard.html)
9696
--dash-title=STRING (Set the title shown for the generated dashboard.)
9797
--enable-3d-apis (Enables WebGL and 3D APIs.)
98-
--swiftshader (Use Chrome's "--use-gl=swiftshader" feature.)
98+
--swiftshader (Chrome "--use-gl=angle" / "--use-angle=swiftshader-webgl")
9999
--incognito (Enable Chrome's Incognito mode.)
100100
--guest (Enable Chrome's Guest mode.)
101101
--dark (Enable Chrome's Dark mode.)

seleniumbase/plugins/sb_manager.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ def SB(
6060
devtools=None, # Open Chromium's DevTools when the browser opens.
6161
remote_debug=None, # Enable Chrome's Debugger on "http://localhost:9222".
6262
enable_3d_apis=None, # Enable WebGL and 3D APIs.
63-
swiftshader=None, # Use Chrome's "--use-gl=swiftshader" feature.
63+
swiftshader=None, # Chrome: --use-gl=angle / --use-angle=swiftshader-webgl
6464
ad_block_on=None, # Block some types of display ads from loading.
6565
block_images=None, # Block images from loading during tests.
6666
do_not_track=None, # Tell websites that you don't want to be tracked.
@@ -800,7 +800,7 @@ def SB(
800800
sb.proxy_pac_url = sb_config.proxy_pac_url
801801
sb.multi_proxy = sb_config.multi_proxy
802802
sb.enable_3d_apis = sb_config.enable_3d_apis
803-
sb.swiftshader = sb_config.swiftshader
803+
sb._swiftshader = sb_config.swiftshader
804804
sb.ad_block_on = sb_config.ad_block_on
805805
sb.highlights = sb_config.highlights
806806
sb.interval = sb_config.interval

seleniumbase/plugins/selenium_plugin.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ class SeleniumBrowser(Plugin):
7171
--uc-cdp-events (Capture CDP events when running in "--undetected" mode.)
7272
--remote-debug (Sync to Chrome Remote Debugger chrome://inspect/#devices)
7373
--enable-3d-apis (Enables WebGL and 3D APIs.)
74-
--swiftshader (Use Chrome's "--use-gl=swiftshader" feature.)
74+
--swiftshader (Chrome "--use-gl=angle" / "--use-angle=swiftshader-webgl")
7575
--incognito (Enable Chrome's Incognito mode.)
7676
--guest (Enable Chrome's Guest mode.)
7777
--dark (Enable Chrome's Dark mode.)
@@ -1112,7 +1112,7 @@ def beforeTest(self, test):
11121112
test.test.disable_gpu = self.options.disable_gpu
11131113
test.test.remote_debug = self.options.remote_debug
11141114
test.test.enable_3d_apis = self.options.enable_3d_apis
1115-
test.test.swiftshader = self.options.swiftshader
1115+
test.test._swiftshader = self.options.swiftshader
11161116
test.test.incognito = self.options.incognito
11171117
test.test.guest_mode = self.options.guest_mode
11181118
test.test.dark_mode = self.options.dark_mode

0 commit comments

Comments
 (0)