seleniumbase 4.39.6a2__tar.gz → 4.40.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (158) hide show
  1. {seleniumbase-4.39.6a2/seleniumbase.egg-info → seleniumbase-4.40.0}/PKG-INFO +6 -6
  2. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/pyproject.toml +2 -0
  3. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/requirements.txt +3 -3
  4. seleniumbase-4.40.0/seleniumbase/__version__.py +2 -0
  5. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/behave/behave_sb.py +16 -0
  6. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/console_scripts/sb_install.py +15 -0
  7. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/core/browser_launcher.py +161 -61
  8. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/core/log_helper.py +5 -1
  9. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/core/sb_cdp.py +144 -0
  10. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/fixtures/base_case.py +166 -4
  11. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/fixtures/page_actions.py +149 -0
  12. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/plugins/pytest_plugin.py +2 -0
  13. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/plugins/selenium_plugin.py +3 -0
  14. seleniumbase-4.40.0/seleniumbase/utilities/selenium_grid/__init__.py +0 -0
  15. seleniumbase-4.40.0/seleniumbase/utilities/selenium_ide/__init__.py +0 -0
  16. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0/seleniumbase.egg-info}/PKG-INFO +6 -6
  17. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase.egg-info/SOURCES.txt +2 -0
  18. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase.egg-info/requires.txt +5 -5
  19. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/setup.py +7 -5
  20. seleniumbase-4.39.6a2/seleniumbase/__version__.py +0 -2
  21. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/.gitignore +0 -0
  22. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/LICENSE +0 -0
  23. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/MANIFEST.in +0 -0
  24. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/README.md +0 -0
  25. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/install.sh +0 -0
  26. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/pytest.ini +0 -0
  27. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/sbase/__init__.py +0 -0
  28. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/sbase/__main__.py +0 -0
  29. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/sbase/steps.py +0 -0
  30. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/__init__.py +0 -0
  31. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/__main__.py +0 -0
  32. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/behave/__init__.py +0 -0
  33. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/behave/behave_helper.py +0 -0
  34. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/behave/steps.py +0 -0
  35. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/common/__init__.py +0 -0
  36. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/common/decorators.py +0 -0
  37. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/common/encryption.py +0 -0
  38. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/common/exceptions.py +0 -0
  39. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/common/obfuscate.py +0 -0
  40. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/common/unobfuscate.py +0 -0
  41. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/config/__init__.py +0 -0
  42. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/config/ad_block_list.py +0 -0
  43. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/config/proxy_list.py +0 -0
  44. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/config/settings.py +0 -0
  45. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/console_scripts/__init__.py +0 -0
  46. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/console_scripts/logo_helper.py +0 -0
  47. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/console_scripts/rich_helper.py +0 -0
  48. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/console_scripts/run.py +0 -0
  49. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/console_scripts/sb_behave_gui.py +0 -0
  50. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/console_scripts/sb_caseplans.py +0 -0
  51. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/console_scripts/sb_commander.py +0 -0
  52. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/console_scripts/sb_mkchart.py +0 -0
  53. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/console_scripts/sb_mkdir.py +0 -0
  54. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/console_scripts/sb_mkfile.py +0 -0
  55. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/console_scripts/sb_mkpres.py +0 -0
  56. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/console_scripts/sb_mkrec.py +0 -0
  57. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/console_scripts/sb_objectify.py +0 -0
  58. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/console_scripts/sb_print.py +0 -0
  59. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/console_scripts/sb_recorder.py +0 -0
  60. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/core/__init__.py +0 -0
  61. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/core/application_manager.py +0 -0
  62. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/core/capabilities_parser.py +0 -0
  63. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/core/colored_traceback.py +0 -0
  64. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/core/create_db_tables.sql +0 -0
  65. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/core/detect_b_ver.py +0 -0
  66. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/core/download_helper.py +0 -0
  67. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/core/encoded_images.py +0 -0
  68. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/core/jqc_helper.py +0 -0
  69. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/core/mysql.py +0 -0
  70. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/core/proxy_helper.py +0 -0
  71. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/core/recorder_helper.py +0 -0
  72. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/core/report_helper.py +0 -0
  73. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/core/s3_manager.py +0 -0
  74. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/core/sb_driver.py +0 -0
  75. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/core/session_helper.py +0 -0
  76. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/core/settings_parser.py +0 -0
  77. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/core/style_sheet.py +0 -0
  78. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/core/testcase_manager.py +0 -0
  79. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/core/tour_helper.py +0 -0
  80. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/core/visual_helper.py +0 -0
  81. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/drivers/__init__.py +0 -0
  82. {seleniumbase-4.39.6a2/seleniumbase/extensions → seleniumbase-4.40.0/seleniumbase/drivers/cft_drivers}/__init__.py +0 -0
  83. {seleniumbase-4.39.6a2/seleniumbase/fixtures → seleniumbase-4.40.0/seleniumbase/drivers/chs_drivers}/__init__.py +0 -0
  84. {seleniumbase-4.39.6a2/seleniumbase/js_code → seleniumbase-4.40.0/seleniumbase/extensions}/__init__.py +0 -0
  85. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/extensions/ad_block.zip +0 -0
  86. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/extensions/disable_csp.zip +0 -0
  87. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/extensions/recorder.zip +0 -0
  88. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/extensions/sbase_ext.zip +0 -0
  89. {seleniumbase-4.39.6a2/seleniumbase/masterqa → seleniumbase-4.40.0/seleniumbase/fixtures}/__init__.py +0 -0
  90. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/fixtures/constants.py +0 -0
  91. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/fixtures/css_to_xpath.py +0 -0
  92. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/fixtures/errors.py +0 -0
  93. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/fixtures/js_utils.py +0 -0
  94. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/fixtures/page_utils.py +0 -0
  95. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/fixtures/shared_utils.py +0 -0
  96. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/fixtures/unittest_helper.py +0 -0
  97. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/fixtures/words.py +0 -0
  98. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/fixtures/xpath_to_css.py +0 -0
  99. {seleniumbase-4.39.6a2/seleniumbase/plugins → seleniumbase-4.40.0/seleniumbase/js_code}/__init__.py +0 -0
  100. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/js_code/active_css_js.py +0 -0
  101. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/js_code/live_js.py +0 -0
  102. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/js_code/recorder_js.py +0 -0
  103. {seleniumbase-4.39.6a2/seleniumbase/resources → seleniumbase-4.40.0/seleniumbase/masterqa}/__init__.py +0 -0
  104. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/masterqa/master_qa.py +0 -0
  105. {seleniumbase-4.39.6a2/seleniumbase/utilities → seleniumbase-4.40.0/seleniumbase/plugins}/__init__.py +0 -0
  106. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/plugins/base_plugin.py +0 -0
  107. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/plugins/basic_test_info.py +0 -0
  108. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/plugins/db_reporting_plugin.py +0 -0
  109. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/plugins/driver_manager.py +0 -0
  110. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/plugins/page_source.py +0 -0
  111. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/plugins/s3_logging_plugin.py +0 -0
  112. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/plugins/sb_manager.py +0 -0
  113. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/plugins/screen_shots.py +0 -0
  114. {seleniumbase-4.39.6a2/seleniumbase/utilities/selenium_grid → seleniumbase-4.40.0/seleniumbase/resources}/__init__.py +0 -0
  115. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/translate/__init__.py +0 -0
  116. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/translate/chinese.py +0 -0
  117. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/translate/dutch.py +0 -0
  118. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/translate/french.py +0 -0
  119. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/translate/italian.py +0 -0
  120. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/translate/japanese.py +0 -0
  121. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/translate/korean.py +0 -0
  122. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/translate/master_dict.py +0 -0
  123. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/translate/portuguese.py +0 -0
  124. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/translate/russian.py +0 -0
  125. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/translate/spanish.py +0 -0
  126. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/translate/translator.py +0 -0
  127. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/undetected/__init__.py +0 -0
  128. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/undetected/cdp.py +0 -0
  129. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/undetected/cdp_driver/__init__.py +0 -0
  130. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/undetected/cdp_driver/_contradict.py +0 -0
  131. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/undetected/cdp_driver/browser.py +0 -0
  132. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/undetected/cdp_driver/cdp_util.py +0 -0
  133. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/undetected/cdp_driver/config.py +0 -0
  134. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/undetected/cdp_driver/connection.py +0 -0
  135. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/undetected/cdp_driver/element.py +0 -0
  136. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/undetected/cdp_driver/tab.py +0 -0
  137. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/undetected/dprocess.py +0 -0
  138. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/undetected/options.py +0 -0
  139. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/undetected/patcher.py +0 -0
  140. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/undetected/reactor.py +0 -0
  141. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/undetected/webelement.py +0 -0
  142. {seleniumbase-4.39.6a2/seleniumbase/utilities/selenium_ide → seleniumbase-4.40.0/seleniumbase/utilities}/__init__.py +0 -0
  143. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/utilities/selenium_grid/download_selenium_server.py +0 -0
  144. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/utilities/selenium_grid/font_color +0 -0
  145. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/utilities/selenium_grid/grid-hub +0 -0
  146. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/utilities/selenium_grid/grid-node +0 -0
  147. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/utilities/selenium_grid/grid_hub.py +0 -0
  148. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/utilities/selenium_grid/grid_node.py +0 -0
  149. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/utilities/selenium_grid/register-grid-node.bat +0 -0
  150. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/utilities/selenium_grid/register-grid-node.sh +0 -0
  151. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/utilities/selenium_grid/start-grid-hub.bat +0 -0
  152. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/utilities/selenium_grid/start-grid-hub.sh +0 -0
  153. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase/utilities/selenium_ide/convert_ide.py +0 -0
  154. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase.egg-info/dependency_links.txt +0 -0
  155. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase.egg-info/entry_points.txt +0 -0
  156. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/seleniumbase.egg-info/top_level.txt +0 -0
  157. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/setup.cfg +0 -0
  158. {seleniumbase-4.39.6a2 → seleniumbase-4.40.0}/virtualenv_install.sh +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: seleniumbase
