setup-selenium-testing 0.1.8__tar.gz → 0.3.0__tar.gz
Sign up to get free protection for your applications and to get access to all the features.
- {setup_selenium_testing-0.1.8 → setup_selenium_testing-0.3.0}/PKG-INFO +3 -5
- {setup_selenium_testing-0.1.8 → setup_selenium_testing-0.3.0}/pyproject.toml +4 -5
- {setup_selenium_testing-0.1.8 → setup_selenium_testing-0.3.0}/setup_selenium/setup_selenium.py +61 -3
- {setup_selenium_testing-0.1.8 → setup_selenium_testing-0.3.0}/LICENSE +0 -0
- {setup_selenium_testing-0.1.8 → setup_selenium_testing-0.3.0}/README.md +0 -0
- {setup_selenium_testing-0.1.8 → setup_selenium_testing-0.3.0}/setup_selenium/__init__.py +0 -0
- {setup_selenium_testing-0.1.8 → setup_selenium_testing-0.3.0}/setup_selenium/py.typed +0 -0
@@ -1,18 +1,16 @@
|
|
1
1
|
Metadata-Version: 2.3
|
2
2
|
Name: setup-selenium-testing
|
3
|
-
Version: 0.
|
3
|
+
Version: 0.3.0
|
4
4
|
Summary: Setup Selenium for automation testing
|
5
|
-
Home-page: https://github.com/bandophahita/setup_selenium
|
6
5
|
License: MIT
|
7
6
|
Author: Marcel Wilson
|
8
|
-
Author-email: trenchrats@gmail.com
|
9
|
-
Requires-Python: >=3.
|
7
|
+
Author-email: trenchrats+pypi@gmail.com
|
8
|
+
Requires-Python: >=3.9,<4.0
|
10
9
|
Classifier: Intended Audience :: Developers
|
11
10
|
Classifier: License :: OSI Approved :: MIT License
|
12
11
|
Classifier: Natural Language :: English
|
13
12
|
Classifier: Operating System :: OS Independent
|
14
13
|
Classifier: Programming Language :: Python :: 3
|
15
|
-
Classifier: Programming Language :: Python :: 3.8
|
16
14
|
Classifier: Programming Language :: Python :: 3.9
|
17
15
|
Classifier: Programming Language :: Python :: 3.10
|
18
16
|
Classifier: Programming Language :: Python :: 3.11
|
@@ -1,8 +1,8 @@
|
|
1
1
|
[tool.poetry]
|
2
2
|
name = "setup-selenium-testing"
|
3
|
-
version = "0.
|
3
|
+
version = "0.3.0"
|
4
4
|
description = "Setup Selenium for automation testing"
|
5
|
-
authors = ["Marcel Wilson <trenchrats@gmail.com>"]
|
5
|
+
authors = ["Marcel Wilson <trenchrats+pypi@gmail.com>"]
|
6
6
|
license = "MIT"
|
7
7
|
repository = "https://github.com/bandophahita/setup_selenium"
|
8
8
|
#documentation = ""
|
@@ -10,7 +10,6 @@ readme = "README.md"
|
|
10
10
|
classifiers = [
|
11
11
|
"Operating System :: OS Independent",
|
12
12
|
"Programming Language :: Python :: 3 :: Only",
|
13
|
-
"Programming Language :: Python :: 3.8",
|
14
13
|
"Programming Language :: Python :: 3.9",
|
15
14
|
"Programming Language :: Python :: 3.10",
|
16
15
|
"Programming Language :: Python :: 3.11",
|
@@ -23,7 +22,7 @@ packages = [{include = "setup_selenium"}]
|
|
23
22
|
|
24
23
|
|
25
24
|
[tool.poetry.dependencies]
|
26
|
-
python = "^3.
|
25
|
+
python = "^3.9"
|
27
26
|
selenium = ">=4.7.0"
|
28
27
|
semantic-version = "*"
|
29
28
|
typing-extensions = "*"
|
@@ -67,7 +66,7 @@ build-backend = "poetry.core.masonry.api"
|
|
67
66
|
|
68
67
|
|
69
68
|
[tool.ruff]
|
70
|
-
target-version = "
|
69
|
+
target-version = "py39"
|
71
70
|
line-length = 88
|
72
71
|
extend-exclude = [
|
73
72
|
".github",
|
{setup_selenium_testing-0.1.8 → setup_selenium_testing-0.3.0}/setup_selenium/setup_selenium.py
RENAMED
@@ -160,6 +160,7 @@ class SetupSelenium:
|
|
160
160
|
@staticmethod
|
161
161
|
def log_options(options: ArgOptions) -> None:
|
162
162
|
"""Logs the browser option in clean format"""
|
163
|
+
# logger.debug(f"{json.dumps(options.capabilities, indent=2)}") # noqa: ERA001
|
163
164
|
opts = "\n".join(options.arguments)
|
164
165
|
logger.debug(f"{opts}")
|
165
166
|
|
@@ -282,6 +283,24 @@ class SetupSelenium:
|
|
282
283
|
options.set_preference(
|
283
284
|
"extensions.formautofill.addresses.capture.enabled", False
|
284
285
|
)
|
286
|
+
# By default, headless Firefox runs as though no pointers capabilities
|
287
|
+
# are available.
|
288
|
+
# https://github.com/microsoft/playwright/issues/7769#issuecomment-966098074
|
289
|
+
#
|
290
|
+
# This impacts React Spectrum which uses an '(any-pointer: fine)'
|
291
|
+
# media query to determine font size. It also causes certain chart
|
292
|
+
# elements to always be visible that should only be visible on
|
293
|
+
# hover.
|
294
|
+
#
|
295
|
+
# Available values for pointer capabilities:
|
296
|
+
# NO_POINTER 0x00
|
297
|
+
# COARSE_POINTER 0x01
|
298
|
+
# FINE_POINTER 0x02
|
299
|
+
# HOVER_CAPABLE_POINTER 0x04
|
300
|
+
#
|
301
|
+
# Setting to 0x02 | 0x04 says the system supports a mouse
|
302
|
+
options.set_preference("ui.primaryPointerCapabilities", 0x02 | 0x04)
|
303
|
+
options.set_preference("ui.allPointerCapabilities", 0x02 | 0x04)
|
285
304
|
return options
|
286
305
|
|
287
306
|
@staticmethod
|
@@ -338,9 +357,29 @@ class SetupSelenium:
|
|
338
357
|
def chrome_options() -> webdriver.ChromeOptions:
|
339
358
|
"""Default options for chrome"""
|
340
359
|
logger.debug("Setting up chrome options")
|
360
|
+
# the ultimate list of flags (created by the chromium dev group)
|
361
|
+
# https://peter.sh/experiments/chromium-command-line-switches/
|
362
|
+
|
341
363
|
# The list of options set below mostly came from this StackOverflow post
|
342
364
|
# https://stackoverflow.com/q/48450594/2532408
|
343
365
|
opts = (
|
366
|
+
# "--disable-features=ImprovedCookieControls,LazyFrameLoading,GlobalMediaControls,DestroyProfileOnBrowserClose,MediaRouter,DialMediaRouteProvider,AcceptCHFrame,AutoExpandDetailsElement,CertificateTransparencyComponentUpdater,AvoidUnnecessaryBeforeUnloadCheckSync", # noqa: ERA001
|
367
|
+
"--disable-back-forward-cache",
|
368
|
+
"--disable-background-timer-throttling",
|
369
|
+
"--disable-breakpad",
|
370
|
+
"--disable-component-extensions-with-background-pages",
|
371
|
+
"--disable-ipc-flooding-protection",
|
372
|
+
"--enable-features=NetworkService,NetworkServiceInProcess",
|
373
|
+
"--enable-logging",
|
374
|
+
"--export-tagged-pdf",
|
375
|
+
"--force-color-profile=srgb",
|
376
|
+
"--metrics-recording-only",
|
377
|
+
"--mute-audio",
|
378
|
+
"--remote-debugging-pipe",
|
379
|
+
# fixes MUI fade issue
|
380
|
+
"--disable-renderer-backgrounding",
|
381
|
+
# fixes actionchains in headless
|
382
|
+
"--disable-backgrounding-occluded-windows",
|
344
383
|
"--disable-extensions",
|
345
384
|
"--allow-running-insecure-content",
|
346
385
|
"--ignore-certificate-errors",
|
@@ -378,7 +417,7 @@ class SetupSelenium:
|
|
378
417
|
options.binary_location = binary
|
379
418
|
|
380
419
|
if headless:
|
381
|
-
options.add_argument("--headless")
|
420
|
+
options.add_argument("--headless=new")
|
382
421
|
|
383
422
|
logging_prefs = {"browser": "OFF", "performance": "OFF", "driver": "OFF"}
|
384
423
|
|
@@ -475,9 +514,29 @@ class SetupSelenium:
|
|
475
514
|
def edge_options() -> webdriver.EdgeOptions:
|
476
515
|
"""Default options for edgedriver"""
|
477
516
|
logger.debug("Setting up edge options")
|
517
|
+
# the ultimate list of flags (created by the chromium dev group)
|
518
|
+
# https://peter.sh/experiments/chromium-command-line-switches/
|
519
|
+
|
478
520
|
# The list of options set below mostly came from this StackOverflow post
|
479
521
|
# https://stackoverflow.com/q/48450594/2532408
|
480
522
|
opts = (
|
523
|
+
# "--disable-features=ImprovedCookieControls,LazyFrameLoading,GlobalMediaControls,DestroyProfileOnBrowserClose,MediaRouter,DialMediaRouteProvider,AcceptCHFrame,AutoExpandDetailsElement,CertificateTransparencyComponentUpdater,AvoidUnnecessaryBeforeUnloadCheckSync", # noqa: ERA001
|
524
|
+
"--disable-back-forward-cache",
|
525
|
+
"--disable-background-timer-throttling",
|
526
|
+
"--disable-breakpad",
|
527
|
+
"--disable-component-extensions-with-background-pages",
|
528
|
+
"--disable-ipc-flooding-protection",
|
529
|
+
"--enable-features=NetworkService,NetworkServiceInProcess",
|
530
|
+
"--enable-logging",
|
531
|
+
"--export-tagged-pdf",
|
532
|
+
"--force-color-profile=srgb",
|
533
|
+
"--metrics-recording-only",
|
534
|
+
"--mute-audio",
|
535
|
+
"--remote-debugging-pipe",
|
536
|
+
# fixes MUI fade issue
|
537
|
+
"--disable-renderer-backgrounding",
|
538
|
+
# fixes actionchains in headless
|
539
|
+
"--disable-backgrounding-occluded-windows",
|
481
540
|
"--disable-extensions",
|
482
541
|
"--allow-running-insecure-content",
|
483
542
|
"--ignore-certificate-errors",
|
@@ -523,12 +582,11 @@ class SetupSelenium:
|
|
523
582
|
# by default performance is disabled.
|
524
583
|
if enable_log_performance:
|
525
584
|
logging_prefs["performance"] = "ALL"
|
526
|
-
options.
|
585
|
+
options.add_experimental_option(
|
527
586
|
"perfLoggingPrefs",
|
528
587
|
{
|
529
588
|
"enableNetwork": True,
|
530
589
|
"enablePage": False,
|
531
|
-
"enableTimeline": False,
|
532
590
|
},
|
533
591
|
)
|
534
592
|
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|