public class BaseRemoteProxy extends java.lang.Object implements RemoteProxy
| Modifier and Type | Field and Description |
|---|---|
protected GridNodeConfiguration |
config |
protected java.net.URL |
remoteHost |
| Constructor and Description |
|---|
BaseRemoteProxy(RegistrationRequest request,
GridRegistry registry)
Create the proxy from the info sent by the remote.
|
| Modifier and Type | Method and Description |
|---|---|
int |
compareTo(RemoteProxy o) |
boolean |
equals(java.lang.Object obj) |
void |
forceSlotCleanerRun()
Internal use only
|
CapabilityMatcher |
getCapabilityHelper()
Returns the capability matcher that will be used to by the remote proxy
to determine whether its test slots can run a requested test session.
|
GridNodeConfiguration |
getConfig()
Returns the configuration the node was initialized with.
|
HtmlRenderer |
getHtmlRender()
Returns the object responsible for rendering any information about the proxy in a Web application.
|
org.openqa.selenium.remote.http.HttpClient |
getHttpClient(java.net.URL url)
Deprecated.
|
org.openqa.selenium.remote.http.HttpClient |
getHttpClient(java.net.URL url,
int connectionTimeout,
int readTimeout) |
java.lang.String |
getId()
Returns the unique id for the node.
|
long |
getLastSessionStart() |
int |
getMaxNumberOfConcurrentTestSessions()
Returns the maximum number of concurrent tests that can run on this node.
|
static <T extends RemoteProxy> |
getNewInstance(RegistrationRequest request,
GridRegistry registry)
Takes a registration request and return the RemoteProxy associated to it.
|
TestSession |
getNewSession(java.util.Map<java.lang.String,java.lang.Object> requestedCapability)
Creates and returns a new test session if the current node has the resources and is ready to run the test.
|
RegistrationRequest |
getOriginalRegistrationRequest()
Returns the request sent from the node to the hub to register the proxy.
|
java.util.Map<java.lang.String,java.lang.Object> |
getProxyStatus()
Renders the status of the node as JSON.
|
<T extends GridRegistry> |
getRegistry()
Retrieves the handle to the registry this remote proxy is registered with.
|
java.net.URL |
getRemoteHost()
Get the host the node is on.
|
float |
getResourceUsageInPercent()
Return how much resources are currently used on the proxy.
|
java.util.List<TestSlot> |
getTestSlots()
Each test running on the node will occupy a test slot.
|
int |
getTimeOut()
Indicates how long a node should wait for a seemingly non-responsive test session before deciding it has timed out.
|
int |
getTotal() |
int |
getTotalUsed()
Returns the total number of test slots used on this node.
|
boolean |
hasCapability(java.util.Map<java.lang.String,java.lang.Object> requestedCapability)
Checks if the node has the capability requested.
|
int |
hashCode() |
boolean |
isBusy()
Indicates whether the node has any test slots in use.
|
void |
setupTimeoutListener()
If the RemoteProxy implementation also implements TimeoutListener, then this method
will start up the thread used to monitor timeouts and handle cleanup of timed out resources.
|
void |
teardown()
If the RemoteProxy implementation also implements TimeoutListener, then this method
will stop the thread used to monitor timeouts.
|
java.lang.String |
toString() |
clone, finalize, getClass, notify, notifyAll, wait, wait, waitcreateTestSlotprotected volatile java.net.URL remoteHost
protected final GridNodeConfiguration config
public BaseRemoteProxy(RegistrationRequest request, GridRegistry registry)
If maxSession is not specified, default to 1 = max number of tests running at a given time will be 1.
For each capability, maxInstances is defaulted to 1 if not specified = max number of test of each capability running at a time will be 1. maxInstances for firefox can be > 1. IE won't support it.
request - The requestregistry - The registry to usepublic java.util.List<TestSlot> getTestSlots()
RemoteProxygetTestSlots in interface RemoteProxypublic <T extends GridRegistry> T getRegistry()
RemoteProxygetRegistry in interface RemoteProxypublic CapabilityMatcher getCapabilityHelper()
RemoteProxygetCapabilityHelper in interface RemoteProxypublic void setupTimeoutListener()
RemoteProxysetupTimeoutListener in interface RemoteProxypublic java.lang.String getId()
RemoteProxygetId in interface RemoteProxypublic void teardown()
RemoteProxyteardown in interface RemoteProxypublic void forceSlotCleanerRun()
public GridNodeConfiguration getConfig()
RemoteProxygetConfig in interface RemoteProxypublic RegistrationRequest getOriginalRegistrationRequest()
RemoteProxygetOriginalRegistrationRequest in interface RemoteProxypublic int getMaxNumberOfConcurrentTestSessions()
RemoteProxygetMaxNumberOfConcurrentTestSessions in interface RemoteProxypublic java.net.URL getRemoteHost()
RemoteProxygetRemoteHost in interface RemoteProxypublic TestSession getNewSession(java.util.Map<java.lang.String,java.lang.Object> requestedCapability)
RemoteProxygetNewSession in interface RemoteProxyrequestedCapability - the type of test the client is interested in performing.null otherwisepublic int getTotalUsed()
RemoteProxygetTotalUsed in interface RemoteProxypublic int getTotal()
public boolean hasCapability(java.util.Map<java.lang.String,java.lang.Object> requestedCapability)
RemoteProxyCapabilityMatcher.matches(Map, Map)
hasCapability = true doesn't mean the test cast start just now, only that the proxy will be
able to run a test requiring that capability at some point.hasCapability in interface RemoteProxyrequestedCapability - the type of test the client is interested in performing.true if presentpublic boolean isBusy()
RemoteProxyisBusy in interface RemoteProxytrue if the node has any test slots in use.public static <T extends RemoteProxy> T getNewInstance(RegistrationRequest request, GridRegistry registry)
T - RemoteProxy subclassrequest - The requestregistry - The registry to usepublic int hashCode()
hashCode in class java.lang.Objectpublic boolean equals(java.lang.Object obj)
equals in class java.lang.Objectpublic int compareTo(RemoteProxy o)
compareTo in interface java.lang.Comparable<RemoteProxy>public java.lang.String toString()
toString in class java.lang.Objectpublic HtmlRenderer getHtmlRender()
RemoteProxygetHtmlRender in interface RemoteProxypublic int getTimeOut()
RemoteProxygetTimeOut in interface RemoteProxypublic org.openqa.selenium.remote.http.HttpClient getHttpClient(java.net.URL url)
getHttpClient(URL, int, int)getHttpClient in interface RemoteProxyHttpClient.Factory to use.public org.openqa.selenium.remote.http.HttpClient getHttpClient(java.net.URL url,
int connectionTimeout,
int readTimeout)
getHttpClient in interface RemoteProxyurl - URLconnectionTimeout - intreadTimeout - intHttpClient for a particular URL.public java.util.Map<java.lang.String,java.lang.Object> getProxyStatus()
RemoteProxygetProxyStatus in interface RemoteProxypublic float getResourceUsageInPercent()
RemoteProxygetResourceUsageInPercent in interface RemoteProxypublic long getLastSessionStart()
getLastSessionStart in interface RemoteProxy