seleniumbase 4.33.3__py3-none-any.whl → 4.33.4__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/console_scripts/sb_mkdir.py +1 -1
- seleniumbase/core/browser_launcher.py +14 -0
- seleniumbase/fixtures/base_case.py +9 -0
- seleniumbase/plugins/pytest_plugin.py +117 -8
- {seleniumbase-4.33.3.dist-info → seleniumbase-4.33.4.dist-info}/METADATA +3 -4
- {seleniumbase-4.33.3.dist-info → seleniumbase-4.33.4.dist-info}/RECORD +11 -11
- {seleniumbase-4.33.3.dist-info → seleniumbase-4.33.4.dist-info}/LICENSE +0 -0
- {seleniumbase-4.33.3.dist-info → seleniumbase-4.33.4.dist-info}/WHEEL +0 -0
- {seleniumbase-4.33.3.dist-info → seleniumbase-4.33.4.dist-info}/entry_points.txt +0 -0
- {seleniumbase-4.33.3.dist-info → seleniumbase-4.33.4.dist-info}/top_level.txt +0 -0
seleniumbase/__version__.py
CHANGED
@@ -1,2 +1,2 @@
|
|
1
1
|
# seleniumbase package
|
2
|
-
__version__ = "4.33.
|
2
|
+
__version__ = "4.33.4"
|
@@ -120,7 +120,7 @@ def main():
|
|
120
120
|
|
121
121
|
data = []
|
122
122
|
data.append("[pytest]")
|
123
|
-
data.append("addopts = --capture=
|
123
|
+
data.append("addopts = --capture=tee-sys -p no:cacheprovider")
|
124
124
|
data.append("norecursedirs = .* build dist recordings temp assets")
|
125
125
|
data.append("filterwarnings =")
|
126
126
|
data.append(" ignore::pytest.PytestWarning")
|
@@ -97,6 +97,13 @@ def log_d(message):
|
|
97
97
|
print(message)
|
98
98
|
|
99
99
|
|
100
|
+
def make_writable(file_path):
|
101
|
+
# Set permissions to: "If you can read it, you can write it."
|
102
|
+
mode = os.stat(file_path).st_mode
|
103
|
+
mode |= (mode & 0o444) >> 1 # copy R bits to W
|
104
|
+
os.chmod(file_path, mode)
|
105
|
+
|
106
|
+
|
100
107
|
def make_executable(file_path):
|
101
108
|
# Set permissions to: "If you can read it, you can execute it."
|
102
109
|
mode = os.stat(file_path).st_mode
|
@@ -815,6 +822,13 @@ def install_pyautogui_if_missing(driver):
|
|
815
822
|
pip_find_lock = fasteners.InterProcessLock(
|
816
823
|
constants.PipInstall.FINDLOCK
|
817
824
|
)
|
825
|
+
try:
|
826
|
+
with pip_find_lock:
|
827
|
+
pass
|
828
|
+
except Exception:
|
829
|
+
# Need write permissions
|
830
|
+
with suppress(Exception):
|
831
|
+
make_writable(constants.PipInstall.FINDLOCK)
|
818
832
|
with pip_find_lock: # Prevent issues with multiple processes
|
819
833
|
try:
|
820
834
|
import pyautogui
|
@@ -13983,6 +13983,15 @@ class BaseCase(unittest.TestCase):
|
|
13983
13983
|
pip_find_lock = fasteners.InterProcessLock(
|
13984
13984
|
constants.PipInstall.FINDLOCK
|
13985
13985
|
)
|
13986
|
+
try:
|
13987
|
+
with pip_find_lock:
|
13988
|
+
pass
|
13989
|
+
except Exception:
|
13990
|
+
# Need write permissions
|
13991
|
+
with suppress(Exception):
|
13992
|
+
mode = os.stat(constants.PipInstall.FINDLOCK).st_mode
|
13993
|
+
mode |= (mode & 0o444) >> 1 # copy R bits to W
|
13994
|
+
os.chmod(constants.PipInstall.FINDLOCK, mode)
|
13986
13995
|
with pip_find_lock: # Prevent issues with multiple processes
|
13987
13996
|
if self.undetectable and not (self.headless or self.headless2):
|
13988
13997
|
import Xlib.display
|
@@ -17,6 +17,7 @@ if sys.version_info >= (3, 11):
|
|
17
17
|
python3_11_or_newer = True
|
18
18
|
py311_patch2 = constants.PatchPy311.PATCH
|
19
19
|
sys_argv = sys.argv
|
20
|
+
full_time = None
|
20
21
|
pytest_plugins = ["pytester"] # Adds the "testdir" fixture
|
21
22
|
|
22
23
|
|
@@ -2038,6 +2039,7 @@ def pytest_runtest_teardown(item):
|
|
2038
2039
|
if (
|
2039
2040
|
"-s" in sys_argv
|
2040
2041
|
or "--capture=no" in sys_argv
|
2042
|
+
or "--capture=tee-sys" in sys_argv
|
2041
2043
|
or (
|
2042
2044
|
hasattr(sb_config.pytest_config, "invocation_params")
|
2043
2045
|
and (
|
@@ -2045,6 +2047,9 @@ def pytest_runtest_teardown(item):
|
|
2045
2047
|
or "--capture=no" in (
|
2046
2048
|
sb_config.pytest_config.invocation_params.args
|
2047
2049
|
)
|
2050
|
+
or "--capture=tee-sys" in (
|
2051
|
+
sb_config.pytest_config.invocation_params.args
|
2052
|
+
)
|
2048
2053
|
)
|
2049
2054
|
)
|
2050
2055
|
):
|
@@ -2053,6 +2058,10 @@ def pytest_runtest_teardown(item):
|
|
2053
2058
|
sys.stdout.write("\n=> Fail Page: %s\n" % sb_config._fail_page)
|
2054
2059
|
|
2055
2060
|
|
2061
|
+
def pytest_html_duration_format(duration):
|
2062
|
+
return "%.2f" % duration
|
2063
|
+
|
2064
|
+
|
2056
2065
|
def pytest_sessionfinish(session):
|
2057
2066
|
pass
|
2058
2067
|
|
@@ -2103,9 +2112,11 @@ def pytest_terminal_summary(terminalreporter):
|
|
2103
2112
|
)
|
2104
2113
|
|
2105
2114
|
|
2106
|
-
def _perform_pytest_unconfigure_():
|
2115
|
+
def _perform_pytest_unconfigure_(config):
|
2107
2116
|
from seleniumbase.core import proxy_helper
|
2108
2117
|
|
2118
|
+
reporter = config.pluginmanager.get_plugin("terminalreporter")
|
2119
|
+
duration = time.time() - reporter._sessionstarttime
|
2109
2120
|
if (
|
2110
2121
|
(hasattr(sb_config, "multi_proxy") and not sb_config.multi_proxy)
|
2111
2122
|
or not hasattr(sb_config, "multi_proxy")
|
@@ -2133,6 +2144,63 @@ def _perform_pytest_unconfigure_():
|
|
2133
2144
|
log_helper.clear_empty_logs()
|
2134
2145
|
# Dashboard post-processing: Disable time-based refresh and stamp complete
|
2135
2146
|
if not hasattr(sb_config, "dashboard") or not sb_config.dashboard:
|
2147
|
+
html_report_path = None
|
2148
|
+
the_html_r = None
|
2149
|
+
abs_path = os.path.abspath(".")
|
2150
|
+
if sb_config._html_report_name:
|
2151
|
+
html_report_path = os.path.join(
|
2152
|
+
abs_path, sb_config._html_report_name
|
2153
|
+
)
|
2154
|
+
if (
|
2155
|
+
sb_config._using_html_report
|
2156
|
+
and html_report_path
|
2157
|
+
and os.path.exists(html_report_path)
|
2158
|
+
):
|
2159
|
+
with open(html_report_path, "r", encoding="utf-8") as f:
|
2160
|
+
the_html_r = f.read()
|
2161
|
+
assets_chunk = "if (assets.length === 1) {"
|
2162
|
+
remove_media = "container.classList.remove('media-container')"
|
2163
|
+
rm_n_left = '<div class="media-container__nav--left"><</div>'
|
2164
|
+
rm_n_right = '<div class="media-container__nav--right">></div>'
|
2165
|
+
the_html_r = the_html_r.replace(
|
2166
|
+
assets_chunk,
|
2167
|
+
"%s %s" % (assets_chunk, remove_media),
|
2168
|
+
)
|
2169
|
+
the_html_r = the_html_r.replace(rm_n_left, "")
|
2170
|
+
the_html_r = the_html_r.replace(rm_n_right, "")
|
2171
|
+
the_html_r = the_html_r.replace("<ul>$", "$")
|
2172
|
+
the_html_r = the_html_r.replace("}<ul>", "}")
|
2173
|
+
the_html_r = the_html_r.replace(
|
2174
|
+
"<li>${val}</li>", "${val}, "
|
2175
|
+
)
|
2176
|
+
the_html_r = the_html_r.replace(
|
2177
|
+
"<div>${value}</div>", "<span>${value}</span"
|
2178
|
+
)
|
2179
|
+
ph_link = '<a href="https://pypi.python.org/pypi/pytest-html">'
|
2180
|
+
sb_link = (
|
2181
|
+
'<a href="https://github.com/seleniumbase/SeleniumBase">'
|
2182
|
+
'SeleniumBase</a>'
|
2183
|
+
)
|
2184
|
+
the_html_r = the_html_r.replace(
|
2185
|
+
ph_link, "%s and %s" % (sb_link, ph_link)
|
2186
|
+
)
|
2187
|
+
the_html_r = the_html_r.replace(
|
2188
|
+
"mediaName.innerText", "//mediaName.innerText"
|
2189
|
+
)
|
2190
|
+
the_html_r = the_html_r.replace(
|
2191
|
+
"counter.innerText", "//counter.innerText"
|
2192
|
+
)
|
2193
|
+
run_count = '<p class="run-count">'
|
2194
|
+
run_c_loc = the_html_r.find(run_count)
|
2195
|
+
rc_loc = the_html_r.find(" took ", run_c_loc)
|
2196
|
+
end_rc_loc = the_html_r.find(".</p>", rc_loc)
|
2197
|
+
run_time = "%.2f" % duration
|
2198
|
+
new_time = " ran in %s seconds" % run_time
|
2199
|
+
the_html_r = (
|
2200
|
+
the_html_r[:rc_loc] + new_time + the_html_r[end_rc_loc:]
|
2201
|
+
)
|
2202
|
+
with open(html_report_path, "w", encoding="utf-8") as f:
|
2203
|
+
f.write(the_html_r) # Finalize the HTML report
|
2136
2204
|
# Done with "pytest_unconfigure" unless using the Dashboard
|
2137
2205
|
return
|
2138
2206
|
stamp = ""
|
@@ -2237,7 +2305,7 @@ def _perform_pytest_unconfigure_():
|
|
2237
2305
|
elif "\\" in h_r_name and h_r_name.endswith(".html"):
|
2238
2306
|
h_r_name = h_r_name.split("\\")[-1]
|
2239
2307
|
the_html_r = the_html_r.replace(
|
2240
|
-
|
2308
|
+
'<h1 id="title">%s</h1>' % h_r_name,
|
2241
2309
|
sb_config._saved_dashboard_pie,
|
2242
2310
|
)
|
2243
2311
|
the_html_r = the_html_r.replace(
|
@@ -2247,6 +2315,47 @@ def _perform_pytest_unconfigure_():
|
|
2247
2315
|
)
|
2248
2316
|
if sb_config._dash_final_summary:
|
2249
2317
|
the_html_r += sb_config._dash_final_summary
|
2318
|
+
assets_chunk = "if (assets.length === 1) {"
|
2319
|
+
remove_media = "container.classList.remove('media-container')"
|
2320
|
+
rm_n_left = '<div class="media-container__nav--left"><</div>'
|
2321
|
+
rm_n_right = '<div class="media-container__nav--right">></div>'
|
2322
|
+
the_html_r = the_html_r.replace(
|
2323
|
+
assets_chunk,
|
2324
|
+
"%s %s" % (assets_chunk, remove_media),
|
2325
|
+
)
|
2326
|
+
the_html_r = the_html_r.replace(rm_n_left, "")
|
2327
|
+
the_html_r = the_html_r.replace(rm_n_right, "")
|
2328
|
+
the_html_r = the_html_r.replace("<ul>$", "$")
|
2329
|
+
the_html_r = the_html_r.replace("}<ul>", "}")
|
2330
|
+
the_html_r = the_html_r.replace(
|
2331
|
+
"<li>${val}</li>", "${val}, "
|
2332
|
+
)
|
2333
|
+
the_html_r = the_html_r.replace(
|
2334
|
+
"<div>${value}</div>", "<span>${value}</span"
|
2335
|
+
)
|
2336
|
+
ph_link = '<a href="https://pypi.python.org/pypi/pytest-html">'
|
2337
|
+
sb_link = (
|
2338
|
+
'<a href="https://github.com/seleniumbase/SeleniumBase">'
|
2339
|
+
'SeleniumBase</a>'
|
2340
|
+
)
|
2341
|
+
the_html_r = the_html_r.replace(
|
2342
|
+
ph_link, "%s and %s" % (sb_link, ph_link)
|
2343
|
+
)
|
2344
|
+
the_html_r = the_html_r.replace(
|
2345
|
+
"mediaName.innerText", "//mediaName.innerText"
|
2346
|
+
)
|
2347
|
+
the_html_r = the_html_r.replace(
|
2348
|
+
"counter.innerText", "//counter.innerText"
|
2349
|
+
)
|
2350
|
+
run_count = '<p class="run-count">'
|
2351
|
+
run_c_loc = the_html_r.find(run_count)
|
2352
|
+
rc_loc = the_html_r.find(" took ", run_c_loc)
|
2353
|
+
end_rc_loc = the_html_r.find(".</p>", rc_loc)
|
2354
|
+
run_time = "%.2f" % duration
|
2355
|
+
new_time = " ran in %s seconds" % run_time
|
2356
|
+
the_html_r = (
|
2357
|
+
the_html_r[:rc_loc] + new_time + the_html_r[end_rc_loc:]
|
2358
|
+
)
|
2250
2359
|
with open(html_report_path, "w", encoding="utf-8") as f:
|
2251
2360
|
f.write(the_html_r) # Finalize the HTML report
|
2252
2361
|
except KeyboardInterrupt:
|
@@ -2281,19 +2390,19 @@ def pytest_unconfigure(config):
|
|
2281
2390
|
with open(dashboard_path, "w", encoding="utf-8") as f:
|
2282
2391
|
f.write(sb_config._dash_html)
|
2283
2392
|
# Dashboard Multithreaded
|
2284
|
-
_perform_pytest_unconfigure_()
|
2393
|
+
_perform_pytest_unconfigure_(config)
|
2285
2394
|
return
|
2286
2395
|
else:
|
2287
2396
|
# Dash Lock is missing
|
2288
|
-
_perform_pytest_unconfigure_()
|
2397
|
+
_perform_pytest_unconfigure_(config)
|
2289
2398
|
return
|
2290
2399
|
with dash_lock:
|
2291
2400
|
# Multi-threaded tests
|
2292
|
-
_perform_pytest_unconfigure_()
|
2401
|
+
_perform_pytest_unconfigure_(config)
|
2293
2402
|
return
|
2294
2403
|
else:
|
2295
2404
|
# Single-threaded tests
|
2296
|
-
_perform_pytest_unconfigure_()
|
2405
|
+
_perform_pytest_unconfigure_(config)
|
2297
2406
|
return
|
2298
2407
|
|
2299
2408
|
|
@@ -2442,7 +2551,7 @@ def pytest_runtest_makereport(item, call):
|
|
2442
2551
|
return
|
2443
2552
|
extra = getattr(report, "extra", [])
|
2444
2553
|
if len(extra_report) > 1 and extra_report[1]["content"]:
|
2445
|
-
report.
|
2554
|
+
report.extras = extra + extra_report
|
2446
2555
|
if sb_config._dash_is_html_report:
|
2447
2556
|
# If the Dashboard URL is the same as the HTML Report URL,
|
2448
2557
|
# have the html report refresh back to a dashboard on update.
|
@@ -2450,4 +2559,4 @@ def pytest_runtest_makereport(item, call):
|
|
2450
2559
|
'<script type="text/javascript" src="%s">'
|
2451
2560
|
"</script>" % constants.Dashboard.LIVE_JS
|
2452
2561
|
)
|
2453
|
-
report.
|
2562
|
+
report.extras.append(pytest_html.extras.html(refresh_updates))
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: seleniumbase
|
3
|
-
Version: 4.33.
|
3
|
+
Version: 4.33.4
|
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
|
@@ -76,7 +76,7 @@ Requires-Dist: pynose>=1.5.3
|
|
76
76
|
Requires-Dist: platformdirs>=4.3.6
|
77
77
|
Requires-Dist: typing-extensions>=4.12.2
|
78
78
|
Requires-Dist: sbvirtualdisplay>=1.3.0
|
79
|
-
Requires-Dist: six>=1.
|
79
|
+
Requires-Dist: six>=1.17.0
|
80
80
|
Requires-Dist: parse>=1.20.2
|
81
81
|
Requires-Dist: parse-type>=0.6.4
|
82
82
|
Requires-Dist: colorama>=0.4.6
|
@@ -104,9 +104,8 @@ Requires-Dist: sortedcontainers==2.4.0
|
|
104
104
|
Requires-Dist: execnet==2.1.1
|
105
105
|
Requires-Dist: iniconfig==2.0.0
|
106
106
|
Requires-Dist: pluggy==1.5.0
|
107
|
-
Requires-Dist: py==1.11.0
|
108
107
|
Requires-Dist: pytest==8.3.4
|
109
|
-
Requires-Dist: pytest-html==
|
108
|
+
Requires-Dist: pytest-html==4.1.1
|
110
109
|
Requires-Dist: pytest-metadata==3.1.1
|
111
110
|
Requires-Dist: pytest-ordering==0.6
|
112
111
|
Requires-Dist: pytest-rerunfailures==14.0; 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=
|
6
|
+
seleniumbase/__version__.py,sha256=3t809dk9kzj5i3a3T_akotf68UIRPSs5JEuU9DUeAJs,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=-hza7Nx2U41mSObYiPMi48v3JlPh3sJO3yzP0kqZ1Gk,59174
|
@@ -27,7 +27,7 @@ seleniumbase/console_scripts/sb_caseplans.py,sha256=qlmvjQ49bOBE1Q29fVmabimkVibC
|
|
27
27
|
seleniumbase/console_scripts/sb_commander.py,sha256=yqoAK211OE6x5AWL2IAo8WojHtdkVj0AWqfoJ-ewmyo,13329
|
28
28
|
seleniumbase/console_scripts/sb_install.py,sha256=y84Zk-rcp554kcF_g97Xwl0Rn38pyH9wO5OKHX879RI,45831
|
29
29
|
seleniumbase/console_scripts/sb_mkchart.py,sha256=ep9g-9CSIwaOJKVxhB3xjRQpfsuApyN8-Dr129cNXwQ,10941
|
30
|
-
seleniumbase/console_scripts/sb_mkdir.py,sha256=
|
30
|
+
seleniumbase/console_scripts/sb_mkdir.py,sha256=8BFbKc9ES35ruI2PlNnxADa8Ur3SMkvKu_tr85T0gyA,29783
|
31
31
|
seleniumbase/console_scripts/sb_mkfile.py,sha256=OWYd4yFccmjrd-gNn1t1una-HDRU2_N2-r4Tg3nHsj0,17744
|
32
32
|
seleniumbase/console_scripts/sb_mkpres.py,sha256=EWFRVacjYTX49y-fEiYTZacM9_01IxuuaO4nMjHrIGo,11015
|
33
33
|
seleniumbase/console_scripts/sb_mkrec.py,sha256=PrizjTmyrROYPO0yDm-zQS3QSfsZNeAmcJKKUvfgLhc,11966
|
@@ -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=
|
39
|
+
seleniumbase/core/browser_launcher.py,sha256=1JmvPcIHSgpvI74_E9xoAEjZe79OIOWKhot6DUTfkn0,221519
|
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
|
@@ -65,7 +65,7 @@ seleniumbase/extensions/disable_csp.zip,sha256=YMifIIgEBiLrEFrS1sfW4Exh4br1V4oK1
|
|
65
65
|
seleniumbase/extensions/recorder.zip,sha256=OOyzF-Ize2cSRu1CqhzSAq5vusI9hqLLd2OIApUHesI,11918
|
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=v6DxzikLVRBdTlw3diVOKAQX1bFEwCJ0sRE2MZwwao8,717844
|
69
69
|
seleniumbase/fixtures/constants.py,sha256=e1LppavlrAcI4XBJMq7u5j8SffaQ7SPQps1y0YvZYfY,13649
|
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=s20s0pJYaNrG0WNwyIC04oUMRVFjtm6V_nS1-EvFm7g,34492
|
90
90
|
seleniumbase/plugins/page_source.py,sha256=loTnXxOj4kxEukuTZEiGyvKBhY3KDVDMnNlHHheTBDE,1889
|
91
|
-
seleniumbase/plugins/pytest_plugin.py,sha256=
|
91
|
+
seleniumbase/plugins/pytest_plugin.py,sha256=8vOTHVdX0WxfULcjPpbfwke8PR41U_RgsEslwtEyUBI,102238
|
92
92
|
seleniumbase/plugins/s3_logging_plugin.py,sha256=WDfertQgGOW_SRJpFMaekYD6vBVW9VO62POtXXy2HCM,2319
|
93
93
|
seleniumbase/plugins/sb_manager.py,sha256=qCf6RAkAfziLTGgiJvB3V416RxWoTbRLm9wc-KsB8g8,54419
|
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.33.
|
139
|
-
seleniumbase-4.33.
|
140
|
-
seleniumbase-4.33.
|
141
|
-
seleniumbase-4.33.
|
142
|
-
seleniumbase-4.33.
|
143
|
-
seleniumbase-4.33.
|
138
|
+
seleniumbase-4.33.4.dist-info/LICENSE,sha256=odSYtWibXBnQ1gBg6CnDZ82n8kLF_if5-2nbqnEyD8k,1085
|
139
|
+
seleniumbase-4.33.4.dist-info/METADATA,sha256=3WfFr62LrmiR3YrgRwprGZ_dM9zYVM04ak2N1NXOdzY,86528
|
140
|
+
seleniumbase-4.33.4.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
|
141
|
+
seleniumbase-4.33.4.dist-info/entry_points.txt,sha256=CNrh2EKNaHYEhO6pP1RJyVLB99LkDDYX7TnUK8xfjqk,623
|
142
|
+
seleniumbase-4.33.4.dist-info/top_level.txt,sha256=4N97aBOQ8ETCnDnokBsWb07lJfTaq3C1ZzYRxvLMxqU,19
|
143
|
+
seleniumbase-4.33.4.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|