public class TestSession
extends java.lang.Object
The session is destroyed when the test ends ( ended by the client or timed out)
Modifier and Type | Field and Description |
---|---|
private ExternalSessionKey |
externalKey |
private boolean |
forwardingRequest |
private boolean |
ignoreTimeout |
private java.lang.String |
internalKey |
private long |
lastActivity |
private static java.util.logging.Logger |
log |
(package private) static int |
MAX_IDLE_TIME_BEFORE_CONSIDERED_ORPHANED |
private int |
MAX_NETWORK_LATENCY |
private java.util.Map<java.lang.String,java.lang.Object> |
objects |
private java.util.Map<java.lang.String,java.lang.Object> |
requestedCapabilities |
private long |
sessionCreatedAt |
private TestSlot |
slot |
private TimeSource |
timeSource |
Constructor and Description |
---|
TestSession(TestSlot slot,
java.util.Map<java.lang.String,java.lang.Object> requestedCapabilities,
TimeSource timeSource) |
Modifier and Type | Method and Description |
---|---|
private byte[] |
drainInputStream(java.io.InputStream in) |
boolean |
equals(java.lang.Object obj) |
java.lang.String |
forward(SeleniumBasedRequest request,
javax.servlet.http.HttpServletResponse response,
boolean newSessionRequest) |
java.lang.Object |
get(java.lang.String key)
Allow you to retrieve an object previously stored on the test session.
|
private org.apache.http.client.HttpClient |
getClient() |
ExternalSessionKey |
getExternalKey()
Get the session key from the remote.
|
long |
getInactivityTime()
give the time in milliseconds since the last access to this test session, or 0 is ignore time
out has been set to true.
|
java.lang.String |
getInternalKey() |
java.util.Map<java.lang.String,java.lang.Object> |
getRequestedCapabilities() |
private java.lang.String |
getResponseUtf8Content(java.io.InputStream in) |
TestSlot |
getSlot() |
int |
hashCode() |
boolean |
isForwardingRequest() |
boolean |
isOrphaned() |
private static boolean |
isSuccessJsonResponse(org.apache.http.HttpResponse response) |
private org.apache.http.HttpRequest |
prepareProxyRequest(javax.servlet.http.HttpServletRequest request) |
private void |
processResponseHeaders(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response,
java.net.URL remoteURL,
org.apache.http.HttpResponse proxyResponse) |
void |
put(java.lang.String key,
java.lang.Object value)
Allows you to store an object on the test session.
|
private void |
removeIncompleteNewSessionRequest() |
private void |
removeSessionBrowserTimeout() |
boolean |
sendDeleteSessionRequest()
Sends a DELETE/testComplete (webdriver/selenium) session command to the remote, following web
driver protocol.
|
private org.apache.http.HttpResponse |
sendRequestToNode(org.apache.http.HttpRequest proxyRequest) |
void |
setExternalKey(ExternalSessionKey externalKey)
associate this session to the session provided by the remote.
|
void |
setIgnoreTimeout(boolean ignore)
allow to bypass time out for this session.
|
private void |
setThreadDisplayName() |
java.lang.String |
toString() |
private byte[] |
updateHubIfNewWebDriverSession(SeleniumBasedRequest request,
org.apache.http.HttpResponse proxyResponse) |
private void |
updateHubNewSeleniumSession(java.lang.String content) |
private void |
writeRawBody(javax.servlet.http.HttpServletResponse response,
byte[] rawBody) |
private static final java.util.logging.Logger log
static final int MAX_IDLE_TIME_BEFORE_CONSIDERED_ORPHANED
private final java.lang.String internalKey
private final TestSlot slot
private volatile ExternalSessionKey externalKey
private volatile long sessionCreatedAt
private volatile long lastActivity
private final java.util.Map<java.lang.String,java.lang.Object> requestedCapabilities
private java.util.Map<java.lang.String,java.lang.Object> objects
private volatile boolean ignoreTimeout
private final TimeSource timeSource
private volatile boolean forwardingRequest
private final int MAX_NETWORK_LATENCY
public TestSession(TestSlot slot, java.util.Map<java.lang.String,java.lang.Object> requestedCapabilities, TimeSource timeSource)
public java.lang.String getInternalKey()
public java.util.Map<java.lang.String,java.lang.Object> getRequestedCapabilities()
public ExternalSessionKey getExternalKey()
public void setExternalKey(ExternalSessionKey externalKey)
externalKey
- external session keypublic long getInactivityTime()
setIgnoreTimeout(boolean)
public boolean isOrphaned()
public TestSlot getSlot()
public int hashCode()
hashCode
in class java.lang.Object
public boolean equals(java.lang.Object obj)
equals
in class java.lang.Object
public java.lang.String toString()
toString
in class java.lang.Object
private org.apache.http.client.HttpClient getClient()
public java.lang.String forward(SeleniumBasedRequest request, javax.servlet.http.HttpServletResponse response, boolean newSessionRequest) throws java.io.IOException
java.io.IOException
private void setThreadDisplayName()
private void removeIncompleteNewSessionRequest()
private void removeSessionBrowserTimeout()
private void updateHubNewSeleniumSession(java.lang.String content)
private byte[] updateHubIfNewWebDriverSession(SeleniumBasedRequest request, org.apache.http.HttpResponse proxyResponse) throws java.io.IOException
java.io.IOException
private static boolean isSuccessJsonResponse(org.apache.http.HttpResponse response)
private org.apache.http.HttpResponse sendRequestToNode(org.apache.http.HttpRequest proxyRequest) throws org.apache.http.client.ClientProtocolException, java.io.IOException
org.apache.http.client.ClientProtocolException
java.io.IOException
private org.apache.http.HttpRequest prepareProxyRequest(javax.servlet.http.HttpServletRequest request) throws java.io.IOException
java.io.IOException
private void writeRawBody(javax.servlet.http.HttpServletResponse response, byte[] rawBody) throws java.io.IOException
java.io.IOException
private byte[] drainInputStream(java.io.InputStream in) throws java.io.IOException
java.io.IOException
private java.lang.String getResponseUtf8Content(java.io.InputStream in)
private void processResponseHeaders(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, java.net.URL remoteURL, org.apache.http.HttpResponse proxyResponse) throws java.net.MalformedURLException
java.net.MalformedURLException
public java.lang.Object get(java.lang.String key)
key
- keypublic void put(java.lang.String key, java.lang.Object value)
key
- a non-null stringvalue
- value objectpublic boolean sendDeleteSessionRequest()
public void setIgnoreTimeout(boolean ignore)
ignore
- true to ignore the timeoutpublic boolean isForwardingRequest()