org.openqa.selenium.server
Class SeleniumDriverResourceHandler

java.lang.Object
  extended by org.openqa.jetty.http.handler.AbstractHttpHandler
      extended by org.openqa.jetty.http.handler.ResourceHandler
          extended by org.openqa.selenium.server.SeleniumDriverResourceHandler
All Implemented Interfaces:
java.io.Serializable, HttpHandler, LifeCycle

public class SeleniumDriverResourceHandler
extends ResourceHandler

A Jetty handler that takes care of remote Selenium requests.

Remote Selenium requests are described in detail in the class description for SeleniumServer

Version:
$Revision: 674 $
Author:
Paul Hammant
See Also:
SeleniumServer, Serialized Form

Constructor Summary
SeleniumDriverResourceHandler(SeleniumServer remoteControl)
           
 
Method Summary
protected  java.lang.String commandResultsLogMessage(java.lang.String cmd, java.lang.String sessionId, java.lang.String results)
           
protected  java.io.File createTempFile(java.lang.String name)
           
 void deregisterBrowserSession(BrowserSessionFactory.BrowserSessionInfo sessionInfo)
          De-registers the given browser session from among the active sessions.
 java.lang.String doCommand(java.lang.String cmd, java.util.Vector<java.lang.String> values, java.lang.String sessionId, HttpResponse res)
           
protected  void download(java.net.URL url, java.io.File outputFile)
           
 BrowserLauncherFactory getBrowserLauncherFactory()
           
static java.lang.String getLastSessionId()
           
protected  java.lang.String getNewBrowserSession(java.lang.String browserString, java.lang.String startURL, java.lang.String extensionJs, Capabilities browserConfigurations)
           
protected  FrameGroupCommandQueueSet getQueueSet(java.lang.String sessionId)
           
protected static java.lang.String getSpeedForSession(java.lang.String sessionId)
           
 void handle(java.lang.String pathInContext, java.lang.String pathParams, HttpRequest req, HttpResponse res)
          Handle a request.
 void registerBrowserSession(BrowserSessionFactory.BrowserSessionInfo sessionInfo)
          Registers the given browser session among the active sessions to handle.
 void setBrowserLauncherFactory(BrowserLauncherFactory browserLauncherFactory)
           
static void setLastSessionId(java.lang.String sessionId)
           
protected static void setSpeedForSession(java.lang.String sessionId, int speed)
           
 void stopAllBrowsers()
          Kills all running browsers
 
Methods inherited from class org.openqa.jetty.http.handler.ResourceHandler
getAllowedMethods, getAllowedString, getMinGzipLength, getRedirectWelcome, getResource, handleGet, isAcceptRanges, isDirAllowed, isMethodAllowed, sendData, setAcceptRanges, setAllowedMethods, setDirAllowed, setMinGzipLength, setRedirectWelcome, start, stop, writeHeaders
 
Methods inherited from class org.openqa.jetty.http.handler.AbstractHttpHandler
getHttpContext, getName, handleTrace, initialize, isStarted, setName, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

SeleniumDriverResourceHandler

public SeleniumDriverResourceHandler(SeleniumServer remoteControl)
Method Detail

handle

public void handle(java.lang.String pathInContext,
                   java.lang.String pathParams,
                   HttpRequest req,
                   HttpResponse res)
            throws HttpException,
                   java.io.IOException
Description copied from interface: HttpHandler
Handle a request. Note that Handlers are tried in order until one has handled the request. i.e. until request.isHandled() returns true. In broad terms this means, either a response has been commited or request.setHandled(true) has been called.

Specified by:
handle in interface HttpHandler
Overrides:
handle in class ResourceHandler
Parameters:
pathInContext - The context path
pathParams - Path parameters such as encoded Session ID
req - The HttpRequest request
res - The HttpResponse response
Throws:
HttpException
java.io.IOException

getQueueSet

protected FrameGroupCommandQueueSet getQueueSet(java.lang.String sessionId)

doCommand

public java.lang.String doCommand(java.lang.String cmd,
                                  java.util.Vector<java.lang.String> values,
                                  java.lang.String sessionId,
                                  HttpResponse res)

commandResultsLogMessage

protected java.lang.String commandResultsLogMessage(java.lang.String cmd,
                                                    java.lang.String sessionId,
                                                    java.lang.String results)

download

protected void download(java.net.URL url,
                        java.io.File outputFile)

createTempFile

protected java.io.File createTempFile(java.lang.String name)

getSpeedForSession

protected static java.lang.String getSpeedForSession(java.lang.String sessionId)

setSpeedForSession

protected static void setSpeedForSession(java.lang.String sessionId,
                                         int speed)

getNewBrowserSession

protected java.lang.String getNewBrowserSession(java.lang.String browserString,
                                                java.lang.String startURL,
                                                java.lang.String extensionJs,
                                                Capabilities browserConfigurations)
                                         throws RemoteCommandException
Throws:
RemoteCommandException

registerBrowserSession

public void registerBrowserSession(BrowserSessionFactory.BrowserSessionInfo sessionInfo)
Registers the given browser session among the active sessions to handle.

Usually externally created browser sessions are managed themselves, but registering them allows the shutdown procedures to be simpler.

Parameters:
sessionInfo - the externally created browser session to register.

deregisterBrowserSession

public void deregisterBrowserSession(BrowserSessionFactory.BrowserSessionInfo sessionInfo)
De-registers the given browser session from among the active sessions.

When an externally managed but registered session is closed, this method should be called to keep the set of active sessions up to date.

Parameters:
sessionInfo - the session to deregister.

stopAllBrowsers

public void stopAllBrowsers()
Kills all running browsers


getLastSessionId

public static java.lang.String getLastSessionId()

setLastSessionId

public static void setLastSessionId(java.lang.String sessionId)

getBrowserLauncherFactory

public BrowserLauncherFactory getBrowserLauncherFactory()

setBrowserLauncherFactory

public void setBrowserLauncherFactory(BrowserLauncherFactory browserLauncherFactory)


Copyright © 2011. All Rights Reserved.