3
- Version: 4.39.6a2
3
+ Version: 4.40.0
4
4
  Summary: A complete web automation framework for end-to-end testing.
5
5
  Home-page: https://github.com/seleniumbase/SeleniumBase
6
6
  Author: Michael Mintz
@@ -108,7 +108,7 @@ Requires-Dist: wsproto==1.2.0
108
108
  Requires-Dist: websocket-client==1.8.0
109
109
  Requires-Dist: selenium==4.27.1; python_version < "3.9"
110
110
  Requires-Dist: selenium==4.32.0; python_version >= "3.9" and python_version < "3.10"
111
- Requires-Dist: selenium==4.33.0; python_version >= "3.10"
111
+ Requires-Dist: selenium==4.34.0; python_version >= "3.10"
112
112
  Requires-Dist: cssselect==1.2.0; python_version < "3.9"
113
113
  Requires-Dist: cssselect==1.3.0; python_version >= "3.9"
114
114
  Requires-Dist: sortedcontainers==2.4.0
@@ -124,7 +124,7 @@ Requires-Dist: pytest-ordering==0.6
124
124
  Requires-Dist: pytest-rerunfailures==14.0; python_version < "3.9"
125
125
  Requires-Dist: pytest-rerunfailures==15.1; python_version >= "3.9"
