seleniumbase 4.34.2__py3-none-any.whl → 4.34.3__py3-none-any.whl

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.
@@ -1,2 +1,2 @@
1
1
  # seleniumbase package
2
- __version__ = "4.34.2"
2
+ __version__ = "4.34.3"
@@ -2651,6 +2651,13 @@ def get_driver(
2651
2651
  if headless2 and browser_name == constants.Browser.FIREFOX:
2652
2652
  headless2 = False # Only for Chromium
2653
2653
  headless = True
2654
+ if (
2655
+ is_using_uc(undetectable, browser_name)
2656
+ and binary_location
2657
+ and isinstance(binary_location, str)
2658
+ and binary_location.lower() == "chs"
2659
+ ):
2660
+ raise Exception("UC Mode can't be used with Chrome-Headless-Shell!")
2654
2661
  if (
2655
2662
  binary_location
2656
2663
  and isinstance(binary_location, str)
@@ -137,6 +137,8 @@ def Driver(
137
137
  guest=None, # Shortcut / Duplicate of "guest_mode".
138
138
  wire=None, # Shortcut / Duplicate of "use_wire".
139
139
  pls=None, # Shortcut / Duplicate of "page_load_strategy".
140
+ cft=None, # Use "Chrome for Testing"
141
+ chs=None, # Use "Chrome-Headless-Shell"
140
142
  ):
141
143
  """
142
144
  * SeleniumBase Driver as a Python Context Manager or a returnable object. *
@@ -550,6 +552,14 @@ def Driver(
550
552
  if arg.startswith("--bl="):
551
553
  binary_location = arg.split("--bl=")[1]
552
554
  break
555
+ if cft and not binary_location:
556
+ binary_location = "cft"
557
+ elif chs and not binary_location:
558
+ binary_location = "chs"
559
+ if "--cft" in sys_argv and not binary_location:
560
+ binary_location = "cft"
561
+ elif "--chs" in sys_argv and not binary_location:
562
+ binary_location = "chs"
553
563
  if (
554
564
  binary_location
555
565
  and binary_location.lower() == "chs"
@@ -184,6 +184,20 @@ def pytest_addoption(parser):
184
184
  default=False,
185
185
  help="""Shortcut for --browser=safari""",
186
186
  )
187
+ parser.addoption(
188
+ "--cft",
189
+ action="store_true",
190
+ dest="use_cft",
191
+ default=False,
192
+ help="""Shortcut for using `Chrome for Testing`""",
193
+ )
194
+ parser.addoption(
195
+ "--chs",
196
+ action="store_true",
197
+ dest="use_chs",
198
+ default=False,
199
+ help="""Shortcut for using `Chrome-Headless-Shell`""",
200
+ )
187
201
  parser.addoption(
188
202
  "--with-selenium",
189
203
  action="store_true",
@@ -1575,6 +1589,10 @@ def pytest_configure(config):
1575
1589
  sb_config.extension_dir = config.getoption("extension_dir")
1576
1590
  sb_config.disable_features = config.getoption("disable_features")
1577
1591
  sb_config.binary_location = config.getoption("binary_location")
1592
+ if config.getoption("use_cft") and not sb_config.binary_location:
1593
+ sb_config.binary_location = "cft"
1594
+ elif config.getoption("use_chs") and not sb_config.binary_location:
1595
+ sb_config.binary_location = "chs"
1578
1596
  if (
1579
1597
  sb_config.binary_location
1580
1598
  and sb_config.binary_location.lower() == "chs"
@@ -119,6 +119,8 @@ def SB(
119
119
  pls=None, # Shortcut / Duplicate of "page_load_strategy".
120
120
  sjw=None, # Shortcut / Duplicate of "skip_js_waits".
121
121
  wfa=None, # Shortcut / Duplicate of "wait_for_angularjs".
122
+ cft=None, # Use "Chrome for Testing"
123
+ chs=None, # Use "Chrome-Headless-Shell"
122
124
  save_screenshot=None, # Save a screenshot at the end of each test.
123
125
  no_screenshot=None, # No screenshots saved unless tests directly ask it.
124
126
  page_load_strategy=None, # Set Chrome PLS to "normal", "eager", or "none".
@@ -588,6 +590,14 @@ def SB(
588
590
  if arg.startswith("--bl="):
589
591
  binary_location = arg.split("--bl=")[1]
590
592
  break
593
+ if cft and not binary_location:
594
+ binary_location = "cft"
595
+ elif chs and not binary_location:
596
+ binary_location = "chs"
597
+ if "--cft" in sys_argv and not binary_location:
598
+ binary_location = "cft"
599
+ elif "--chs" in sys_argv and not binary_location:
600
+ binary_location = "chs"
591
601
  if (
592
602
  binary_location
593
603
  and binary_location.lower() == "chs"
@@ -144,6 +144,20 @@ class SeleniumBrowser(Plugin):
144
144
  default=False,
145
145
  help="""Shortcut for --browser=safari""",
146
146
  )
147
+ parser.addoption(
148
+ "--cft",
149
+ action="store_true",
150
+ dest="use_cft",
151
+ default=False,
152
+ help="""Shortcut for using `Chrome for Testing`""",
153
+ )
154
+ parser.addoption(
155
+ "--chs",
156
+ action="store_true",
157
+ dest="use_chs",
158
+ default=False,
159
+ help="""Shortcut for using `Chrome-Headless-Shell`""",
160
+ )
147
161
  parser.addoption(
148
162
  "--cap_file",
149
163
  "--cap-file",
@@ -1203,6 +1217,10 @@ class SeleniumBrowser(Plugin):
1203
1217
  test.test.extension_dir = self.options.extension_dir
1204
1218
  test.test.disable_features = self.options.disable_features
1205
1219
  test.test.binary_location = self.options.binary_location
1220
+ if self.options.use_cft and not test.test.binary_location:
1221
+ test.test.binary_location = "cft"
1222
+ elif self.options.use_chs and not test.test.binary_location:
1223
+ test.test.binary_location = "chs"
1206
1224
  if (
1207
1225
  test.test.binary_location
1208
1226
  and test.test.binary_location.lower() == "chs"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: seleniumbase
3
- Version: 4.34.2
3
+ Version: 4.34.3
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
@@ -64,7 +64,7 @@ Requires-Dist: packaging>=24.2
64
64
  Requires-Dist: setuptools~=70.2; python_version < "3.10"
65
65
  Requires-Dist: setuptools>=75.8.0; python_version >= "3.10"
66
66
  Requires-Dist: wheel>=0.45.1
67
- Requires-Dist: attrs>=24.3.0
67
+ Requires-Dist: attrs>=25.1.0
68
68
  Requires-Dist: certifi>=2024.12.14
69
69
  Requires-Dist: exceptiongroup>=1.2.2
70
70
  Requires-Dist: websockets~=13.1; python_version < "3.9"
@@ -3,7 +3,7 @@ sbase/__main__.py,sha256=G0bVB1-DM4PGwQ1KyOupaWCs4ePbChZNNWuX2htim5U,647
3
3
  sbase/steps.py,sha256=_WvAjydKqZfTdnZW9LPKkRty-g-lfdUPmLqnZj6ulcs,43013
4
4
  seleniumbase/__init__.py,sha256=OtJh8nGKL4xtZpw8KPqmn7Q6R-86t4cWUDyVF5MbMTo,2398
5
5
  seleniumbase/__main__.py,sha256=dn1p6dgCchmcH1zzTzzQvFwwdQQqnTGH6ULV9m4hv24,654
6
- seleniumbase/__version__.py,sha256=7MfqwQmRqETlKWexc8yLVDnkE1CWZHELfUUA-N5IZ8g,46
6
+ seleniumbase/__version__.py,sha256=Uuj5H1Y3skHSX7gCdgBcXPjSC2pPsbPi2kTBbJRhpDo,46
7
7
  seleniumbase/behave/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
8
8
  seleniumbase/behave/behave_helper.py,sha256=elkl8P9eLulRAioLstE9baYNM9N_PHBmAOcajX-pH_Y,24198
9
9
  seleniumbase/behave/behave_sb.py,sha256=qQF85LoohJBfrPK5ZcPi50v-pWtOrC9qcN1B3Ki_3tY,59401
@@ -36,7 +36,7 @@ seleniumbase/console_scripts/sb_print.py,sha256=tNy-bMDgwHJO3bZxMpmo9weSE8uhbH0C
36
36
  seleniumbase/console_scripts/sb_recorder.py,sha256=fnHb5-kh11Hit-E9Ha-e4QXzqLcZvtij6mb5qNd4B1Q,11032
37
37
  seleniumbase/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
38
38
  seleniumbase/core/application_manager.py,sha256=e_0sjtI8cjY5BNyZj1QBR0j6_oCScxGmSXYEpcYwuZE,576
39
- seleniumbase/core/browser_launcher.py,sha256=4XvJ-oppY02wIrMm8nKeGQH5rZ1MCO95vQLiYT9vXL0,233436
39
+ seleniumbase/core/browser_launcher.py,sha256=yBXCddbmRF7LXkM4I67KvYCYIMJovN9_5NucacfaTxk,233695
40
40
  seleniumbase/core/capabilities_parser.py,sha256=meIS2uHapTCq2ldfNAToC7r0cKmZDRXuYNKExM1GHDY,6038
41
41
  seleniumbase/core/colored_traceback.py,sha256=DrRWfg7XEnKcgY59Xj7Jdk09H-XqHYBSUpB-DiZt6iY,2020
42
42
  seleniumbase/core/create_db_tables.sql,sha256=VWPtrdiW_HQ6yETHjqTu-VIrTwvd8I8o1NfBeaVSHpU,972
@@ -86,13 +86,13 @@ seleniumbase/plugins/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hS
86
86
  seleniumbase/plugins/base_plugin.py,sha256=FemdftNhOaTfQIw5bWcJQPPPGQ3P0_sMEI_YYDuzZgU,14972
87
87
  seleniumbase/plugins/basic_test_info.py,sha256=8ov6n417gPbqqvrlT4zrch7l2XcRt-GF2ny6rR9AMWk,2108
88
88
  seleniumbase/plugins/db_reporting_plugin.py,sha256=En09qUCoojrk9-vbcnsoHdSELoGmag2GDIyu3jTiJas,7331
89
- seleniumbase/plugins/driver_manager.py,sha256=56uzORwS0VV4E0LuY89g3OSzakoVVigcVaXXWk9z9cY,35468
89
+ seleniumbase/plugins/driver_manager.py,sha256=QGGekWvcj58VMGr87UyXl1OvVTMjZDEdt8jaq7K13u8,35863
90
90
  seleniumbase/plugins/page_source.py,sha256=loTnXxOj4kxEukuTZEiGyvKBhY3KDVDMnNlHHheTBDE,1889
91
- seleniumbase/plugins/pytest_plugin.py,sha256=dWng0-21PR0bU76J4ipkjCKxlrt6OjUvxW4pGdiWCeQ,107658
91
+ seleniumbase/plugins/pytest_plugin.py,sha256=SKCHzUFSd8dHPQwYQTJp-6AX7YD6Kce-MemvNguNgYs,108249
92
92
  seleniumbase/plugins/s3_logging_plugin.py,sha256=WDfertQgGOW_SRJpFMaekYD6vBVW9VO62POtXXy2HCM,2319
93
- seleniumbase/plugins/sb_manager.py,sha256=xyQrtXrKju11DIlrzcOjSk4BI1wdUcpAIJDIuSMl-Tg,55847
93
+ seleniumbase/plugins/sb_manager.py,sha256=aOaP5ZxLM7EfpLml4f_iBXkidKtFA1KcZQQIGm4aSQQ,56242
94
94
  seleniumbase/plugins/screen_shots.py,sha256=1hrXw-hzuZ1BR6Yh7AyWX2ABnvnP73-RCbwdz958gj4,1127
95
- seleniumbase/plugins/selenium_plugin.py,sha256=J0H2TPAATEal06eQ-kchiLnBGRyjHzDzjoAfWVvNyuM,59374
95
+ seleniumbase/plugins/selenium_plugin.py,sha256=qpbP4pMGGdM2s_YWWNzgZQx9pLGETW6H3_Gbx2FQ57o,60023
96
96
  seleniumbase/resources/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
97
97
  seleniumbase/translate/__init__.py,sha256=N2i5XntTwJZmwr9-qvdX5gC6Rdm5-ClIbnQ8yyPn4Oo,459
98
98
  seleniumbase/translate/chinese.py,sha256=0QhK2eadtsdN4KCvwki1J7jBCe8I4xxWbKzteJKJozY,24698
@@ -135,9 +135,9 @@ seleniumbase/utilities/selenium_grid/start-grid-hub.bat,sha256=Ftq-GrAKRYH2ssDPr
135
135
  seleniumbase/utilities/selenium_grid/start-grid-hub.sh,sha256=KADv0RUHONLL2_I443QFK8PryBpDmKn5Gy0s4o0vDSM,106
136
136
  seleniumbase/utilities/selenium_ide/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
137
137
  seleniumbase/utilities/selenium_ide/convert_ide.py,sha256=pZFnqEJQEKZPyNFjkLD29s2HPQgCrWW9XJWpCPhWOoM,31691
138
- seleniumbase-4.34.2.dist-info/LICENSE,sha256=BRblZsX7HyPUjQmYTiyWr_e9tzWvmR3R4SFclM2R3W0,1085
139
- seleniumbase-4.34.2.dist-info/METADATA,sha256=tvfGcEsVci8OW-lRVq2-uKFxkyM97KAMiN7hDbS90qI,86522
140
- seleniumbase-4.34.2.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
141
- seleniumbase-4.34.2.dist-info/entry_points.txt,sha256=CNrh2EKNaHYEhO6pP1RJyVLB99LkDDYX7TnUK8xfjqk,623
142
- seleniumbase-4.34.2.dist-info/top_level.txt,sha256=4N97aBOQ8ETCnDnokBsWb07lJfTaq3C1ZzYRxvLMxqU,19
143
- seleniumbase-4.34.2.dist-info/RECORD,,
138
+ seleniumbase-4.34.3.dist-info/LICENSE,sha256=BRblZsX7HyPUjQmYTiyWr_e9tzWvmR3R4SFclM2R3W0,1085
139
+ seleniumbase-4.34.3.dist-info/METADATA,sha256=aAlgc-ToqhxQPG4_MV_F8SMOctlsV0rgAILYhaPFU1c,86522
140
+ seleniumbase-4.34.3.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
141
+ seleniumbase-4.34.3.dist-info/entry_points.txt,sha256=CNrh2EKNaHYEhO6pP1RJyVLB99LkDDYX7TnUK8xfjqk,623
142
+ seleniumbase-4.34.3.dist-info/top_level.txt,sha256=4N97aBOQ8ETCnDnokBsWb07lJfTaq3C1ZzYRxvLMxqU,19
143
+ seleniumbase-4.34.3.dist-info/RECORD,,