org.openqa.grid.internal
Class TestSession

java.lang.Object
  extended by org.openqa.grid.internal.TestSession

public class TestSession
extends java.lang.Object

Represent a running test for the hub/registry. A test session is created when a TestSlot becomes available for a test.

The session is destroyed when the test ends ( ended by the client or timed out)


Method Summary
 boolean equals(java.lang.Object obj)
           
 void forward(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
          Forward the request to the remote, execute the TestSessionListeners if applicable.
 java.lang.String forward(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, java.lang.String content, boolean interceptResponseBody)
          Forward the request to the remote.
 java.lang.Object get(java.lang.String key)
          Allow you to retrieve an object previously stored on the test session.
 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()
          the capabilities the client requested.
 TestSlot getSlot()
           
 int hashCode()
           
 boolean isOrphaned()
           
 void put(java.lang.String key, java.lang.Object value)
          Allows you to store an object on the test session.
 boolean sendDeleteSessionRequest()
          Sends a DELETE/testComplete (webdriver/selenium) session command to the remote, following web driver protocol.
 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. ignore = true => the session will not time out.
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Method Detail

getInternalKey

public java.lang.String getInternalKey()

getRequestedCapabilities

public java.util.Map<java.lang.String,java.lang.Object> getRequestedCapabilities()
the capabilities the client requested. It will match the TestSlot capabilities, but is not equals.


getExternalKey

public ExternalSessionKey getExternalKey()
Get the session key from the remote. It's up to the remote to guarantee the key is unique. If 2 remotes return the same session key, the tests will overwrite each other.

Returns:
the key that was provided by the remote when the POST /session command was sent.

setExternalKey

public void setExternalKey(ExternalSessionKey externalKey)
associate this session to the session provided by the remote.


getInactivityTime

public 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.

Returns:
time in millis
See Also:
setIgnoreTimeout(boolean)

isOrphaned

public boolean isOrphaned()

getSlot

public TestSlot getSlot()
Returns:
the TestSlot this session is executed against.

hashCode

public int hashCode()
Overrides:
hashCode in class java.lang.Object

equals

public boolean equals(java.lang.Object obj)
Overrides:
equals in class java.lang.Object

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

forward

public void forward(javax.servlet.http.HttpServletRequest request,
                    javax.servlet.http.HttpServletResponse response)
             throws java.io.IOException
Forward the request to the remote, execute the TestSessionListeners if applicable.

Throws:
java.io.IOException

forward

public java.lang.String forward(javax.servlet.http.HttpServletRequest request,
                                javax.servlet.http.HttpServletResponse response,
                                java.lang.String content,
                                boolean interceptResponseBody)
                         throws java.io.IOException
Forward the request to the remote.

Parameters:
content - Overwrite the body. Useful when the body of the request was already read.
interceptResponseBody - for selenium1 protocol, you need to read the content of the response to find the session.
Returns:
the content of the response if interceptResponseBody=true. null otherwise
Throws:
java.io.IOException

get

public java.lang.Object get(java.lang.String key)
Allow you to retrieve an object previously stored on the test session.

Returns:
the object you stored

put

public void put(java.lang.String key,
                java.lang.Object value)
Allows you to store an object on the test session.

Parameters:
key - a non-null string

sendDeleteSessionRequest

public boolean sendDeleteSessionRequest()
Sends a DELETE/testComplete (webdriver/selenium) session command to the remote, following web driver protocol.

Returns:
true is the remote replied successfully to the request.

setIgnoreTimeout

public void setIgnoreTimeout(boolean ignore)
allow to bypass time out for this session. ignore = true => the session will not time out. setIgnoreTimeout(true) also update the lastActivity to now.



Copyright © 2011. All Rights Reserved.