126
126
  Requires-Dist: pytest-xdist==3.6.1; python_version < "3.9"
127
- Requires-Dist: pytest-xdist==3.7.0; python_version >= "3.9"
127
+ Requires-Dist: pytest-xdist==3.8.0; python_version >= "3.9"
128
128
  Requires-Dist: parameterized==0.9.0
129
129
  Requires-Dist: behave==1.2.6
130
130
  Requires-Dist: soupsieve==2.7
@@ -140,7 +140,7 @@ Requires-Dist: allure-python-commons>=2.13.5; extra == "allure"
140
140
  Requires-Dist: allure-behave>=2.13.5; extra == "allure"
141
141
  Provides-Extra: coverage
142
142
  Requires-Dist: coverage>=7.6.1; python_version < "3.9" and extra == "coverage"
143
- Requires-Dist: coverage>=7.9.1; python_version >= "3.9" and extra == "coverage"
143
+ Requires-Dist: coverage>=7.9.2; python_version >= "3.9" and extra == "coverage"
144
144
  Requires-Dist: pytest-cov>=5.0.0; python_version < "3.9" and extra == "coverage"
145
145
  Requires-Dist: pytest-cov>=6.2.1; python_version >= "3.9" and extra == "coverage"
146
146
  Provides-Extra: flake8
