Package org.openqa.selenium.grid.node
Class Node
- java.lang.Object
-
- org.openqa.selenium.grid.node.Node
-
- All Implemented Interfaces:
org.openqa.selenium.remote.http.HttpHandler,org.openqa.selenium.remote.http.Routable,HasReadyState
- Direct Known Subclasses:
LocalNode,RemoteNode
public abstract class Node extends java.lang.Object implements HasReadyState, org.openqa.selenium.remote.http.Routable
A place where individual webdriver sessions are running. Those sessions may be in-memory, or only reachable via localhost and a network. Or they could be something else entirely.This class responds to the following URLs:
Verb URL Template Meaning POST /se/grid/node/session Attempts to start a new session for the given node. The posted data should be a json-serialized Capabilitiesinstance. Returns a serializedSession. Subclasses ofNodeare expected to register the session with theSessionMap.GET /se/grid/node/session/{sessionId} Finds the Sessionidentified bysessionIdand returns the JSON-serialized form.DELETE /se/grid/node/session/{sessionId} Stops the Sessionidentified bysessionId. It is expected that this will also cause the session to removed from theSessionMap.GET /se/grid/node/owner/{sessionId} Allows the node to be queried about whether or not it owns the Sessionidentified bysessionId. This returns a boolean.* /session/{sessionId}/* The request is forwarded to the Sessionidentified bysessionId. When the Quit command is called, theSessionshould remove itself from theSessionMap.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract voiddrain()org.openqa.selenium.remote.http.HttpResponseexecute(org.openqa.selenium.remote.http.HttpRequest req)abstract org.openqa.selenium.remote.http.HttpResponseexecuteWebDriverCommand(org.openqa.selenium.remote.http.HttpRequest req)abstract HealthCheckgetHealthCheck()NodeIdgetId()java.lang.StringgetNodeVersion()com.google.common.collect.ImmutableMap<java.lang.String,java.lang.String>getOsInfo()abstract SessiongetSession(org.openqa.selenium.remote.SessionId id)abstract NodeStatusgetStatus()org.openqa.selenium.io.TemporaryFilesystemgetTemporaryFilesystem(org.openqa.selenium.remote.SessionId id)java.net.URIgetUri()booleanisDraining()abstract booleanisSessionOwner(org.openqa.selenium.remote.SessionId id)abstract booleanisSupporting(org.openqa.selenium.Capabilities capabilities)booleanmatches(org.openqa.selenium.remote.http.HttpRequest req)abstract org.openqa.selenium.internal.Either<org.openqa.selenium.WebDriverException,CreateSessionResponse>newSession(CreateSessionRequest sessionRequest)abstract voidstop(org.openqa.selenium.remote.SessionId id)abstract org.openqa.selenium.remote.http.HttpResponseuploadFile(org.openqa.selenium.remote.http.HttpRequest req, org.openqa.selenium.remote.SessionId id)-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.openqa.selenium.status.HasReadyState
isReady
-
-
-
-
Method Detail
-
getId
public NodeId getId()
-
getUri
public java.net.URI getUri()
-
getNodeVersion
public java.lang.String getNodeVersion()
-
getOsInfo
public com.google.common.collect.ImmutableMap<java.lang.String,java.lang.String> getOsInfo()
-
newSession
public abstract org.openqa.selenium.internal.Either<org.openqa.selenium.WebDriverException,CreateSessionResponse> newSession(CreateSessionRequest sessionRequest)
-
executeWebDriverCommand
public abstract org.openqa.selenium.remote.http.HttpResponse executeWebDriverCommand(org.openqa.selenium.remote.http.HttpRequest req)
-
getSession
public abstract Session getSession(org.openqa.selenium.remote.SessionId id) throws org.openqa.selenium.NoSuchSessionException
- Throws:
org.openqa.selenium.NoSuchSessionException
-
getTemporaryFilesystem
public org.openqa.selenium.io.TemporaryFilesystem getTemporaryFilesystem(org.openqa.selenium.remote.SessionId id) throws java.io.IOException- Throws:
java.io.IOException
-
uploadFile
public abstract org.openqa.selenium.remote.http.HttpResponse uploadFile(org.openqa.selenium.remote.http.HttpRequest req, org.openqa.selenium.remote.SessionId id)
-
stop
public abstract void stop(org.openqa.selenium.remote.SessionId id) throws org.openqa.selenium.NoSuchSessionException- Throws:
org.openqa.selenium.NoSuchSessionException
-
isSessionOwner
public abstract boolean isSessionOwner(org.openqa.selenium.remote.SessionId id)
-
isSupporting
public abstract boolean isSupporting(org.openqa.selenium.Capabilities capabilities)
-
getStatus
public abstract NodeStatus getStatus()
-
getHealthCheck
public abstract HealthCheck getHealthCheck()
-
isDraining
public boolean isDraining()
-
drain
public abstract void drain()
-
matches
public boolean matches(org.openqa.selenium.remote.http.HttpRequest req)
- Specified by:
matchesin interfaceorg.openqa.selenium.remote.http.Routable
-
execute
public org.openqa.selenium.remote.http.HttpResponse execute(org.openqa.selenium.remote.http.HttpRequest req)
- Specified by:
executein interfaceorg.openqa.selenium.remote.http.HttpHandler
-
-