Refactor graphics library code

This commit is contained in:
Michael Mintz 2023-10-06 16:28:15 -04:00
parent 4ee3746b53
commit 8a463073d3
8 changed files with 20 additions and 14 deletions

View File

@ -698,7 +698,7 @@ pytest test_coffee_cart.py --trace
--dashboard # (Enable the SeleniumBase Dashboard. Saved at: dashboard.html)
--dash-title=STRING # (Set the title shown for the generated dashboard.)
--enable-3d-apis # (Enables WebGL and 3D APIs.)
--swiftshader # (Use Chrome's "--use-gl=swiftshader" feature.)
--swiftshader # (Chrome "--use-gl=angle" / "--use-angle=swiftshader-webgl")
--incognito # (Enable Chrome's Incognito mode.)
--guest # (Enable Chrome's Guest mode.)
--dark # (Enable Chrome's Dark mode.)

View File

@ -178,7 +178,7 @@ pytest my_first_test.py --settings-file=custom_settings.py
--dashboard # (Enable the SeleniumBase Dashboard. Saved at: dashboard.html)
--dash-title=STRING # (Set the title shown for the generated dashboard.)
--enable-3d-apis # (Enables WebGL and 3D APIs.)
--swiftshader # (Use Chrome's "--use-gl=swiftshader" feature.)
--swiftshader # (Chrome "--use-gl=angle" / "--use-angle=swiftshader-webgl")
--incognito # (Enable Chrome's Incognito mode.)
--guest # (Enable Chrome's Guest mode.)
--dark # (Enable Chrome's Dark mode.)

View File

@ -911,7 +911,8 @@ def _set_chrome_options(
debug_port = service_utils.free_port()
chrome_options.add_argument("--remote-debugging-port=%s" % debug_port)
if swiftshader:
chrome_options.add_argument("--use-gl=swiftshader")
chrome_options.add_argument("--use-gl=angle")
chrome_options.add_argument("--use-angle=swiftshader-webgl")
elif not is_using_uc(undetectable, browser_name):
chrome_options.add_argument("--disable-gpu")
if not IS_LINUX and is_using_uc(undetectable, browser_name):
@ -2493,7 +2494,8 @@ def get_local_driver(
free_port = service_utils.free_port()
edge_options.add_argument("--remote-debugging-port=%s" % free_port)
if swiftshader:
edge_options.add_argument("--use-gl=swiftshader")
edge_options.add_argument("--use-gl=angle")
edge_options.add_argument("--use-angle=swiftshader-webgl")
else:
edge_options.add_argument("--disable-gpu")
if IS_LINUX:

View File

@ -3844,7 +3844,7 @@ class BaseCase(unittest.TestCase):
if enable_3d_apis is None:
enable_3d_apis = self.enable_3d_apis
if swiftshader is None:
swiftshader = self.swiftshader
swiftshader = self._swiftshader
if ad_block_on is None:
ad_block_on = self.ad_block_on
if block_images is None:
@ -14153,7 +14153,7 @@ class BaseCase(unittest.TestCase):
constants.Dashboard.LOCKFILE
)
self.enable_3d_apis = sb_config.enable_3d_apis
self.swiftshader = sb_config.swiftshader
self._swiftshader = sb_config.swiftshader
self.user_data_dir = sb_config.user_data_dir
self.extension_zip = sb_config.extension_zip
self.extension_dir = sb_config.extension_dir
@ -14282,6 +14282,10 @@ class BaseCase(unittest.TestCase):
settings.SMALL_TIMEOUT = sb_config._SMALL_TIMEOUT
settings.LARGE_TIMEOUT = sb_config._LARGE_TIMEOUT
if not hasattr(self, "_swiftshader"):
# Not swiftshader: options.add_argument("--disable-gpu")
self._swiftshader = False
if not hasattr(sb_config, "_recorded_actions"):
# Only filled when Recorder Mode is enabled
sb_config._recorded_actions = {}
@ -14468,7 +14472,7 @@ class BaseCase(unittest.TestCase):
devtools=self.devtools,
remote_debug=self.remote_debug,
enable_3d_apis=self.enable_3d_apis,
swiftshader=self.swiftshader,
swiftshader=self._swiftshader,
ad_block_on=self.ad_block_on,
block_images=self.block_images,
do_not_track=self.do_not_track,

View File

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

View File

@ -95,7 +95,7 @@ def pytest_addoption(parser):
--dashboard (Enable the SeleniumBase Dashboard. Saved at: dashboard.html)
--dash-title=STRING (Set the title shown for the generated dashboard.)
--enable-3d-apis (Enables WebGL and 3D APIs.)
--swiftshader (Use Chrome's "--use-gl=swiftshader" feature.)
--swiftshader (Chrome "--use-gl=angle" / "--use-angle=swiftshader-webgl")
--incognito (Enable Chrome's Incognito mode.)
--guest (Enable Chrome's Guest mode.)
--dark (Enable Chrome's Dark mode.)

View File

@ -60,7 +60,7 @@ def SB(
devtools=None, # Open Chromium's DevTools when the browser opens.
remote_debug=None, # Enable Chrome's Debugger on "http://localhost:9222".
enable_3d_apis=None, # Enable WebGL and 3D APIs.
swiftshader=None, # Use Chrome's "--use-gl=swiftshader" feature.
swiftshader=None, # Chrome: --use-gl=angle / --use-angle=swiftshader-webgl
ad_block_on=None, # Block some types of display ads from loading.
block_images=None, # Block images from loading during tests.
do_not_track=None, # Tell websites that you don't want to be tracked.
@ -800,7 +800,7 @@ def SB(
sb.proxy_pac_url = sb_config.proxy_pac_url
sb.multi_proxy = sb_config.multi_proxy
sb.enable_3d_apis = sb_config.enable_3d_apis
sb.swiftshader = sb_config.swiftshader
sb._swiftshader = sb_config.swiftshader
sb.ad_block_on = sb_config.ad_block_on
sb.highlights = sb_config.highlights
sb.interval = sb_config.interval

View File

@ -71,7 +71,7 @@ class SeleniumBrowser(Plugin):
--uc-cdp-events (Capture CDP events when running in "--undetected" mode.)
--remote-debug (Sync to Chrome Remote Debugger chrome://inspect/#devices)
--enable-3d-apis (Enables WebGL and 3D APIs.)
--swiftshader (Use Chrome's "--use-gl=swiftshader" feature.)
--swiftshader (Chrome "--use-gl=angle" / "--use-angle=swiftshader-webgl")
--incognito (Enable Chrome's Incognito mode.)
--guest (Enable Chrome's Guest mode.)
--dark (Enable Chrome's Dark mode.)
@ -1112,7 +1112,7 @@ class SeleniumBrowser(Plugin):
test.test.disable_gpu = self.options.disable_gpu
test.test.remote_debug = self.options.remote_debug
test.test.enable_3d_apis = self.options.enable_3d_apis
test.test.swiftshader = self.options.swiftshader
test.test._swiftshader = self.options.swiftshader
test.test.incognito = self.options.incognito
test.test.guest_mode = self.options.guest_mode
test.test.dark_mode = self.options.dark_mode