@@ -161,12 +161,12 @@ Provides-Extra: pdfminer
161
161
  Requires-Dist: pdfminer.six==20250324; python_version < "3.9" and extra == "pdfminer"
162
162
  Requires-Dist: pdfminer.six==20250506; python_version >= "3.9" and extra == "pdfminer"
163
163
  Requires-Dist: cryptography==39.0.2; python_version < "3.9" and extra == "pdfminer"
164
- Requires-Dist: cryptography==45.0.4; python_version >= "3.9" and extra == "pdfminer"
164
+ Requires-Dist: cryptography==45.0.5; python_version >= "3.9" and extra == "pdfminer"
165
165
  Requires-Dist: cffi==1.17.1; extra == "pdfminer"
166
166
  Requires-Dist: pycparser==2.22; extra == "pdfminer"
167
167
  Provides-Extra: pillow
168
168
  Requires-Dist: Pillow>=10.4.0; python_version < "3.9" and extra == "pillow"
169
- Requires-Dist: Pillow>=11.2.1; python_version >= "3.9" and extra == "pillow"
169
+ Requires-Dist: Pillow>=11.3.0; python_version >= "3.9" and extra == "pillow"
170
170
  Provides-Extra: pip-system-certs
171
171
  Requires-Dist: pip-system-certs==4.0; platform_system == "Windows" and extra == "pip-system-certs"
172
172
  Provides-Extra: proxy
