public class WebDriverGUIUtilities extends DDGUIUtilities
Modifier and Type | Class and Description |
---|---|
static class |
WebDriverGUIUtilities.GridNode
The class GridNode contains the information about a selenium node, including
hostname hostip port configuration |
Modifier and Type | Field and Description |
---|---|
static WebDriverGUIUtilities |
_LASTINSTANCE |
(package private) static CaseInsensitiveHashtable |
componentToLibraryMap
Normally, component-type is the same as library-type, but sometimes they are different.
componentToLibraryMap is used to contain the mapping, if they are different. |
static java.lang.String |
CUSTOM_CLASS2TYPE_MAP
"CustomClass2Type.properties"
should exist in the /lib/ or /libs/ directory of the JAR file seeking the mapping.
|
static java.lang.String |
DEFAULT_CLASS2TYPE_MAP
"Class2Type.properties"
Typically embedded in the JAR file for the class seeking the mapping.
|
static boolean |
HIGHLIGHT |
static java.lang.String |
OPTION_BROWSER_DRIVERS
'-drivers' followed by the browser drivers (separated by colon :), something like explorer:chrome:MicrosoftEdge
|
static java.lang.String |
OPTION_HUB
'-hub' followed by the hubRegisterUrl, something like http://hubhost:hubport/grid/register
|
static java.lang.String |
OPTION_PORT
'-port' followed by the port number of the Selenium Server is going to use
|
static java.lang.String |
OPTION_ROLE
'-role' followed by the role name of the server, it can be hub or node
|
static java.lang.String |
ROLE_HUB
'hub' role name for the "grid hub"
|
static java.lang.String |
ROLE_NODE
'node' role name for the "grid node"
|
static java.lang.String |
URL_PATH_GRID_CONSOLE
"/grid/console" the path to visit HTTP grid-hub server
|
static java.lang.String |
URL_PATH_GRID_REGISTER
"/grid/register" the path for registering grid-node
|
static java.lang.String |
URL_PATH_HUB
"/wd/hub" the path to visit HTTP standalone-server or grid-node
|
static java.lang.String |
URL_PATH_HUB_STATIC
"/wd/hub/static" the path to get information about the running standalone-server or grid-node
This is a NON-valid url, and the information is supposed to get from the error-stream.
|
appmaps, DEBUG_MESSAGE, FAILED_MESSAGE, FAILED_OK_MESSAGE, GENERIC_MESSAGE, log, PASSED_MESSAGE, trdata, WARNING_MESSAGE, WARNING_OK_MESSAGE
staf
Constructor and Description |
---|
WebDriverGUIUtilities()
No-argument constructor.
|
WebDriverGUIUtilities(STAFHelper helper,
LogUtilities log)
Constructor providing the STAFHelper and LogUtilities needed for
proper operation.
|
WebDriverGUIUtilities(STAFHelper helper,
TestRecordData data,
LogUtilities log)
Constructor providing the STAFHelper, LogUtilities, and TestRecordData for proper operation.
|
Modifier and Type | Method and Description |
---|---|
static boolean |
canConnectGridURL(java.lang.String host,
java.lang.String port) |
static boolean |
canConnectHubURL(java.lang.String host,
java.lang.String port) |
java.util.List |
extractListItems(java.lang.Object obj,
java.lang.String countProp,
java.lang.String itemProp)
Extract items from a List or Array type of object property.
|
Tree |
extractMenuBarItems(java.lang.Object obj)
Extract a menu hierarchy from a MenuBar pseudo-object reference.
|
Tree |
extractMenuItems(java.lang.Object obj)
Extract a menu hierarchy from a object.
|
java.lang.Object |
findPropertyMatchedChild(java.lang.Object obj,
java.lang.String property,
java.lang.String bench,
boolean exactMatch)
Attempt to locate a child object based on a matching property value.
|
static java.lang.String |
getClassTypeMapping(java.lang.String... classnames)
Retrieve the Class2Type mapping, if any, for the provided classname.
|
static java.lang.String |
getCompType(org.openqa.selenium.WebElement compObj)
Try to deduce the Component Type as stored in our cfmap.
|
static java.util.List<WebDriverGUIUtilities.GridNode> |
getGridNodes(java.lang.String nodesInfo)
Convert a node information string to a list of GridNode.
|
static java.lang.String |
getLibraryPackage() |
static java.lang.String |
getLibraryType(org.openqa.selenium.WebElement compObj) |
java.lang.String |
getListItem(java.lang.Object obj,
int i,
java.lang.String itemProp)
Get a single list item from a List or Array type of object property.
|
static java.lang.String |
getRemoteServerJVMOptions()
Retrieve the JVM options from system properties.
Before calling this method, we may need to set some java system property. DriverConstant.SeleniumConfigConstant.SELENIUMSERVER_JVM_OPTIONS
DriverConstant.SeleniumConfigConstant.SELENIUMSERVER_JVM_Xms
DriverConstant.SeleniumConfigConstant.SELENIUMSERVER_JVM_Xmx
If none of them exist in system properties, the minimum JVM option "-Xms512m -Xmx1g" will be provided.If DriverConstant.SeleniumConfigConstant.SELENIUMSERVER_JVM_OPTIONS exist, but DriverConstant.SeleniumConfigConstant.SELENIUMSERVER_JVM_Xms
and DriverConstant.SeleniumConfigConstant.SELENIUMSERVER_JVM_Xmx do NOT exist, then we will add "-Xms512m -Xmx1g" to the JVM options if its
value does not contain "-Xms" or "-Xmx".If DriverConstant.SeleniumConfigConstant.SELENIUMSERVER_JVM_OPTIONS exist, and DriverConstant.SeleniumConfigConstant.SELENIUMSERVER_JVM_Xms
and/or DriverConstant.SeleniumConfigConstant.SELENIUMSERVER_JVM_Xmx exist, then we will add "-Xms512m -Xmx1g" to the JVM options if its
value does not contain "-Xms" or "-Xmx", otherwise if its value contains ""-Xms" or "-Xmx", we will replace them by the value of
DriverConstant.SeleniumConfigConstant.SELENIUMSERVER_JVM_Xms and/or DriverConstant.SeleniumConfigConstant.SELENIUMSERVER_JVM_Xmx . |
protected static java.net.URL |
getResourceURL(java.lang.String aresource)
Attempt to locate the URL of a resource.
|
org.openqa.selenium.WebElement |
getTestObject(java.lang.String mapname,
java.lang.String windowName,
java.lang.String childName,
boolean ignoreCache)
Gets the object defined by the windowName and childName
|
static int |
getTimeoutForHttpConnection()
|
static java.lang.String[] |
getTypeClassesMapping(java.lang.String type)
Retrieve the Type2Classes mapping, if any, for the provided type name.
|
static void |
highlightThenClear(org.openqa.selenium.WebElement webelement,
int duration) |
protected boolean |
isFakeWindow(java.lang.String windowName,
java.lang.String compName)
In SeleniumPlus, some GUILess keywords will be handled in CFComponent
So a fake window 'ApplicationConstants' is used to get these keywords executed. This method is used to detected if the window is fake or not. |
static boolean |
isGridRunning(java.lang.String host,
java.lang.String port)
Checks to see if a "Selenium Grid Hub server" is running.
|
static boolean |
isNodesRunning(java.lang.String nodesInfo,
boolean verifyRegistered,
java.lang.String hubhost,
java.lang.String hubport)
Checks to see if all "Selenium Grid Nodes" are running and registered to a grid-hub:
|
static boolean |
isSAFS() |
static boolean |
isSeleniumPlus() |
static boolean |
isSeleniumServerRunning(java.lang.String host,
java.lang.String port,
boolean isGrid,
boolean checkNodes,
java.lang.String nodesInfo,
boolean verifyRegistered)
Test if selenium "standalone"/"grid hub, grid nodes" is ready.
|
static boolean |
isStandalongServerRunning(java.lang.String host,
java.lang.String port)
Checks to see if a "Selenium Standalone Server" is running.
|
static boolean |
isTypeMatched(org.openqa.selenium.WebElement we,
java.lang.String type)
Get the mapped-class-names according to the type; then get the webelement's
class-name (and its superclasses' names) if the webelement is DOJO/SAP object, get the webelement's tag if the webelement is a standard HTML object. |
static void |
launchSeleniumServers()
Launch Selenium-Standalone-Sever or Selenium-Grid-Hub + Selenium-Grid-Nodes according to the configuration information.
If the grid-node information is provided, then the Grid-Hub + Node will be launched; otherwise, standalone server will be launched. Note: Before calling this method: 1. We should set the JVM property SelectBrowser.SYSTEM_PROPERTY_SELENIUM_HOST and SelectBrowser.SYSTEM_PROPERTY_SELENIUM_PORT .2. If we want to launch "grid+nodes", we should also set the JVM property SelectBrowser.SYSTEM_PROPERTY_SELENIUM_NODE . |
protected static void |
loadClassMappings()
load the Class2Type.properties mappings and any CustomClass2Type.properties mappings.
|
(package private) static void |
loadComponentToLibraryMap() |
static java.lang.String |
readGridURL(java.lang.String host,
java.lang.String port)
This method will read from the connection to url
URL_PATH_GRID_CONSOLE . |
static java.lang.String |
readHubStaticURL(java.lang.String host,
java.lang.String port)
This method is supposed to read from the connection to a NON-valid url
URL_PATH_HUB_STATIC . |
boolean |
resetWDTimeout()
reset the the webdriver timout to the "default" setting of the the running Processor.
|
boolean |
resetWDTimeoutLock()
Resumes allowing changes to the WDTimeout.
|
int |
setActiveWindow(java.lang.String appMapName,
java.lang.String windowName,
java.lang.String compName)
"Activate" the specified component's topmost parent.
|
static void |
setTimeoutForHttpConnection(int timeoutForHttpConnection)
|
boolean |
setWDTimeout(long timeout)
Set the webdriver element search timeout.
|
boolean |
setWDTimeoutLock()
Suspends any changes to the WDTimeout except by the calling Method.
|
static boolean |
startRemoteServer()
Start the Selenium Remote Server
|
static boolean |
startRemoteServer(java.lang.String projectdir,
java.lang.String... extraParams) |
static boolean |
verifyNodesRegistered(java.lang.String hubhost,
java.lang.String hubport,
WebDriverGUIUtilities.GridNode... nodes)
Verify if an array of GridNode have been registered to grid hub.
|
int |
waitForObject(java.lang.String appMapName,
java.lang.String windowName,
java.lang.String compName,
long secTimeout)
Uses the Application Map caching mechanism provided by the superclass.
|
int |
waitForPropertyStatus(java.lang.String windowName,
java.lang.String compName,
java.lang.String propertyName,
java.lang.String expectedValue,
long secTimeout,
boolean b_caseInsensitive,
boolean propertyStatus)
Wait for the property matching/gone with the expected value.
|
static boolean |
waitSeleniumNodeRunning(java.lang.String host,
java.lang.String port,
int... params)
Wait for selenium "grid node" to be ready.
This method will only check if the URL "http://host:port/wd/hub" can be connected. |
static boolean |
waitSeleniumServerRunning(boolean isGrid,
boolean waitForNodes,
boolean verifyRegistered,
int... params)
Wait for selenium "standalone"/"grid hub, grid nodes" to be ready.
Note: Before calling this method: We should set the JVM property SelectBrowser.SYSTEM_PROPERTY_SELENIUM_HOST and SelectBrowser.SYSTEM_PROPERTY_PROXY_PORT .If we are waiting for "grid hub, grid nodes", we should also set the JVM property SelectBrowser.SYSTEM_PROPERTY_SELENIUM_NODE . |
clearAllAppMapCaches, clearAppMapCache, createAppMapInstance, getAppMap, getLogUtilities, getTestRecordData, isAppMapRegistered, openAppMap, registerAppMap, registerAppMap, setLogUtilities, setTestRecordData
getSTAFHelper, setSTAFHelper
public static final java.lang.String DEFAULT_CLASS2TYPE_MAP
public static final java.lang.String CUSTOM_CLASS2TYPE_MAP
public static boolean HIGHLIGHT
public static WebDriverGUIUtilities _LASTINSTANCE
static CaseInsensitiveHashtable componentToLibraryMap
public static final java.lang.String OPTION_PORT
public static final java.lang.String OPTION_ROLE
public static final java.lang.String OPTION_HUB
public static final java.lang.String OPTION_BROWSER_DRIVERS
public static final java.lang.String ROLE_HUB
public static final java.lang.String ROLE_NODE
public static final java.lang.String URL_PATH_GRID_REGISTER
public static final java.lang.String URL_PATH_GRID_CONSOLE
public static final java.lang.String URL_PATH_HUB
public static final java.lang.String URL_PATH_HUB_STATIC
public WebDriverGUIUtilities()
DDGUIUtilities.DDGUIUtilities()
public WebDriverGUIUtilities(STAFHelper helper, LogUtilities log)
helper
- The STAFHelper for performing STAF requests.log
- the LogUtilities for logging.STAFHelper
,
LogUtilities
public WebDriverGUIUtilities(STAFHelper helper, TestRecordData data, LogUtilities log)
helper
- The STAFHelper for performing STAF requests.data
- the TestRecordData generally an instanceof STestRecordHelper.log
- the LogUtilities for logging.STAFHelper
,
STestRecordHelper
,
LogUtilities
public static boolean isSeleniumPlus()
public static boolean isSAFS()
public static java.lang.String getClassTypeMapping(java.lang.String... classnames)
classnames
- String[] an array of classnames used to get mapped-type, the first one
will be tried firstly, then next one, until a mapped-type is got.loadClassMappings()
public static java.lang.String[] getTypeClassesMapping(java.lang.String type)
type
- loadClassMappings()
public static boolean isTypeMatched(org.openqa.selenium.WebElement we, java.lang.String type)
Finally, compare the mapped-class-names with webelement's class-names, if one
of them match, then we can say the type is matched.
Note:
For DOJO, we can only get the class-name of webelement itself.
We need a way to get its superclass names.
we
- WebElement, the webelement to testtype
- String, the SAFS named type for a gui componentprotected static void loadClassMappings()
protected static java.net.URL getResourceURL(java.lang.String aresource)
clazz
- -- Class associated with the resource -- mapping to the JAR or directory resource might be found.aresource
- -- generally, the filename of the resource.java.util.MissingResourceException
- if not found#getUniversalResourceURL(Class, String)
,
AgentClassLoader.AgentClassLoader(String)
protected boolean isFakeWindow(java.lang.String windowName, java.lang.String compName)
windowName
- String, the window namecompName
- String, the component namewaitForObject(String, String, String, long)
public int waitForObject(java.lang.String appMapName, java.lang.String windowName, java.lang.String compName, long secTimeout) throws SAFSObjectNotFoundException, SAFSException
waitForObject
in class DDGUIUtilities
appMapName
- the name/ID of the App Map currently in use.windowName
- the name/ID of the window as predefined in the App Map.compName
- the name/ID of the child component of the window as predefined
in the App Map.secTimeout
- the number of seconds allowed to located the object before a
SAFSObjectNotFoundException is thrown.StatusCodes.SCRIPT_NOT_EXECUTED
if the recognition string is in AUTOIT/IBT format.SAFSObjectNotFoundException
- if specified parent or child cannot be found.SAFSException
- if other problem occursDDGUIUtilities.waitForObject(String,String,String,long)
,
waitCompObject(WebElement, String, String, String, String, long)
,
waitWinObject(String, String, long)
public static void highlightThenClear(org.openqa.selenium.WebElement webelement, int duration)
public int waitForPropertyStatus(java.lang.String windowName, java.lang.String compName, java.lang.String propertyName, java.lang.String expectedValue, long secTimeout, boolean b_caseInsensitive, boolean propertyStatus) throws SAFSObjectNotFoundException, SAFSException
windowName
- String, the window namecompName
- String, the component namepropertyName
- String, the property nameexpectedValue
- String, the expected valuesecTimeout
- long, the time of waiting for.b_caseInsensitive
- boolean, if it is true, compare value case sensitively. If it is false, compare the value case insensitively.propertyStatus
- boolean, if it is true, waiting for matching with the expected value. If it is false, waiting for the value gone with expected value.SAFSObjectNotFoundException
SAFSException
public static java.lang.String getCompType(org.openqa.selenium.WebElement compObj)
compObj
- static void loadComponentToLibraryMap()
public static java.lang.String getLibraryType(org.openqa.selenium.WebElement compObj)
public static java.lang.String getLibraryPackage()
public org.openqa.selenium.WebElement getTestObject(java.lang.String mapname, java.lang.String windowName, java.lang.String childName, boolean ignoreCache)
mapName
- the name/ID of the App Map currently in use.windowName
- the name/ID of the window as predefined in the App Map.childName
- the name/ID of the child component of the window as predefined in the App Map.ignoreCache
- if true, try getting the component from the appmappublic boolean setWDTimeout(long timeout)
timeout
- -- new timeout value in seconds.setWDTimeoutLock()
,
resetWDTimeout()
,
resetWDTimeoutLock()
public boolean setWDTimeoutLock()
The call to SET and RESET the lock MUST occur within the same Method of the calling class.
setWDTimeout(long)
,
resetWDTimeout()
,
resetWDTimeoutLock()
public boolean resetWDTimeout()
setWDTimeoutLock()
,
setWDTimeout(long)
,
resetWDTimeoutLock()
public boolean resetWDTimeoutLock()
setWDTimeoutLock()
public int setActiveWindow(java.lang.String appMapName, java.lang.String windowName, java.lang.String compName) throws SAFSObjectNotFoundException
DDGUIUtilities
setActiveWindow
in class DDGUIUtilities
appMapName
- name of AppMap used to lookup component.windowName
- name of Window in AppMap.compName
- name of Window Component in AppMap.
If the Window IS the desired Component, then both windowName
and compName will be the same.SAFSObjectNotFoundException
- if the component or its parent cannot be found.public java.lang.Object findPropertyMatchedChild(java.lang.Object obj, java.lang.String property, java.lang.String bench, boolean exactMatch) throws SAFSObjectNotFoundException
DDGUIUtilities
findPropertyMatchedChild
in class DDGUIUtilities
obj
- -- the pseudo-object reference whose children will be evaluated.
property
- -- the property of each child that will be evaluated. The property is
expected to be one that can successfully return a value
cast as type String.
bench
- -- the benchmark value for the property to be used in comparisons.
exactMatch
- -- if true, an exact case-sensitive match of the bench value
provided is required to signal a match.SAFSObjectNotFoundException
- if no matching child object is found.
StringUtils.isCaseContainsMatch(String,String,boolean)
public java.util.List extractListItems(java.lang.Object obj, java.lang.String countProp, java.lang.String itemProp) throws SAFSException
DDGUIUtilities
extractListItems
in class DDGUIUtilities
SAFSException
public java.lang.String getListItem(java.lang.Object obj, int i, java.lang.String itemProp) throws SAFSException
DDGUIUtilities
getListItem
in class DDGUIUtilities
SAFSException
public Tree extractMenuBarItems(java.lang.Object obj) throws SAFSException
DDGUIUtilities
extractMenuBarItems
in class DDGUIUtilities
SAFSException
public Tree extractMenuItems(java.lang.Object obj) throws SAFSException
DDGUIUtilities
extractMenuItems
in class DDGUIUtilities
SAFSException
public static boolean startRemoteServer()
public static void launchSeleniumServers() throws SeleniumPlusException
SelectBrowser.SYSTEM_PROPERTY_SELENIUM_HOST
and SelectBrowser.SYSTEM_PROPERTY_SELENIUM_PORT
.SelectBrowser.SYSTEM_PROPERTY_SELENIUM_NODE
.SeleniumPlusException,
- if the server has not been started successfully.SeleniumPlusException
startRemoteServer(String, String...)
public static boolean startRemoteServer(java.lang.String projectdir, java.lang.String... extraParams)
projectdir
- extraParams
- String[], the optional parameters
-port N, optional, the port number for Selenium Server. If not provided, the default port will be used. For "standalone" and "hub" the default port number is 4444; While for "node", it is 5555. -role TheServerRole, optional, if not provided, a standalone server will be launched. TheServerRole could be "hub", and selenium server will be launched as a hub (in grid mode) for other node to connect. TheServerRole could be "node", and selenium server will be launched as a node (in grid mode) to connect a hub. **Note** Hub's information must also be provided. Ex: -role node -hub http://hub.machine:port/grid/register SELENIUMSERVER_JVM_OPTIONS=jvm options Ex: SELENIUMSERVER_JVM_OPTIONS=-Xms256m -Xmx1g -drivers browser-drivers Ex: -drivers=explorer:chrome:MicrosoftEdge
public static boolean waitSeleniumNodeRunning(java.lang.String host, java.lang.String port, int... params)
host
- String, the hostname of the "grid node".port
- String, the port number where the "grid node" is running on.params
- int[], optional parameterspublic static boolean waitSeleniumServerRunning(boolean isGrid, boolean waitForNodes, boolean verifyRegistered, int... params)
SelectBrowser.SYSTEM_PROPERTY_SELENIUM_HOST
and SelectBrowser.SYSTEM_PROPERTY_PROXY_PORT
.SelectBrowser.SYSTEM_PROPERTY_SELENIUM_NODE
.isGrid
- boolean, if false the server is "standalone"; if true the server is "grid hub" and "grid nodes".waitForNodes
- boolean, if true then should wait for "grid nodes" to be ready. This parameter take effect only if isGrid is true.verifyRegistered
- boolean, if true then verify "grid nodes" have been registered to "grid hub". This parameter take effect only if isGrid and waitForNodes are true.params
- int[], optional parameterspublic static boolean isSeleniumServerRunning(java.lang.String host, java.lang.String port, boolean isGrid, boolean checkNodes, java.lang.String nodesInfo, boolean verifyRegistered)
host
- String, the hostname of server (standalone or grid-hub).port
- String, the port number where the server is running.isGrid
- boolean, if false the server is "standalone"; if true the server is "grid hub".checkNodes
- boolean, if true then check if "grid nodes" are running. This parameter takes effect only if isGrid is true.nodesInfo
- String, the information of the "grid nodes" to check. This parameter takes effect only if isGrid and checkNodes are true.verifyRegistered
- boolean, if true then check if "grid nodes" have been registered to "grid hub". This parameter takes effect only if isGrid and checkNodes are true.public static boolean isStandalongServerRunning(java.lang.String host, java.lang.String port)
host
- String, the hostname of the "standalone server".port
- String, the port number where the server is running on.public static boolean isGridRunning(java.lang.String host, java.lang.String port)
host
- String, the hostname of the "grid hub server".port
- String, the port number where the server is running on.#isNodesRunning()
public static boolean isNodesRunning(java.lang.String nodesInfo, boolean verifyRegistered, java.lang.String hubhost, java.lang.String hubport)
nodesInfo
- String, the "grid nodes" to check. It is like "node1:port:nodeconfig;node2:port:nodeconfig;".verifyRegistered
- boolean, if we need to verify that all nodes are registered to "grid hub"hubhost
- String, the name of the "gird hub". It is valid only when verifyRegistered is true.hubport
- String, the port number where the "grid hub" is running on. It is valid only when verifyRegistered is true.#isGridRunning()
public static java.util.List<WebDriverGUIUtilities.GridNode> getGridNodes(java.lang.String nodesInfo)
nodesInfo
- String, the node information of format "node1:port:nodeconfig;node2:port:nodeconfig"public static boolean canConnectGridURL(java.lang.String host, java.lang.String port)
host
- String, the name of host where "grid hub" server runsport
- String, the port number on which "grid hub" server runspublic static java.lang.String readGridURL(java.lang.String host, java.lang.String port)
URL_PATH_GRID_CONSOLE
.host
- String, the host nameport
- String, the port numberpublic static boolean canConnectHubURL(java.lang.String host, java.lang.String port)
host
- String, the name of host where "standalone server"/"grid node" runsport
- String, the port number on which "standalone server"/"grid node" runspublic static java.lang.String readHubStaticURL(java.lang.String host, java.lang.String port)
URL_PATH_HUB_STATIC
. It will read from error stream.host
- String, the host nameport
- String, the port numberpublic static int getTimeoutForHttpConnection()
public static void setTimeoutForHttpConnection(int timeoutForHttpConnection)
public static boolean verifyNodesRegistered(java.lang.String hubhost, java.lang.String hubport, WebDriverGUIUtilities.GridNode... nodes)
hubhost
- String, the name of "grid hub".hubport
- String, the port number where "grid hub" is running on.nodes
- GridNode[], an array of GridNode to verifypublic static java.lang.String getRemoteServerJVMOptions()
DriverConstant.SeleniumConfigConstant.SELENIUMSERVER_JVM_OPTIONS
DriverConstant.SeleniumConfigConstant.SELENIUMSERVER_JVM_Xms
DriverConstant.SeleniumConfigConstant.SELENIUMSERVER_JVM_Xmx
DriverConstant.SeleniumConfigConstant.SELENIUMSERVER_JVM_OPTIONS
exist, but DriverConstant.SeleniumConfigConstant.SELENIUMSERVER_JVM_Xms
and DriverConstant.SeleniumConfigConstant.SELENIUMSERVER_JVM_Xmx
do NOT exist, then we will add "-Xms512m -Xmx1g" to the JVM options if its
value does not contain "-Xms" or "-Xmx".DriverConstant.SeleniumConfigConstant.SELENIUMSERVER_JVM_OPTIONS
exist, and DriverConstant.SeleniumConfigConstant.SELENIUMSERVER_JVM_Xms
and/or DriverConstant.SeleniumConfigConstant.SELENIUMSERVER_JVM_Xmx
exist, then we will add "-Xms512m -Xmx1g" to the JVM options if its
value does not contain "-Xms" or "-Xmx", otherwise if its value contains ""-Xms" or "-Xmx", we will replace them by the value of
DriverConstant.SeleniumConfigConstant.SELENIUMSERVER_JVM_Xms
and/or DriverConstant.SeleniumConfigConstant.SELENIUMSERVER_JVM_Xmx
.#startRemoteServer(String)
Copyright © SAS Institute. All Rights Reserved.