seleniumbase 4.17.7__py3-none-any.whl → 4.17.8__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/behave/behave_sb.py +4 -5
- seleniumbase/core/download_helper.py +14 -3
- seleniumbase/core/log_helper.py +15 -0
- seleniumbase/fixtures/base_case.py +8 -6
- seleniumbase/fixtures/constants.py +2 -1
- seleniumbase/fixtures/page_utils.py +9 -9
- seleniumbase/plugins/base_plugin.py +1 -0
- seleniumbase/plugins/pytest_plugin.py +4 -5
- seleniumbase/plugins/sb_manager.py +3 -2
- {seleniumbase-4.17.7.dist-info → seleniumbase-4.17.8.dist-info}/METADATA +3 -3
- {seleniumbase-4.17.7.dist-info → seleniumbase-4.17.8.dist-info}/RECORD +16 -16
- {seleniumbase-4.17.7.dist-info → seleniumbase-4.17.8.dist-info}/LICENSE +0 -0
- {seleniumbase-4.17.7.dist-info → seleniumbase-4.17.8.dist-info}/WHEEL +0 -0
- {seleniumbase-4.17.7.dist-info → seleniumbase-4.17.8.dist-info}/entry_points.txt +0 -0
- {seleniumbase-4.17.7.dist-info → seleniumbase-4.17.8.dist-info}/top_level.txt +0 -0
seleniumbase/__version__.py
CHANGED
@@ -1,2 +1,2 @@
|
|
1
1
|
# seleniumbase package
|
2
|
-
__version__ = "4.17.
|
2
|
+
__version__ = "4.17.8"
|
seleniumbase/behave/behave_sb.py
CHANGED
@@ -940,7 +940,7 @@ def get_configured_sb(context):
|
|
940
940
|
if sb_config.dash_title:
|
941
941
|
constants.Dashboard.TITLE = sb_config.dash_title.replace("_", " ")
|
942
942
|
|
943
|
-
log_helper.log_folder_setup(
|
943
|
+
log_helper.log_folder_setup("latest_logs/", sb.archive_logs)
|
944
944
|
download_helper.reset_downloads_folder()
|
945
945
|
proxy_helper.remove_proxy_zip_if_present()
|
946
946
|
return sb
|
@@ -1152,10 +1152,9 @@ def _perform_behave_unconfigure_():
|
|
1152
1152
|
except Exception:
|
1153
1153
|
pass
|
1154
1154
|
sb_config.shared_driver = None
|
1155
|
-
if hasattr(sb_config, "
|
1156
|
-
log_helper.archive_logs_if_set(
|
1157
|
-
|
1158
|
-
)
|
1155
|
+
if hasattr(sb_config, "archive_logs"):
|
1156
|
+
log_helper.archive_logs_if_set("latest_logs/", sb_config.archive_logs)
|
1157
|
+
log_helper.clear_empty_logs()
|
1159
1158
|
# Dashboard post-processing: Disable time-based refresh and stamp complete
|
1160
1159
|
if not hasattr(sb_config, "dashboard") or not sb_config.dashboard:
|
1161
1160
|
# Done with "behave_unconfigure" unless using the Dashboard
|
@@ -24,11 +24,22 @@ def get_downloads_folder():
|
|
24
24
|
def reset_downloads_folder():
|
25
25
|
"""Clears the downloads folder.
|
26
26
|
If settings.ARCHIVE_EXISTING_DOWNLOADS is set to True, archives it."""
|
27
|
+
archived_downloads_folder = os.path.join(os.getcwd(), ARCHIVE_DIR) + os.sep
|
27
28
|
if os.path.exists(downloads_path) and not os.listdir(downloads_path) == []:
|
28
|
-
archived_downloads_folder = os.path.join(
|
29
|
-
downloads_path, "..", ARCHIVE_DIR
|
30
|
-
)
|
31
29
|
reset_downloads_folder_assistant(archived_downloads_folder)
|
30
|
+
if os.path.exists(downloads_path) and os.listdir(downloads_path) == []:
|
31
|
+
try:
|
32
|
+
os.rmdir(downloads_path)
|
33
|
+
except OSError:
|
34
|
+
pass
|
35
|
+
if (
|
36
|
+
os.path.exists(archived_downloads_folder)
|
37
|
+
and os.listdir(archived_downloads_folder) == []
|
38
|
+
):
|
39
|
+
try:
|
40
|
+
os.rmdir(archived_downloads_folder)
|
41
|
+
except OSError:
|
42
|
+
pass
|
32
43
|
|
33
44
|
|
34
45
|
def reset_downloads_folder_assistant(archived_downloads_folder):
|
seleniumbase/core/log_helper.py
CHANGED
@@ -563,3 +563,18 @@ def log_folder_setup(log_path, archive_logs=False):
|
|
563
563
|
pass
|
564
564
|
else:
|
565
565
|
shutil.rmtree(archived_logs) # (Archive test run later)
|
566
|
+
|
567
|
+
|
568
|
+
def clear_empty_logs():
|
569
|
+
latest_logs_dir = os.path.join(os.getcwd(), "latest_logs") + os.sep
|
570
|
+
archived_folder = os.path.join(os.getcwd(), "archived_logs") + os.sep
|
571
|
+
if os.path.exists(latest_logs_dir) and not os.listdir(latest_logs_dir):
|
572
|
+
try:
|
573
|
+
os.rmdir(latest_logs_dir)
|
574
|
+
except OSError:
|
575
|
+
pass
|
576
|
+
if os.path.exists(archived_folder) and not os.listdir(archived_folder):
|
577
|
+
try:
|
578
|
+
os.rmdir(archived_folder)
|
579
|
+
except OSError:
|
580
|
+
pass
|
@@ -20,9 +20,11 @@ class MyTestClass(BaseCase):
|
|
20
20
|
def test_anything(self):
|
21
21
|
# Write your code here. Example:
|
22
22
|
self.open("https://github.com/")
|
23
|
-
self.
|
23
|
+
self.click('span[data-target*="inputButtonText"]')
|
24
|
+
self.type("input#query-builder-test", "SeleniumBase\n")
|
24
25
|
self.click('a[href="/seleniumbase/SeleniumBase"]')
|
25
26
|
self.assert_element("div.repository-content")
|
27
|
+
self.assert_text("SeleniumBase", "strong a")
|
26
28
|
# --------------------------------------------------------------
|
27
29
|
|
28
30
|
SeleniumBase methods expand and improve on existing WebDriver commands.
|
@@ -393,7 +395,7 @@ class BaseCase(unittest.TestCase):
|
|
393
395
|
self.__shadow_click(selector, timeout)
|
394
396
|
return
|
395
397
|
if self.__needs_minimum_wait() or self.browser == "safari":
|
396
|
-
time.sleep(0.
|
398
|
+
time.sleep(0.03)
|
397
399
|
element = page_actions.wait_for_element_visible(
|
398
400
|
self.driver,
|
399
401
|
selector,
|
@@ -626,20 +628,20 @@ class BaseCase(unittest.TestCase):
|
|
626
628
|
except Exception:
|
627
629
|
pass
|
628
630
|
if self.__needs_minimum_wait() or self.browser == "safari":
|
629
|
-
time.sleep(0.
|
631
|
+
time.sleep(0.03)
|
630
632
|
try:
|
631
633
|
if self.driver.current_url != pre_action_url:
|
632
634
|
self.__ad_block_as_needed()
|
633
635
|
self.__disable_beforeunload_as_needed()
|
634
636
|
if self.__needs_minimum_wait():
|
635
|
-
time.sleep(0.
|
637
|
+
time.sleep(0.03)
|
636
638
|
except Exception:
|
637
639
|
try:
|
638
640
|
self.wait_for_ready_state_complete()
|
639
641
|
except Exception:
|
640
642
|
pass
|
641
643
|
if self.__needs_minimum_wait():
|
642
|
-
time.sleep(0.
|
644
|
+
time.sleep(0.03)
|
643
645
|
else:
|
644
646
|
time.sleep(0.08)
|
645
647
|
if self.demo_mode:
|
@@ -12593,7 +12595,7 @@ class BaseCase(unittest.TestCase):
|
|
12593
12595
|
self.__scroll_to_element(element, selector, by)
|
12594
12596
|
self.wait_for_ready_state_complete()
|
12595
12597
|
if self.__needs_minimum_wait():
|
12596
|
-
time.sleep(0.
|
12598
|
+
time.sleep(0.03)
|
12597
12599
|
if self.demo_mode and mark is None:
|
12598
12600
|
mark = True
|
12599
12601
|
if mark:
|
@@ -147,7 +147,8 @@ class MultiBrowser:
|
|
147
147
|
DRIVER_FIXING_LOCK = Files.DOWNLOADS_FOLDER + "/driver_fixing.lock"
|
148
148
|
DRIVER_REPAIRED = Files.DOWNLOADS_FOLDER + "/driver_fixed.lock"
|
149
149
|
CERT_FIXING_LOCK = Files.DOWNLOADS_FOLDER + "/cert_fixing.lock"
|
150
|
-
DOWNLOAD_FILE_LOCK = Files.DOWNLOADS_FOLDER + "/
|
150
|
+
DOWNLOAD_FILE_LOCK = Files.DOWNLOADS_FOLDER + "/downloading.lock"
|
151
|
+
FILE_IO_LOCK = Files.DOWNLOADS_FOLDER + "/file_io.lock"
|
151
152
|
|
152
153
|
|
153
154
|
class SavedCookies:
|
@@ -256,10 +256,10 @@ def _download_file_to(file_url, destination_folder, new_file_name=None):
|
|
256
256
|
|
257
257
|
|
258
258
|
def _save_data_as(data, destination_folder, file_name):
|
259
|
-
|
260
|
-
constants.MultiBrowser.
|
259
|
+
file_io_lock = fasteners.InterProcessLock(
|
260
|
+
constants.MultiBrowser.FILE_IO_LOCK
|
261
261
|
)
|
262
|
-
with
|
262
|
+
with file_io_lock:
|
263
263
|
out_file = codecs.open(
|
264
264
|
os.path.join(destination_folder, file_name), "w+", encoding="utf-8"
|
265
265
|
)
|
@@ -268,10 +268,10 @@ def _save_data_as(data, destination_folder, file_name):
|
|
268
268
|
|
269
269
|
|
270
270
|
def _append_data_to_file(data, destination_folder, file_name):
|
271
|
-
|
272
|
-
constants.MultiBrowser.
|
271
|
+
file_io_lock = fasteners.InterProcessLock(
|
272
|
+
constants.MultiBrowser.FILE_IO_LOCK
|
273
273
|
)
|
274
|
-
with
|
274
|
+
with file_io_lock:
|
275
275
|
existing_data = ""
|
276
276
|
if os.path.exists(os.path.join(destination_folder, file_name)):
|
277
277
|
with open(os.path.join(destination_folder, file_name), "r") as f:
|
@@ -286,10 +286,10 @@ def _append_data_to_file(data, destination_folder, file_name):
|
|
286
286
|
|
287
287
|
|
288
288
|
def _get_file_data(folder, file_name):
|
289
|
-
|
290
|
-
constants.MultiBrowser.
|
289
|
+
file_io_lock = fasteners.InterProcessLock(
|
290
|
+
constants.MultiBrowser.FILE_IO_LOCK
|
291
291
|
)
|
292
|
-
with
|
292
|
+
with file_io_lock:
|
293
293
|
if not os.path.exists(os.path.join(folder, file_name)):
|
294
294
|
raise Exception("File not found!")
|
295
295
|
with open(os.path.join(folder, file_name), "r") as f:
|
@@ -244,6 +244,7 @@ class Base(Plugin):
|
|
244
244
|
log_helper.archive_logs_if_set(
|
245
245
|
self.options.log_path, self.options.archive_logs
|
246
246
|
)
|
247
|
+
log_helper.clear_empty_logs()
|
247
248
|
if self.report_on:
|
248
249
|
if not self.import_error:
|
249
250
|
report_helper.add_bad_page_log_file(self.page_results_list)
|
@@ -1708,7 +1708,7 @@ def pytest_configure(config):
|
|
1708
1708
|
from seleniumbase.core import download_helper
|
1709
1709
|
from seleniumbase.core import proxy_helper
|
1710
1710
|
|
1711
|
-
log_helper.log_folder_setup(
|
1711
|
+
log_helper.log_folder_setup("latest_logs/", sb_config.archive_logs)
|
1712
1712
|
download_helper.reset_downloads_folder()
|
1713
1713
|
proxy_helper.remove_proxy_zip_if_present()
|
1714
1714
|
|
@@ -1810,7 +1810,7 @@ def pytest_collection_finish(session):
|
|
1810
1810
|
from seleniumbase.core import download_helper
|
1811
1811
|
from seleniumbase.core import proxy_helper
|
1812
1812
|
|
1813
|
-
log_helper.log_folder_setup(
|
1813
|
+
log_helper.log_folder_setup("latest_logs/", sb_config.archive_logs)
|
1814
1814
|
download_helper.reset_downloads_folder()
|
1815
1815
|
proxy_helper.remove_proxy_zip_if_present()
|
1816
1816
|
if sb_config.dashboard and len(session.items) > 0:
|
@@ -2016,9 +2016,8 @@ def _perform_pytest_unconfigure_():
|
|
2016
2016
|
pass
|
2017
2017
|
sb_config.shared_driver = None
|
2018
2018
|
if hasattr(sb_config, "log_path") and sb_config.item_count > 0:
|
2019
|
-
log_helper.archive_logs_if_set(
|
2020
|
-
|
2021
|
-
)
|
2019
|
+
log_helper.archive_logs_if_set("latest_logs/", sb_config.archive_logs)
|
2020
|
+
log_helper.clear_empty_logs()
|
2022
2021
|
# Dashboard post-processing: Disable time-based refresh and stamp complete
|
2023
2022
|
if not hasattr(sb_config, "dashboard") or not sb_config.dashboard:
|
2024
2023
|
# Done with "pytest_unconfigure" unless using the Dashboard
|
@@ -115,6 +115,7 @@ def SB(
|
|
115
115
|
interval=None, # SECONDS (Autoplay interval for SB Slides & Tour steps.)
|
116
116
|
time_limit=None, # SECONDS (Safely fail tests that exceed the time limit.)
|
117
117
|
):
|
118
|
+
import os
|
118
119
|
import sys
|
119
120
|
import time
|
120
121
|
import traceback
|
@@ -809,7 +810,6 @@ def SB(
|
|
809
810
|
terminal_width = shared_utils.get_terminal_width()
|
810
811
|
if test:
|
811
812
|
import colorama
|
812
|
-
import os
|
813
813
|
|
814
814
|
colorama.init(autoreset=True)
|
815
815
|
c1 = colorama.Fore.GREEN
|
@@ -834,7 +834,8 @@ def SB(
|
|
834
834
|
from seleniumbase.core import download_helper
|
835
835
|
from seleniumbase.core import proxy_helper
|
836
836
|
|
837
|
-
log_helper.log_folder_setup(
|
837
|
+
log_helper.log_folder_setup("latest_logs/")
|
838
|
+
log_helper.clear_empty_logs()
|
838
839
|
download_helper.reset_downloads_folder()
|
839
840
|
if not sb_config.multi_proxy:
|
840
841
|
proxy_helper.remove_proxy_zip_if_present()
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: seleniumbase
|
3
|
-
Version: 4.17.
|
3
|
+
Version: 4.17.8
|
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
|
@@ -141,7 +141,7 @@ Requires-Dist: mdurl ==0.1.2 ; python_version >= "3.7"
|
|
141
141
|
Requires-Dist: rich ==13.5.2 ; python_version >= "3.7"
|
142
142
|
Requires-Dist: urllib3 <2,>=1.26.16 ; python_version >= "3.7" and python_version < "3.10"
|
143
143
|
Requires-Dist: setuptools >=68.0.0 ; python_version >= "3.7" and python_version < "3.8"
|
144
|
-
Requires-Dist: setuptools >=68.1.
|
144
|
+
Requires-Dist: setuptools >=68.1.2 ; python_version >= "3.8"
|
145
145
|
Requires-Dist: markdown-it-py ==3.0.0 ; python_version >= "3.8"
|
146
146
|
Provides-Extra: allure
|
147
147
|
Requires-Dist: allure-pytest ==2.9.45 ; (python_version < "3.7") and extra == 'allure'
|
@@ -1527,7 +1527,7 @@ pytest --reruns=1 --reruns-delay=1
|
|
1527
1527
|
<p><div><a href="https://github.com/mdmintz">https://github.com/mdmintz</a></div></p>
|
1528
1528
|
|
1529
1529
|
<div><a href="https://github.com/seleniumbase/SeleniumBase/"><img src="https://seleniumbase.github.io/cdn/img/fancy_logo_14.png" title="SeleniumBase" width="220" /></a></div> <div><a href="https://github.com/seleniumbase/SeleniumBase/blob/master/LICENSE"><img src="https://img.shields.io/badge/license-MIT-22BBCC.svg" title="SeleniumBase" /></a> <a href="https://gitter.im/seleniumbase/SeleniumBase" target="_blank"><img src="https://img.shields.io/gitter/room/seleniumbase/SeleniumBase.svg" alt="Gitter chat"/></a></div> <div><a href="https://github.com/seleniumbase/SeleniumBase"><img src="https://img.shields.io/badge/tested%20with-SeleniumBase-04C38E.svg" alt="Tested with SeleniumBase" /></a></div> <div><a href="https://seleniumbase.io"><img src="https://img.shields.io/badge/docs-seleniumbase.io-11BBAA.svg" alt="SeleniumBase Docs" /></a></div>
|
1530
|
-
<div><a href="https://pepy.tech/project/seleniumbase" target="_blank"><img src="https://pepy.tech/badge/seleniumbase" alt="SeleniumBase PyPI downloads" /></a></div>
|
1530
|
+
<div><a href="https://pepy.tech/project/seleniumbase" target="_blank"><img src="https://static.pepy.tech/badge/seleniumbase" alt="SeleniumBase PyPI downloads" /></a></div>
|
1531
1531
|
<div><a href="https://github.com/seleniumbase/SeleniumBase/stargazers"><img src="https://img.shields.io/github/stars/seleniumbase/seleniumbase.svg?color=19A57B" title="Stargazers" /></a></div>
|
1532
1532
|
|
1533
1533
|
--------
|
@@ -5,10 +5,10 @@ sbase/steps.py,sha256=XoRFgYGa0NADBZ0Pw1JhN_8bojMWox5-oRN0FwyfP5s,41310
|
|
5
5
|
seleniumbase/ReadMe.md,sha256=5Bnv8gsyKQGABhLj0S4HXZdtVic98puQlIGYc7YHUm8,3612
|
6
6
|
seleniumbase/__init__.py,sha256=Mw4ShIWUF2Efjx-JuwUQLWF9nIbxcX-vu9AOGBp32ec,2123
|
7
7
|
seleniumbase/__main__.py,sha256=dn1p6dgCchmcH1zzTzzQvFwwdQQqnTGH6ULV9m4hv24,654
|
8
|
-
seleniumbase/__version__.py,sha256=
|
8
|
+
seleniumbase/__version__.py,sha256=rByAOy787ORpWObZKi6ahiWtQpc3J_5djJ1ogVrg6d8,46
|
9
9
|
seleniumbase/behave/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
10
10
|
seleniumbase/behave/behave_helper.py,sha256=LVQlVEQjNHbYmG42njlg58cLv1QtPV5x86cWWqouM60,23415
|
11
|
-
seleniumbase/behave/behave_sb.py,sha256=
|
11
|
+
seleniumbase/behave/behave_sb.py,sha256=J6muTERpn3grdVGonoj2cU3KOQvf92HmWtasrOzhgvo,54818
|
12
12
|
seleniumbase/behave/steps.py,sha256=8-N-NB2tnDsxaP4LSg-uSBgbwZYMS6ZEL1oggO1PCoU,390
|
13
13
|
seleniumbase/common/ReadMe.md,sha256=PwQsRSPRCXejL-fg4YyDzED_Yr6e7ddmGu3g2OcDrcQ,3286
|
14
14
|
seleniumbase/common/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -45,10 +45,10 @@ seleniumbase/core/capabilities_parser.py,sha256=lu2W7O1JrU9tLgvhx5gQ_Baqnkf3IjcP
|
|
45
45
|
seleniumbase/core/colored_traceback.py,sha256=DrRWfg7XEnKcgY59Xj7Jdk09H-XqHYBSUpB-DiZt6iY,2020
|
46
46
|
seleniumbase/core/create_db_tables.sql,sha256=VWPtrdiW_HQ6yETHjqTu-VIrTwvd8I8o1NfBeaVSHpU,972
|
47
47
|
seleniumbase/core/detect_b_ver.py,sha256=iQBGGH6z8UzHP98XKAsIaxjdj5QBhYPna9fl6Fdt8NQ,9796
|
48
|
-
seleniumbase/core/download_helper.py,sha256=
|
48
|
+
seleniumbase/core/download_helper.py,sha256=x6ciD77zgwt5vWUFz4ZhpBhzPZR7jrWNEsrLu3bCxhQ,2452
|
49
49
|
seleniumbase/core/encoded_images.py,sha256=rDKJ4cNJSuKiRcFViYU7bjyTS9_moI57gUPRXVg3u2k,14209
|
50
50
|
seleniumbase/core/jqc_helper.py,sha256=-_GvIoKXJsOb7DBZ2WH8c7cAxAn0x3-U0HeZaIqdksw,10421
|
51
|
-
seleniumbase/core/log_helper.py,sha256=
|
51
|
+
seleniumbase/core/log_helper.py,sha256=8rHw2GPFQgMDv7Yoxjh0tJrj7KWO5g-CNiy51rthiQc,22330
|
52
52
|
seleniumbase/core/mysql.py,sha256=brugSl8yuVxIn-5_I7YrIVfCg3Qdf5YdTjSAG7Gs_34,4143
|
53
53
|
seleniumbase/core/proxy_helper.py,sha256=R00kmFWlj5yew9Yid_P4HWv7G6VKu2AQq0Ee5GbQ7Gs,7594
|
54
54
|
seleniumbase/core/recorder_helper.py,sha256=Tme-mnxvlWMvJJvM_3tjtIUJIcRc2SvdLOmPKlxdASg,24207
|
@@ -69,13 +69,13 @@ seleniumbase/extensions/disable_csp.zip,sha256=YMifIIgEBiLrEFrS1sfW4Exh4br1V4oK1
|
|
69
69
|
seleniumbase/extensions/recorder.zip,sha256=-DMwEq77tIR9vAakWnTjh9tTUs4e74p05msD_LVvzL4,11886
|
70
70
|
seleniumbase/extensions/sbase_ext.zip,sha256=3s1N8zrVaMz8RQEOIoBzC3KDjtmHwVZRvVsX25Odr_s,8175
|
71
71
|
seleniumbase/fixtures/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
72
|
-
seleniumbase/fixtures/base_case.py,sha256=
|
73
|
-
seleniumbase/fixtures/constants.py,sha256=
|
72
|
+
seleniumbase/fixtures/base_case.py,sha256=jArBY1pff-LJdZN20SKc0oeBpNkMgb0A5wQU6v9RBxg,670726
|
73
|
+
seleniumbase/fixtures/constants.py,sha256=v6WXNPEiMYkh6Vjdws2BCdHNFbswx49E9mGVOsZhAEQ,11944
|
74
74
|
seleniumbase/fixtures/css_to_xpath.py,sha256=9ouDB1xl4MJ2os6JOgTIAyHKOQfuxtxvXC3O5hSnEKA,1954
|
75
75
|
seleniumbase/fixtures/errors.py,sha256=KyxuEVx_e3MPhVrJfNIa_3ltMpbCFxfy_jxK8RFNTns,555
|
76
76
|
seleniumbase/fixtures/js_utils.py,sha256=WSObKMyVpNmBsmWIc53qWt2AeUCuGv-36dhWpPBzgeM,44539
|
77
77
|
seleniumbase/fixtures/page_actions.py,sha256=UsCpRXaUkVBxhljRVmnX1n0ocAG8pZ0ENy2db8A11XM,53389
|
78
|
-
seleniumbase/fixtures/page_utils.py,sha256=
|
78
|
+
seleniumbase/fixtures/page_utils.py,sha256=dO-2iNbNQ3ge6-PtL1C2BdIAkpccLzEQ14wE7-BWW5M,9596
|
79
79
|
seleniumbase/fixtures/shared_utils.py,sha256=zWly5TqDr-zQ6oPjqLopi3SF0dKEh68VHNldc_o0kF8,5653
|
80
80
|
seleniumbase/fixtures/unittest_helper.py,sha256=sfZ92rZeBAn_sF_yQ3I6_I7h3lyU5-cV_UMegBNoEm8,1294
|
81
81
|
seleniumbase/fixtures/words.py,sha256=FOA4mAYvl3EPVpBTvgvK6YwCL8BdlRCmed685kEe7Vg,7827
|
@@ -88,14 +88,14 @@ seleniumbase/masterqa/ReadMe.md,sha256=ZzvsTSY9MCZnIR9e_ZvMxeo6NTOBVad0nCilBenXm
|
|
88
88
|
seleniumbase/masterqa/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
89
89
|
seleniumbase/masterqa/master_qa.py,sha256=jLWmAx32Rnu1IhmvrRt8BbsUIcDW5xYj2ouVozny-Y4,19258
|
90
90
|
seleniumbase/plugins/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
91
|
-
seleniumbase/plugins/base_plugin.py,sha256=
|
91
|
+
seleniumbase/plugins/base_plugin.py,sha256=u0A1K9HUFZOWAGcPxlNjvfJvAO_f7glnigfNSFcDDm8,14252
|
92
92
|
seleniumbase/plugins/basic_test_info.py,sha256=8ov6n417gPbqqvrlT4zrch7l2XcRt-GF2ny6rR9AMWk,2108
|
93
93
|
seleniumbase/plugins/db_reporting_plugin.py,sha256=cLIwG2CQFOA7lr4-uxmqPeL9WjUGbiBhgWkeUaNk_zI,7284
|
94
94
|
seleniumbase/plugins/driver_manager.py,sha256=HJFLoAxgtsdwYh7OzC7TZP7WQomToxo_l_tFMa2gjN4,17799
|
95
95
|
seleniumbase/plugins/page_source.py,sha256=loTnXxOj4kxEukuTZEiGyvKBhY3KDVDMnNlHHheTBDE,1889
|
96
|
-
seleniumbase/plugins/pytest_plugin.py,sha256=
|
96
|
+
seleniumbase/plugins/pytest_plugin.py,sha256=awkFpFEjf_qU7eq6E8UgkzxvPz5aImd3rwrAhnJtfSQ,91966
|
97
97
|
seleniumbase/plugins/s3_logging_plugin.py,sha256=WDfertQgGOW_SRJpFMaekYD6vBVW9VO62POtXXy2HCM,2319
|
98
|
-
seleniumbase/plugins/sb_manager.py,sha256=
|
98
|
+
seleniumbase/plugins/sb_manager.py,sha256=6oXIvFRdfnedThAjBrWPTBB2A2wjWMdzTl2PlRNWm5g,36152
|
99
99
|
seleniumbase/plugins/screen_shots.py,sha256=1hrXw-hzuZ1BR6Yh7AyWX2ABnvnP73-RCbwdz958gj4,1127
|
100
100
|
seleniumbase/plugins/selenium_plugin.py,sha256=tBzJhd7Om-RvLjpWGpRfgg4OCpVlliB4M_wiSX_NKkQ,53847
|
101
101
|
seleniumbase/resources/ReadMe.md,sha256=uminnO5_Uv-UZDKcc9a9s9kxisaYUps-H98Fp5PJcaU,2124
|
@@ -136,9 +136,9 @@ seleniumbase/utilities/selenium_grid/start-grid-hub.sh,sha256=KADv0RUHONLL2_I443
|
|
136
136
|
seleniumbase/utilities/selenium_ide/ReadMe.md,sha256=hznGeuMpkIimqMiZBW-4goIy2ltW4l8X9kb0YSPUQfE,4483
|
137
137
|
seleniumbase/utilities/selenium_ide/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
138
138
|
seleniumbase/utilities/selenium_ide/convert_ide.py,sha256=pZFnqEJQEKZPyNFjkLD29s2HPQgCrWW9XJWpCPhWOoM,31691
|
139
|
-
seleniumbase-4.17.
|
140
|
-
seleniumbase-4.17.
|
141
|
-
seleniumbase-4.17.
|
142
|
-
seleniumbase-4.17.
|
143
|
-
seleniumbase-4.17.
|
144
|
-
seleniumbase-4.17.
|
139
|
+
seleniumbase-4.17.8.dist-info/LICENSE,sha256=9CweYVs2pqSWEApWewHooJ5p5F44GV0wSXi-jV0kA_U,1085
|
140
|
+
seleniumbase-4.17.8.dist-info/METADATA,sha256=POw4yoRZWiq7Bm43Dkqqt_IED2xF7yx-T7LeoyMixog,83774
|
141
|
+
seleniumbase-4.17.8.dist-info/WHEEL,sha256=5sUXSg9e4bi7lTLOHcm6QEYwO5TIF1TNbTSVFVjcJcc,92
|
142
|
+
seleniumbase-4.17.8.dist-info/entry_points.txt,sha256=CNrh2EKNaHYEhO6pP1RJyVLB99LkDDYX7TnUK8xfjqk,623
|
143
|
+
seleniumbase-4.17.8.dist-info/top_level.txt,sha256=4N97aBOQ8ETCnDnokBsWb07lJfTaq3C1ZzYRxvLMxqU,19
|
144
|
+
seleniumbase-4.17.8.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|