@@ -41,6 +41,8 @@ packages = [
41
41
  "seleniumbase.console_scripts",
42
42
  "seleniumbase.core",
43
43
  "seleniumbase.drivers",
44
+ "seleniumbase.drivers.cft_drivers",
45
+ "seleniumbase.drivers.chs_drivers",
44
46
  "seleniumbase.extensions",
45
47
  "seleniumbase.fixtures",
46
48
  "seleniumbase.js_code",
@@ -46,7 +46,7 @@ wsproto==1.2.0
46
46
  websocket-client==1.8.0
47
47
  selenium==4.27.1;python_version<"3.9"
48
48
  selenium==4.32.0;python_version>="3.9" and python_version<"3.10"
49
- selenium==4.33.0;python_version>="3.10"
49
+ selenium==4.34.0;python_version>="3.10"
50
50
  cssselect==1.2.0;python_version<"3.9"
51
51
  cssselect==1.3.0;python_version>="3.9"
52
52
  sortedcontainers==2.4.0
@@ -62,7 +62,7 @@ pytest-ordering==0.6
62
62
  pytest-rerunfailures==14.0;python_version<"3.9"
63
63
  pytest-rerunfailures==15.1;python_version>="3.9"
64
64
  pytest-xdist==3.6.1;python_version<"3.9"
65
- pytest-xdist==3.7.0;python_version>="3.9"
65
+ pytest-xdist==3.8.0;python_version>="3.9"
66
66
  parameterized==0.9.0
67
67
  behave==1.2.6
68
68
  soupsieve==2.7
@@ -77,7 +77,7 @@ rich>=14.0.0,<15
77
77
  # ("pip install -r requirements.txt" also installs this, but "pip install -e ." won't.)
78
78
 
79
79
  coverage>=7.6.1;python_version<"3.9"
80
- coverage>=7.9.1;python_version>="3.9"
80
+ coverage>=7.9.2;python_version>="3.9"
81
81
  pytest-cov>=5.0.0;python_version<"3.9"
82
82
  pytest-cov>=6.2.1;python_version>="3.9"
83
83
  flake8==5.0.4;python_version<"3.9"
@@ -0,0 +1,2 @@
1
+ # seleniumbase package
2
+ __version__ = "4.40.0"
@@ -11,6 +11,8 @@ behave -D agent="User Agent String" -D demo
11
11
  -D edge (Shortcut for "-D browser=edge".)
12
12
  -D firefox (Shortcut for "-D browser=firefox".)
13
13
  -D safari (Shortcut for "-D browser=safari".)
14
+ -D cft (Shortcut for using `Chrome for Testing`)
15
+ -D chs (Shortcut for using `Chrome-Headless-Shell`)
14
16
  -D settings-file=FILE (Override default SeleniumBase settings.)
15
17
  -D env=ENV (Set the test env. Access with "self.env" in tests.)
16
18
  -D account=STR (Set account. Access with "self.account" in tests.)
@@ -176,6 +178,7 @@ def get_configured_sb(context):
176
178
  sb.extension_zip = None
177
179
  sb.extension_dir = None
178
180
  sb.binary_location = None
181
+ sb_config.binary_location = None
179
182
  sb.driver_version = None
180
183
  sb.page_load_strategy = None
181
184
  sb.database_env = "test"
@@ -488,6 +491,19 @@ def get_configured_sb(context):
488
491
  if binary_location == "true":
489
492
  binary_location = sb.binary_location # revert to default
490
493
  sb.binary_location = binary_location
494
+ sb_config.binary_location = binary_location
495
+ continue
496
+ # Handle: -D cft
497
+ if low_key in ["cft"] and not sb_config.binary_location:
498
+ binary_location = "cft"
499
+ sb.binary_location = binary_location
500
+ sb_config.binary_location = binary_location
501
+ continue
502
+ # Handle: -D chs
503
+ if low_key in ["chs"] and not sb_config.binary_location:
504
+ binary_location = "chs"
505
+ sb.binary_location = binary_location
506
+ sb_config.binary_location = binary_location
491
507
  continue
492
508
  # Handle: -D driver-version=VER / driver_version=VER
493
509
  if low_key in ["driver-version", "driver_version"]:
@@ -44,6 +44,8 @@ from seleniumbase.fixtures import constants
44
44
  from seleniumbase.fixtures import shared_utils
45
45
  from seleniumbase import config as sb_config
46
46
  from seleniumbase import drivers # webdriver storage folder for SeleniumBase
47
+ from seleniumbase.drivers import cft_drivers # chrome-for-testing
48
+ from seleniumbase.drivers import chs_drivers # chrome-headless-shell
47
49
 
48
50
  urllib3.disable_warnings()
49
51
  ARCH = platform.architecture()[0]
@@ -52,6 +54,8 @@ IS_MAC = shared_utils.is_mac()
52
54
  IS_LINUX = shared_utils.is_linux()
53
55
  IS_WINDOWS = shared_utils.is_windows()
54
56
  DRIVER_DIR = os.path.dirname(os.path.realpath(drivers.__file__))
57
+ DRIVER_DIR_CFT = os.path.dirname(os.path.realpath(cft_drivers.__file__))
58
+ DRIVER_DIR_CHS = os.path.dirname(os.path.realpath(chs_drivers.__file__))
55
59
  LOCAL_PATH = "/usr/local/bin/" # On Mac and Linux systems
56
60
  DEFAULT_CHROMEDRIVER_VERSION = "114.0.5735.90" # (If can't find LATEST_STABLE)
57
61
  DEFAULT_GECKODRIVER_VERSION = "v0.36.0"
@@ -305,6 +309,17 @@ def main(override=None, intel_for_uc=None, force_uc=None):
305
309
  headless_ie_exists = False
306
310
  headless_ie_file_name = None
307
311
  downloads_folder = DRIVER_DIR
312
+ if (
313
+ hasattr(sb_config, "settings")
314
+ and hasattr(sb_config.settings, "NEW_DRIVER_DIR")
315
+ and sb_config.settings.NEW_DRIVER_DIR
316
+ and os.path.exists(sb_config.settings.NEW_DRIVER_DIR)
317
+ ):
318
+ downloads_folder = sb_config.settings.NEW_DRIVER_DIR
319
+ elif override == "cft" or name == "cft":
320
+ downloads_folder = DRIVER_DIR_CFT
321
+ elif override == "chs" or name == "chs":
322
+ downloads_folder = DRIVER_DIR_CHS
308
323
  expected_contents = None
309
324
  platform_code = None
310
325
  copy_to_path = False