125 lines
4.8 KiB
Python
125 lines
4.8 KiB
Python
"""
|
|
To override default settings stored in seleniumbase/config/settings.py,
|
|
change the values here and add "--settings=custom_settings.py" when running.
|
|
"""
|
|
|
|
# Default timeout values for waiting for page elements to appear.
|
|
MINI_TIMEOUT = 2
|
|
SMALL_TIMEOUT = 7
|
|
LARGE_TIMEOUT = 10
|
|
EXTREME_TIMEOUT = 30
|
|
|
|
# Default page load timeout.
|
|
# In global Selenium settings, this value is set to 300 seconds by default.
|
|
# When the timeout is exceeded: "Timed out receiving message from renderer"
|
|
PAGE_LOAD_TIMEOUT = 120
|
|
|
|
# Default page load strategy.
|
|
# ["normal", "eager", "none"]
|
|
# Selenium default = "normal"
|
|
PAGE_LOAD_STRATEGY = "normal"
|
|
|
|
# If True, existing logs from past test runs will be saved and take up space.
|
|
# If False, only the logs from the most recent test run will be saved locally.
|
|
# You can also archive existing logs on the command line with: "--archive_logs"
|
|
ARCHIVE_EXISTING_LOGS = False
|
|
|
|
# If True, existing downloads from past runs will be saved and take up space.
|
|
# If False, only the downloads from the most recent run will be saved locally.
|
|
ARCHIVE_EXISTING_DOWNLOADS = False
|
|
|
|
# If True, the last page screenshot will include the <body> and background.
|
|
# If False, the last page screenshot will only include the <body> section.
|
|
# Depending on the screen size, including a background could make the <body>
|
|
# appear very small in the screenshot, which may require manually zooming in
|
|
# on the <body> to see page details if you decide to include the background.
|
|
SCREENSHOT_WITH_BACKGROUND = False
|
|
|
|
# If True, switch to new tabs automatically if a click opens a new one.
|
|
# (Only happens if the initial tab is still on same URL as before.)
|
|
SWITCH_TO_NEW_TABS_ON_CLICK = True
|
|
|
|
"""
|
|
These methods add JS waits, such as self.wait_for_ready_state_complete(),
|
|
which waits for document.readyState to be "complete" after Selenium actions.
|
|
"""
|
|
# Called after self.open(URL), NOT driver.get(URL)
|
|
WAIT_FOR_RSC_ON_PAGE_LOADS = True
|
|
# Called after self.click(selector), NOT element.click()
|
|
WAIT_FOR_RSC_ON_CLICKS = False
|
|
# Wait for AngularJS calls to complete after various browser actions.
|
|
WAIT_FOR_ANGULARJS = True
|
|
# Skip ALL calls to wait_for_ready_state_complete() and wait_for_angularjs().
|
|
SKIP_JS_WAITS = False
|
|
|
|
# Changing the default behavior of Demo Mode. Activate with: --demo_mode
|
|
DEFAULT_DEMO_MODE_TIMEOUT = 0.5
|
|
HIGHLIGHTS = 4
|
|
DEFAULT_MESSAGE_DURATION = 2.55
|
|
|
|
# Disabling the Content Security Policy of the browser by default.
|
|
DISABLE_CSP_ON_FIREFOX = True
|
|
DISABLE_CSP_ON_CHROME = False
|
|
|
|
# If True and --proxy=IP_ADDRESS:PORT is invalid, then error immediately.
|
|
RAISE_INVALID_PROXY_STRING_EXCEPTION = True
|
|
|
|
# Default browser coordinates when opening new windows for tests.
|
|
WINDOW_START_X = 20
|
|
WINDOW_START_Y = 54
|
|
|
|
# Default browser resolutions when opening new windows for tests.
|
|
# (Headless resolutions take priority, and include all browsers.)
|
|
# (Firefox starts maximized by default when running in GUI Mode.)
|
|
CHROME_START_WIDTH = 1250
|
|
CHROME_START_HEIGHT = 840
|
|
HEADLESS_START_WIDTH = 1440
|
|
HEADLESS_START_HEIGHT = 1880
|
|
|
|
# If True, hides messages related to downloading drivers.
|
|
# If False, you'll see details about downloading drivers.
|
|
# (This only affects driver downloads coming from tests.)
|
|
# (Eg. Using "sbase get chromedriver" won't hide output.)
|
|
HIDE_DRIVER_DOWNLOADS = False
|
|
|
|
# Changing the default behavior of MasterQA Mode.
|
|
MASTERQA_DEFAULT_VALIDATION_MESSAGE = "Does the page look good?"
|
|
MASTERQA_WAIT_TIME_BEFORE_VERIFY = 0.5
|
|
MASTERQA_START_IN_FULL_SCREEN_MODE = False
|
|
MASTERQA_MAX_IDLE_TIME_BEFORE_QUIT = 600
|
|
|
|
# Google Authenticator
|
|
# (For 2-factor authentication using a time-based one-time password algorithm)
|
|
# (See https://github.com/pyotp/pyotp and https://pypi.org/project/pyotp/ )
|
|
# (Also works with Authy and other compatible apps.)
|
|
# Usage: "self.get_google_auth_password()" (output based on timestamp)
|
|
# Usage with override: "self.get_google_auth_password(totp_key=TOTP_KEY)"
|
|
TOTP_KEY = "base32secretABCD"
|
|
|
|
# MySQL DB Credentials
|
|
# (For saving data from tests to a MySQL DB)
|
|
# Usage: "--with-db_reporting"
|
|
DB_HOST = "127.0.0.1"
|
|
DB_PORT = 3306
|
|
DB_USERNAME = "root"
|
|
DB_PASSWORD = "test"
|
|
DB_SCHEMA = "test_db"
|
|
|
|
# Amazon S3 Bucket Credentials
|
|
# (For saving screenshots and other log files from tests)
|
|
# (Bucket names are unique across all existing bucket names in Amazon S3)
|
|
# Usage: "--with-s3_logging"
|
|
S3_LOG_BUCKET = "[S3 BUCKET NAME]"
|
|
S3_BUCKET_URL = "https://s3.amazonaws.com/[S3 BUCKET NAME]/"
|
|
S3_SELENIUM_ACCESS_KEY = "[S3 ACCESS KEY]"
|
|
S3_SELENIUM_SECRET_KEY = "[S3 SECRET KEY]"
|
|
|
|
# Encryption Settings
|
|
# (Used for string/password obfuscation)
|
|
# (You should reset the Encryption Key for every clone of SeleniumBase)
|
|
ENCRYPTION_KEY = "Pg^.l!8UdJ+Y7dMIe&fl*%!p9@ej]/#tL~3E4%6?"
|
|
# These tokens are added to the beginning and end of obfuscated passwords.
|
|
# Helps identify which strings/passwords have been obfuscated.
|
|
OBFUSCATION_START_TOKEN = "$^*ENCRYPT="
|
|
OBFUSCATION_END_TOKEN = "?&#$"
|