Class Properties
- Direct Known Subclasses:
SHAFT.Properties
Mutable driver/session configuration such as Web, Mobile,
and Platform is exposed through thread-safe proxies that dispatch reads
to the current thread's config instance (if a per-thread override is active) or
fall back to the globally-initialized base config. When a test calls
SHAFT.Properties.web.set().targetBrowserName("firefox"), only that
thread's config is updated — other threads continue to see their own values,
preventing cross-thread contamination during parallel test execution.
Engine-wide configuration (Flags, plus the read-only Internal,
TestNG, Log4j, and Cucumber types) is backed by a
single global config instance because these values are initialized once and
must remain consistent across all execution threads.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Allurestatic final APIstatic final BrowserStackstatic Cucumberstatic final Flagsstatic final Healeniumstatic Internalstatic final Jirastatic final LambdaTeststatic Log4jstatic final Mobilestatic final Pathsstatic final Patternstatic final Performancestatic final Platformstatic final Reportingstatic TestNGstatic final Timeoutsstatic final Tinkeystatic final Visualsstatic final Web -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic voidClears all thread-local property overrides for the current thread and resets the per-thread override map maintained byThreadLocalPropertiesManager.static booleanReturnstrueif the framework property system has been fully initialized (i.e.
-
Field Details
-
browserStack
-
platform
-
healenium
-
jira
-
mobile
-
paths
-
pattern
-
flags
-
reporting
-
allure
-
timeouts
-
tinkey
-
visuals
-
web
-
performance
-
lambdaTest
-
api
-
internal
-
testNG
-
log4j
-
cucumber
-
-
Constructor Details
-
Properties
public Properties()
-
-
Method Details
-
isInitialized
public static boolean isInitialized()Returnstrueif the framework property system has been fully initialized (i.e.PropertiesHelper.initialize()or equivalent has been called). Use this instead ofProperties.xxx == nullnull-checks because the public fields are now always-non-null proxy objects.Uses a dedicated volatile flag rather than a single base-field null check so that partial initialization (an exception partway through
loadProperties()) cannot produce a false positive.- Returns:
trueonce base configs have been fully loaded
-
clearForCurrentThread
public static void clearForCurrentThread()Clears all thread-local property overrides for the current thread and resets the per-thread override map maintained byThreadLocalPropertiesManager.This should be called before a new test-class lifecycle begins on a pooled thread so that overrides set by a previous test class do not leak into the next one.
-