seleniumbase 4.39.2__py3-none-any.whl → 4.39.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.
- seleniumbase/__version__.py +1 -1
- seleniumbase/fixtures/base_case.py +9 -9
- seleniumbase/plugins/pytest_plugin.py +11 -2
- {seleniumbase-4.39.2.dist-info → seleniumbase-4.39.3.dist-info}/METADATA +5 -4
- {seleniumbase-4.39.2.dist-info → seleniumbase-4.39.3.dist-info}/RECORD +9 -9
- {seleniumbase-4.39.2.dist-info → seleniumbase-4.39.3.dist-info}/WHEEL +0 -0
- {seleniumbase-4.39.2.dist-info → seleniumbase-4.39.3.dist-info}/entry_points.txt +0 -0
- {seleniumbase-4.39.2.dist-info → seleniumbase-4.39.3.dist-info}/licenses/LICENSE +0 -0
- {seleniumbase-4.39.2.dist-info → seleniumbase-4.39.3.dist-info}/top_level.txt +0 -0
seleniumbase/__version__.py
CHANGED
@@ -1,2 +1,2 @@
|
|
1
1
|
# seleniumbase package
|
2
|
-
__version__ = "4.39.
|
2
|
+
__version__ = "4.39.3"
|
@@ -4592,9 +4592,9 @@ class BaseCase(unittest.TestCase):
|
|
4592
4592
|
Loads the page cookies from the "saved_cookies" folder.
|
4593
4593
|
Usage for setting expiry:
|
4594
4594
|
If expiry == 0 or False: Delete "expiry".
|
4595
|
+
If expiry is True: Set "expiry" to 24 hours in the future.
|
4595
4596
|
If expiry == -1 (or < 0): Do not modify "expiry".
|
4596
4597
|
If expiry > 0: Set "expiry" to expiry minutes in the future.
|
4597
|
-
If expiry == True: Set "expiry" to 24 hours in the future.
|
4598
4598
|
"""
|
4599
4599
|
cookies = self.get_saved_cookies(name)
|
4600
4600
|
self.wait_for_ready_state_complete()
|
@@ -4606,12 +4606,12 @@ class BaseCase(unittest.TestCase):
|
|
4606
4606
|
cookie["domain"] = trim_origin
|
4607
4607
|
if "expiry" in cookie and (not expiry or expiry == 0):
|
4608
4608
|
del cookie["expiry"]
|
4609
|
+
elif expiry is True:
|
4610
|
+
cookie["expiry"] = int(time.time()) + 86400
|
4609
4611
|
elif isinstance(expiry, (int, float)) and expiry < 0:
|
4610
4612
|
pass
|
4611
4613
|
elif isinstance(expiry, (int, float)) and expiry > 0:
|
4612
4614
|
cookie["expiry"] = int(time.time()) + int(expiry * 60.0)
|
4613
|
-
elif expiry:
|
4614
|
-
cookie["expiry"] = int(time.time()) + 86400
|
4615
4615
|
self.driver.add_cookie(cookie)
|
4616
4616
|
|
4617
4617
|
def delete_all_cookies(self):
|
@@ -4693,9 +4693,9 @@ class BaseCase(unittest.TestCase):
|
|
4693
4693
|
self.add_cookie({'name': 'foo', 'value': 'bar', 'sameSite': 'Strict'})
|
4694
4694
|
Usage for setting expiry:
|
4695
4695
|
If expiry == 0 or False: Delete "expiry".
|
4696
|
+
If expiry is True: Set "expiry" to 24 hours in the future.
|
4696
4697
|
If expiry == -1 (or < 0): Do not modify "expiry".
|
4697
4698
|
If expiry > 0: Set "expiry" to expiry minutes in the future.
|
4698
|
-
If expiry == True: Set "expiry" to 24 hours in the future.
|
4699
4699
|
"""
|
4700
4700
|
self.__check_scope()
|
4701
4701
|
self._check_browser()
|
@@ -4707,21 +4707,21 @@ class BaseCase(unittest.TestCase):
|
|
4707
4707
|
cookie["domain"] = trim_origin
|
4708
4708
|
if "expiry" in cookie and (not expiry or expiry == 0):
|
4709
4709
|
del cookie["expiry"]
|
4710
|
+
elif expiry is True:
|
4711
|
+
cookie["expiry"] = int(time.time()) + 86400
|
4710
4712
|
elif isinstance(expiry, (int, float)) and expiry < 0:
|
4711
4713
|
pass
|
4712
4714
|
elif isinstance(expiry, (int, float)) and expiry > 0:
|
4713
4715
|
cookie["expiry"] = int(time.time()) + int(expiry * 60.0)
|
4714
|
-
elif expiry:
|
4715
|
-
cookie["expiry"] = int(time.time()) + 86400
|
4716
4716
|
self.driver.add_cookie(cookie_dict)
|
4717
4717
|
|
4718
4718
|
def add_cookies(self, cookies, expiry=False):
|
4719
4719
|
"""
|
4720
4720
|
Usage for setting expiry:
|
4721
4721
|
If expiry == 0 or False: Delete "expiry".
|
4722
|
+
If expiry is True: Set "expiry" to 24 hours in the future.
|
4722
4723
|
If expiry == -1 (or < 0): Do not modify "expiry".
|
4723
4724
|
If expiry > 0: Set "expiry" to expiry minutes in the future.
|
4724
|
-
If expiry == True: Set "expiry" to 24 hours in the future.
|
4725
4725
|
"""
|
4726
4726
|
self.__check_scope()
|
4727
4727
|
self._check_browser()
|
@@ -4733,12 +4733,12 @@ class BaseCase(unittest.TestCase):
|
|
4733
4733
|
cookie["domain"] = trim_origin
|
4734
4734
|
if "expiry" in cookie and (not expiry or expiry == 0):
|
4735
4735
|
del cookie["expiry"]
|
4736
|
+
elif expiry is True:
|
4737
|
+
cookie["expiry"] = int(time.time()) + 86400
|
4736
4738
|
elif isinstance(expiry, (int, float)) and expiry < 0:
|
4737
4739
|
pass
|
4738
4740
|
elif isinstance(expiry, (int, float)) and expiry > 0:
|
4739
4741
|
cookie["expiry"] = int(time.time()) + int(expiry * 60.0)
|
4740
|
-
elif expiry:
|
4741
|
-
cookie["expiry"] = int(time.time()) + 86400
|
4742
4742
|
self.driver.add_cookie(cookie)
|
4743
4743
|
|
4744
4744
|
def __set_esc_skip(self):
|
@@ -2160,7 +2160,12 @@ def _perform_pytest_unconfigure_(config):
|
|
2160
2160
|
from seleniumbase.core import proxy_helper
|
2161
2161
|
|
2162
2162
|
reporter = config.pluginmanager.get_plugin("terminalreporter")
|
2163
|
-
|
2163
|
+
start_time = None
|
2164
|
+
if hasattr(reporter, "_sessionstarttime"):
|
2165
|
+
start_time = reporter._sessionstarttime # (pytest < 8.4.0)
|
2166
|
+
else:
|
2167
|
+
start_time = reporter._session_start.time # (pytest >= 8.4.0)
|
2168
|
+
duration = time.time() - start_time
|
2164
2169
|
if (
|
2165
2170
|
(hasattr(sb_config, "multi_proxy") and not sb_config.multi_proxy)
|
2166
2171
|
or not hasattr(sb_config, "multi_proxy")
|
@@ -2497,7 +2502,11 @@ def pytest_unconfigure(config):
|
|
2497
2502
|
if "--co" in sys_argv or "--collect-only" in sys_argv:
|
2498
2503
|
return
|
2499
2504
|
reporter = config.pluginmanager.get_plugin("terminalreporter")
|
2500
|
-
if
|
2505
|
+
if (
|
2506
|
+
not hasattr(reporter, "_sessionstarttime")
|
2507
|
+
and not hasattr(reporter, "_session_start")
|
2508
|
+
and not hasattr(reporter._session_start, "time")
|
2509
|
+
):
|
2501
2510
|
return
|
2502
2511
|
if hasattr(sb_config, "_multithreaded") and sb_config._multithreaded:
|
2503
2512
|
import fasteners
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: seleniumbase
|
3
|
-
Version: 4.39.
|
3
|
+
Version: 4.39.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
|
@@ -63,7 +63,7 @@ Requires-Dist: pip>=25.0.1; python_version < "3.9"
|
|
63
63
|
Requires-Dist: pip>=25.1.1; python_version >= "3.9"
|
64
64
|
Requires-Dist: packaging>=25.0
|
65
65
|
Requires-Dist: setuptools~=70.2; python_version < "3.10"
|
66
|
-
Requires-Dist: setuptools>=80.
|
66
|
+
Requires-Dist: setuptools>=80.9.0; python_version >= "3.10"
|
67
67
|
Requires-Dist: wheel>=0.45.1
|
68
68
|
Requires-Dist: attrs>=25.3.0
|
69
69
|
Requires-Dist: certifi>=2025.4.26
|
@@ -96,7 +96,7 @@ Requires-Dist: chardet==5.2.0
|
|
96
96
|
Requires-Dist: charset-normalizer<4,>=3.4.2
|
97
97
|
Requires-Dist: urllib3<2,>=1.26.20; python_version < "3.10"
|
98
98
|
Requires-Dist: urllib3<2.5.0,>=1.26.20; python_version >= "3.10"
|
99
|
-
Requires-Dist: requests==2.32.
|
99
|
+
Requires-Dist: requests==2.32.4
|
100
100
|
Requires-Dist: sniffio==1.3.1
|
101
101
|
Requires-Dist: h11==0.16.0
|
102
102
|
Requires-Dist: outcome==1.3.0.post0
|
@@ -115,7 +115,8 @@ Requires-Dist: execnet==2.1.1
|
|
115
115
|
Requires-Dist: iniconfig==2.1.0
|
116
116
|
Requires-Dist: pluggy==1.5.0; python_version < "3.9"
|
117
117
|
Requires-Dist: pluggy==1.6.0; python_version >= "3.9"
|
118
|
-
Requires-Dist: pytest==8.3.5
|
118
|
+
Requires-Dist: pytest==8.3.5; python_version < "3.9"
|
119
|
+
Requires-Dist: pytest==8.4.0; python_version >= "3.9"
|
119
120
|
Requires-Dist: pytest-html==4.0.2
|
120
121
|
Requires-Dist: pytest-metadata==3.1.1
|
121
122
|
Requires-Dist: pytest-ordering==0.6
|
@@ -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=JFEY9P5QJqsa1M6ghzLMH2eIPQyh85iglCaQwg8Y8z4,2498
|
5
5
|
seleniumbase/__main__.py,sha256=dn1p6dgCchmcH1zzTzzQvFwwdQQqnTGH6ULV9m4hv24,654
|
6
|
-
seleniumbase/__version__.py,sha256=
|
6
|
+
seleniumbase/__version__.py,sha256=nTUvL9_RRWHzoBJZ-PxE0bdg5Ws2Y35U5sdL7LXHfRU,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=bbbfa8ID6nMnmrVJ7G-014uOj5PE4B8IROZB2WXSQ8I,59172
|
@@ -65,7 +65,7 @@ seleniumbase/extensions/disable_csp.zip,sha256=5RvomXnm2PdivUVcxTV6jfvD8WhTEsQYH
|
|
65
65
|
seleniumbase/extensions/recorder.zip,sha256=JEE_FVEvlS63cFQbVLEroIyPSS91nWCDL0MhjVrmIpk,11813
|
66
66
|
seleniumbase/extensions/sbase_ext.zip,sha256=3s1N8zrVaMz8RQEOIoBzC3KDjtmHwVZRvVsX25Odr_s,8175
|
67
67
|
seleniumbase/fixtures/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
68
|
-
seleniumbase/fixtures/base_case.py,sha256=
|
68
|
+
seleniumbase/fixtures/base_case.py,sha256=N9EIcW_YSkmH9N-dS9ksPOu799AOARry_lnSXwwW9oU,727121
|
69
69
|
seleniumbase/fixtures/constants.py,sha256=WMrItuNyKq3XVJ64NluLIRc4gJCxDw8K8qXED0b9S2w,13752
|
70
70
|
seleniumbase/fixtures/css_to_xpath.py,sha256=9ouDB1xl4MJ2os6JOgTIAyHKOQfuxtxvXC3O5hSnEKA,1954
|
71
71
|
seleniumbase/fixtures/errors.py,sha256=KyxuEVx_e3MPhVrJfNIa_3ltMpbCFxfy_jxK8RFNTns,555
|
@@ -88,7 +88,7 @@ seleniumbase/plugins/basic_test_info.py,sha256=8ov6n417gPbqqvrlT4zrch7l2XcRt-GF2
|
|
88
88
|
seleniumbase/plugins/db_reporting_plugin.py,sha256=En09qUCoojrk9-vbcnsoHdSELoGmag2GDIyu3jTiJas,7331
|
89
89
|
seleniumbase/plugins/driver_manager.py,sha256=VSYQgDDA2t34gi-3qPkw5Ef9SX8sVQX3RETHOihyKHc,36558
|
90
90
|
seleniumbase/plugins/page_source.py,sha256=loTnXxOj4kxEukuTZEiGyvKBhY3KDVDMnNlHHheTBDE,1889
|
91
|
-
seleniumbase/plugins/pytest_plugin.py,sha256=
|
91
|
+
seleniumbase/plugins/pytest_plugin.py,sha256=dijsJuCsKo8LmhJ4NvXnYJyUiSFhbGdkzd6a4vy-3DQ,108709
|
92
92
|
seleniumbase/plugins/s3_logging_plugin.py,sha256=WDfertQgGOW_SRJpFMaekYD6vBVW9VO62POtXXy2HCM,2319
|
93
93
|
seleniumbase/plugins/sb_manager.py,sha256=ulTDorccan06eVYtSqlX26EFKXmS0gCY0huJ67Q5gTY,58082
|
94
94
|
seleniumbase/plugins/screen_shots.py,sha256=1hrXw-hzuZ1BR6Yh7AyWX2ABnvnP73-RCbwdz958gj4,1127
|
@@ -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.39.
|
139
|
-
seleniumbase-4.39.
|
140
|
-
seleniumbase-4.39.
|
141
|
-
seleniumbase-4.39.
|
142
|
-
seleniumbase-4.39.
|
143
|
-
seleniumbase-4.39.
|
138
|
+
seleniumbase-4.39.3.dist-info/licenses/LICENSE,sha256=BRblZsX7HyPUjQmYTiyWr_e9tzWvmR3R4SFclM2R3W0,1085
|
139
|
+
seleniumbase-4.39.3.dist-info/METADATA,sha256=HP5hNOGCz7XYhzmE5bggasu-3gJpnSobclAGUsCGc24,87284
|
140
|
+
seleniumbase-4.39.3.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
141
|
+
seleniumbase-4.39.3.dist-info/entry_points.txt,sha256=CNrh2EKNaHYEhO6pP1RJyVLB99LkDDYX7TnUK8xfjqk,623
|
142
|
+
seleniumbase-4.39.3.dist-info/top_level.txt,sha256=4N97aBOQ8ETCnDnokBsWb07lJfTaq3C1ZzYRxvLMxqU,19
|
143
|
+
seleniumbase-4.39.3.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|