org.openqa.grid.internal
Class TestSession

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

public class TestSession
extends 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)


Constructor Summary
TestSession(TestSlot slot, Map<String,Object> requestedCapabilities, TimeSource timeSource)
          Creates a test session on the specified testSlot.
 
Method Summary
 boolean equals(Object obj)
           
 String forward(SeleniumBasedRequest request, javax.servlet.http.HttpServletResponse response, boolean newSessionRequest)
          forwards the request to the node.
 Object get(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.
 String getInternalKey()
           
 Map<String,Object> getRequestedCapabilities()
          the capabilities the client requested.
 TestSlot getSlot()
           
 int hashCode()
           
 boolean isForwardingRequest()
           
 boolean isOrphaned()
           
 void put(String key, 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.
 String toString()
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

TestSession

public TestSession(TestSlot slot,
                   Map<String,Object> requestedCapabilities,
                   TimeSource timeSource)
Creates a test session on the specified testSlot.

Method Detail

getInternalKey

public String getInternalKey()

getRequestedCapabilities

public Map<String,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 Object

equals

public boolean equals(Object obj)
Overrides:
equals in class Object

toString

public String toString()
Overrides:
toString in class Object

forward

public String forward(SeleniumBasedRequest request,
                      javax.servlet.http.HttpServletResponse response,
                      boolean newSessionRequest)
               throws IOException
forwards the request to the node.

Throws:
IOException

get

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

Returns:
the object you stored

put

public void put(String key,
                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.


isForwardingRequest

public boolean isForwardingRequest()


Copyright © 2012. All Rights Reserved.