diff --git a/examples/capabilities/selenoid_cap_file.py b/examples/capabilities/selenoid_cap_file.py new file mode 100755 index 00000000000..e02cc3f5c57 --- /dev/null +++ b/examples/capabilities/selenoid_cap_file.py @@ -0,0 +1,8 @@ +# Desired capabilities example file for Selenoid Grid +# +# The same result can be achieved on the command-line with: +# --cap-string='{"selenoid": "true"}' + +capabilities = { + "selenoid": "true", +} diff --git a/mkdocs_build/requirements.txt b/mkdocs_build/requirements.txt index 3f16662ddd8..061fb6a5ade 100644 --- a/mkdocs_build/requirements.txt +++ b/mkdocs_build/requirements.txt @@ -7,7 +7,7 @@ joblib==1.1.0;python_version>="3.6" Markdown==3.3.6;python_version>="3.6" MarkupSafe==2.0.1;python_version>="3.6" pyparsing==3.0.6;python_version>="3.6" -keyring==23.3.0;python_version>="3.6" +keyring==23.4.0;python_version>="3.6" pkginfo==1.8.1;python_version>="3.6" Jinja2==3.0.3;python_version>="3.6" click==8.0.3;python_version>="3.6" @@ -21,8 +21,8 @@ lunr==0.6.1;python_version>="3.6" nltk==3.6.5;python_version>="3.6" watchdog==2.1.6;python_version>="3.6" mkdocs==1.2.3;python_version>="3.6" -mkdocs-material==7.3.6;python_version>="3.6" -mkdocs-exclude-search==0.5.2;python_version>="3.6" +mkdocs-material==8.0.1;python_version>="3.6" +mkdocs-exclude-search==0.5.3;python_version>="3.6" mkdocs-simple-hooks==0.1.3 mkdocs-material-extensions==1.0.3;python_version>="3.6" mkdocs-minify-plugin==0.5.0 diff --git a/requirements.txt b/requirements.txt index 99270a5b865..1fe183a6c4f 100755 --- a/requirements.txt +++ b/requirements.txt @@ -4,7 +4,7 @@ packaging>=20.9;python_version<"3.6" packaging>=21.3;python_version>="3.6" setuptools>=44.1.1;python_version<"3.5" setuptools>=50.3.2;python_version>="3.5" and python_version<"3.6" -setuptools>=59.3.0;python_version>="3.6" +setuptools>=59.4.0;python_version>="3.6" setuptools-scm>=5.0.2;python_version<"3.6" setuptools-scm>=6.3.2;python_version>="3.6" tomli>=1.2.2;python_version>="3.6" @@ -109,7 +109,7 @@ Pillow==7.2.0;python_version>="3.5" and python_version<"3.6" Pillow==8.4.0;python_version>="3.6" typing-extensions==3.10.0.2;python_version<"3.6" typing-extensions==4.0.0;python_version>="3.6" and python_version<"3.8" -rich==10.14.0;python_version>="3.6" and python_version<"4.0" +rich==10.15.0;python_version>="3.6" and python_version<"4.0" tornado==5.1.1;python_version<"3.5" tornado==6.1;python_version>="3.5" pdfminer.six==20191110;python_version<"3.5" diff --git a/seleniumbase/__version__.py b/seleniumbase/__version__.py index f8c9ccf8077..65ef4da99f0 100755 --- a/seleniumbase/__version__.py +++ b/seleniumbase/__version__.py @@ -1,2 +1,2 @@ # seleniumbase package -__version__ = "2.2.1" +__version__ = "2.2.2" diff --git a/seleniumbase/core/browser_launcher.py b/seleniumbase/core/browser_launcher.py index 3e358f583ab..873be02293a 100755 --- a/seleniumbase/core/browser_launcher.py +++ b/seleniumbase/core/browser_launcher.py @@ -970,10 +970,17 @@ def get_remote_driver( else: capabilities = chrome_options.to_capabilities() # Set custom desired capabilities + selenoid = False for key in desired_caps.keys(): capabilities[key] = desired_caps[key] + if key == "selenoid" and desired_caps[key]: + selenoid = True if selenium4: chrome_options.set_capability("cloud:options", capabilities) + if selenoid: + chrome_options.set_capability( + "selenoid:options", {"enableVNC": True} + ) return webdriver.Remote( command_executor=address, options=chrome_options, @@ -1007,10 +1014,17 @@ def get_remote_driver( if headless: capabilities["moz:firefoxOptions"] = {"args": ["-headless"]} # Set custom desired capabilities + selenoid = False for key in desired_caps.keys(): capabilities[key] = desired_caps[key] + if key == "selenoid" and desired_caps[key]: + selenoid = True if selenium4: firefox_options.set_capability("cloud:options", capabilities) + if selenoid: + firefox_options.set_capability( + "selenoid:options", {"enableVNC": True} + ) return webdriver.Remote( command_executor=address, options=firefox_options, @@ -1175,9 +1189,17 @@ def get_remote_driver( keep_alive=True, ) elif browser_name == constants.Browser.REMOTE: + selenoid = False + for key in desired_caps.keys(): + if key == "selenoid" and desired_caps[key]: + selenoid = True if selenium4: remote_options = ArgOptions() remote_options.set_capability("cloud:options", desired_caps) + if selenoid: + remote_options.set_capability( + "selenoid:options", {"enableVNC": True} + ) return webdriver.Remote( command_executor=address, options=remote_options, diff --git a/setup.py b/setup.py index f2338372046..56371a44c31 100755 --- a/setup.py +++ b/setup.py @@ -123,7 +123,7 @@ 'packaging>=21.3;python_version>="3.6"', 'setuptools>=44.1.1;python_version<"3.5"', 'setuptools>=50.3.2;python_version>="3.5" and python_version<"3.6"', - 'setuptools>=59.3.0;python_version>="3.6"', + 'setuptools>=59.4.0;python_version>="3.6"', 'setuptools-scm>=5.0.2;python_version<"3.6"', 'setuptools-scm>=6.3.2;python_version>="3.6"', 'tomli>=1.2.2;python_version>="3.6"', @@ -228,7 +228,7 @@ 'Pillow==8.4.0;python_version>="3.6"', 'typing-extensions==3.10.0.2;python_version<"3.6"', # <3.8 for "rich" 'typing-extensions==4.0.0;python_version>="3.6" and python_version<"3.8"', # noqa: E501 - 'rich==10.14.0;python_version>="3.6" and python_version<"4.0"', + 'rich==10.15.0;python_version>="3.6" and python_version<"4.0"', 'tornado==5.1.1;python_version<"3.5"', 'tornado==6.1;python_version>="3.5"', 'pdfminer.six==20191110;python_version<"3.5"',