Package org.uitnet.testing.smartfwk
Class SmartCucumberScenarioContext
- java.lang.Object
-
- org.uitnet.testing.smartfwk.SmartCucumberScenarioContext
-
public class SmartCucumberScenarioContext extends Object
Generic interface for cucumber scenario context.- Author:
- Madhav Krishna
-
-
Field Summary
Fields Modifier and Type Field Description protected StringactiveAppNameprotected Map<String,Boolean>conditionsprotected booleanisUiScenarioprotected Map<String,Object>paramsprotected io.cucumber.java.Scenarioscenarioprotected StringscreenCaptureFailedStatus
-
Constructor Summary
Constructors Constructor Description SmartCucumberScenarioContext()
-
Method Summary
-
-
-
Method Detail
-
connectOrSwitch
public AbstractAppConnector connectOrSwitch(String appName)
Connect or switch to application.- Parameters:
appName-
-
connectOrSwitch
public SmartAppDriver connectOrSwitch(String appName, String userProfileName)
Connect or switch to specified application and set the user profile.- Parameters:
appName-userProfileName-- Returns:
-
setActiveUserProfile
public SmartAppDriver setActiveUserProfile(String appName, String userProfileName)
Sets the active user profile on the application. If application is not connected then it will connect to application first and then set the user profile.- Parameters:
appName-userProfileName-- Returns:
-
setActiveUserProfileOnActiveApp
public SmartAppDriver setActiveUserProfileOnActiveApp(String userProfileName)
-
getActiveUserProfileNameOfActiveApp
public String getActiveUserProfileNameOfActiveApp()
-
getActiveAppDriver
public SmartAppDriver getActiveAppDriver()
-
getAppDriver
public SmartAppDriver getAppDriver(String appName)
-
getActiveAppConnector
public AbstractAppConnector getActiveAppConnector()
-
getAppConnector
public AbstractAppConnector getAppConnector(String appName)
-
overrideDriverProps
public void overrideDriverProps(String applicationName, String browserType, String propsAsJson)
-
getOverriddenDriverProps
public com.jayway.jsonpath.DocumentContext getOverriddenDriverProps(String applicationName, String browserType)
-
captureScreenshot
public void captureScreenshot()
-
captureScreenshotWithScenarioStatus
public void captureScreenshotWithScenarioStatus(String status)
-
captureScreenshotOfApp
public void captureScreenshotOfApp(String appName)
-
captureScreenshotOfAppWithScenarioStatus
public void captureScreenshotOfAppWithScenarioStatus(String appName, String status)
-
switchToDefaultContent
public void switchToDefaultContent()
Switches all apps to default contents.
-
switchToDefaultContent
public void switchToDefaultContent(String appName)
Switches the specified app to default content.- Parameters:
appName-
-
switchToWindow
public void switchToWindow(String nameOrHandle)
-
switchToFrame
public void switchToFrame(String nameOrId)
-
switchToFrame
public void switchToFrame(UIObject pageElement)
-
switchToFrame
public void switchToFrame(int index)
-
switchToNewWindow
public void switchToNewWindow(org.openqa.selenium.WindowType typeHint)
It creates the new window and switches the focus on it for future commands.- Parameters:
typeHint-
-
closeAllChildWindows
public void closeAllChildWindows()
-
close
public void close()
-
close
public void close(boolean captureScreenshot)
-
getScenario
public io.cucumber.java.Scenario getScenario()
-
setScenario
public void setScenario(io.cucumber.java.Scenario scenario)
-
getActiveAppName
public String getActiveAppName()
-
getTestConfigManager
public TestConfigManager getTestConfigManager()
-
getActiveAppConfig
public AppConfig getActiveAppConfig()
-
log
public void log(String message)
-
getParamValue
public Object getParamValue(String paramName)
This method returns param value. If does not exist then returns as null.- Parameters:
paramName-- Returns:
-
getMultiValueParamValueAsString
public String getMultiValueParamValueAsString(String paramName, String delimitter, String valueEnclosingChars)
MultiValue params are like Array, List, Set- Parameters:
paramName-delimitter- - could be , or any string, if null then it will use default as ,valueEnclosingChars- like ' or " or empty/null (denotes no enclosing)- Returns:
-
getEntriesForParamsEndsWithText
public Map<String,Object> getEntriesForParamsEndsWithText(String text)
-
getEntriesForParamsStartsWithText
public Map<String,Object> getEntriesForParamsStartsWithText(String text)
-
getParamValueNullAsParamName
public Object getParamValueNullAsParamName(String paramName)
This method returns param value. If does not exist then returns paramName as value.- Parameters:
paramName-- Returns:
-
removeParam
public void removeParam(String paramName)
-
getDatabaseManager
public DatabaseManager getDatabaseManager()
-
getApiTestManager
public ApiTestManager getApiTestManager()
-
getRemoteMachineManager
public RemoteMachineManager getRemoteMachineManager()
-
isUiScenario
public boolean isUiScenario()
-
isConditionSet
public boolean isConditionSet(String conditionName)
-
unsetCondition
public void unsetCondition(String conditionName)
-
unsetAllConditions
public void unsetAllConditions()
-
isLastConditionSetToTrue
public boolean isLastConditionSetToTrue()
-
getLastConditionName
public String getLastConditionName()
-
applyParamsValueOnText
public String applyParamsValueOnText(String text)
It will apply all params value to the text. It will convert param value to string then apply. Apply order: 1. First applies the DefaultSmartCache params. 2. Then applies the scenarioContext params.- Parameters:
text-- Returns:
- the updated text
-
registerAfterScenarioHook
public void registerAfterScenarioHook(String qualifiedMethodName, String data)
-
waitForSeconds
public void waitForSeconds(int seconds)
-
waitForMilliSeconds
public void waitForMilliSeconds(int milliseconds)
-
-