Class Properties
- Direct Known Subclasses:
SHAFT.Properties
Each writable property type is exposed as a thread-safe proxy that dispatches
reads to the current thread's config instance (if a per-thread override is active)
or falls 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.
Read-only property types (Internal, TestNG, Log4j,
Cucumber) are backed by simple static fields because they are never
mutated after framework initialisation.
-
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.
-