com.meterware.httpunit
Class WebLink

java.lang.Object
  extended bycom.meterware.httpunit.ParameterHolder
      extended bycom.meterware.httpunit.WebRequestSource
          extended bycom.meterware.httpunit.FixedURLWebRequestSource
              extended bycom.meterware.httpunit.WebLink
All Implemented Interfaces:
HTMLElement, com.meterware.httpunit.protocol.ParameterCollection, ScriptingEventHandler

public class WebLink
extends com.meterware.httpunit.FixedURLWebRequestSource

This class represents a link in an HTML page. Users of this class may examine the structure of the link (as a DOM), or create a WebRequest to simulate clicking on the link.

Author:
Russell Gold,
Nested Class Summary
 class WebLink.Scriptable
           
 
Field Summary
static HTMLElementPredicate MATCH_CONTAINED_TEXT
          Predicate to match part or all of a link's contained text.
static HTMLElementPredicate MATCH_ID
          Predicate to match a link's ID.
static HTMLElementPredicate MATCH_NAME
          Predicate to match a link's name.
static HTMLElementPredicate MATCH_TEXT
          Predicate to match a link's text exactly.
static HTMLElementPredicate MATCH_URL_STRING
          Predicate to match part or all of a link's URL string.
 
Method Summary
protected  void addPresetParameter(java.lang.String name, java.lang.String value)
          Records a parameter defined by including it in the destination URL.
 java.lang.String asText()
          Deprecated. as of 1.6, use #getText instead
 WebResponse click()
          Submits a request as though the user had clicked on this link.
protected  java.lang.String getEmptyParameterValue()
           
 java.lang.String[] getParameterNames()
          Returns an array containing the names of any parameters defined as part of this link's URL.
 java.lang.String[] getParameterValues(java.lang.String name)
          Returns the multiple default values of the named parameter.
 WebRequest getRequest()
          Creates and returns a web request which will simulate clicking on this link.
 java.lang.String getText()
          Returns the text value of this link.
 java.lang.String getURLString()
          Returns the URL referenced by this link.
 void mouseOver()
          Simulates moving the mouse over the link.
 ScriptableDelegate newScriptable()
           
 void recordParameters(com.meterware.httpunit.protocol.ParameterProcessor processor)
          Iterates through the parameters in this holder, recording them in the supplied parameter processor.
protected  void setDestination(java.lang.String destination)
           
 
Methods inherited from class com.meterware.httpunit.WebRequestSource
doEvent, doEventScript, getAttribute, getBaseResponse, getBaseURL, getClassName, getCurrentFrameContents, getDestination, getDOMSubtree, getElement, getFragmentIdentifier, getFrame, getHTMLPage, getID, getName, getNode, getPageFrame, getParentDelegate, getRelativeURL, getScriptingHandler, getTagName, getTarget, getTitle, handleEvent, isSupportedAttribute, loadDestinationParameters, removeAttribute, setAttribute, setTargetAttribute, submitRequest, submitRequest
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

MATCH_URL_STRING

public static final HTMLElementPredicate MATCH_URL_STRING
Predicate to match part or all of a link's URL string.


MATCH_TEXT

public static final HTMLElementPredicate MATCH_TEXT
Predicate to match a link's text exactly.


MATCH_CONTAINED_TEXT

public static final HTMLElementPredicate MATCH_CONTAINED_TEXT
Predicate to match part or all of a link's contained text.


MATCH_ID

public static final HTMLElementPredicate MATCH_ID
Predicate to match a link's ID.


MATCH_NAME

public static final HTMLElementPredicate MATCH_NAME
Predicate to match a link's name.

Method Detail

getURLString

public java.lang.String getURLString()
Returns the URL referenced by this link. This may be a relative URL. It will not include any fragment identifier.


getText

public java.lang.String getText()
Returns the text value of this link.

Specified by:
getText in interface HTMLElement
Overrides:
getText in class WebRequestSource
Since:
1.6

asText

public java.lang.String asText()
Deprecated. as of 1.6, use #getText instead

Returns the text value of this link.


click

public WebResponse click()
                  throws java.io.IOException,
                         org.xml.sax.SAXException
Submits a request as though the user had clicked on this link. Will also fire the 'onClick', 'onMouseDown' and 'onMouseUp' event if defined. Returns the updated contents of the frame containing the link. Note that if the click updates a different frame, that frame will not be returned by this method.

Throws:
java.io.IOException
org.xml.sax.SAXException

mouseOver

public void mouseOver()
Simulates moving the mouse over the link. Will fire the 'onMouseOver' event if defined.


newScriptable

public ScriptableDelegate newScriptable()

getRequest

public WebRequest getRequest()
Creates and returns a web request which will simulate clicking on this link.

Specified by:
getRequest in class WebRequestSource

getParameterNames

public java.lang.String[] getParameterNames()
Returns an array containing the names of any parameters defined as part of this link's URL.

Specified by:
getParameterNames in class WebRequestSource

getParameterValues

public java.lang.String[] getParameterValues(java.lang.String name)
Returns the multiple default values of the named parameter.

Specified by:
getParameterValues in class WebRequestSource

addPresetParameter

protected void addPresetParameter(java.lang.String name,
                                  java.lang.String value)
Description copied from class: WebRequestSource
Records a parameter defined by including it in the destination URL. The value can be null, if the parameter name was not specified with an equals sign.

Specified by:
addPresetParameter in class WebRequestSource

getEmptyParameterValue

protected java.lang.String getEmptyParameterValue()
Specified by:
getEmptyParameterValue in class WebRequestSource

setDestination

protected void setDestination(java.lang.String destination)
Overrides:
setDestination in class WebRequestSource

recordParameters

public void recordParameters(com.meterware.httpunit.protocol.ParameterProcessor processor)
                      throws java.io.IOException
Iterates through the parameters in this holder, recording them in the supplied parameter processor.

Throws:
java.io.IOException

Copyright © 2000-2008 Russell Gold. See license agreement for rights granted.