Canoo Webtest WebTest Canoo

Core Step clickLink


This step tries to locate a link (like <a href='thisIsAnotherPage.html'>Follow me</a>) and to click on it. The page where this click leads to will be the current one for further actions.

The different ways to locate a link are applied in this sequence:

If htmlid is set: the link with the given id is used (and the step fails if no link is found with this id)
Else the first link containing the specified label (if specified) and href (if specified) is used
If not found, the first link containing an image (IMG) tag with label as the ALT attribute is used ( href is ignored)


Required? no
The description of this test step.
Required? yes/no
A substring of the HTML anchor tag's HREF attribute for the link of interest. Useful if (part of the href) uniquely identifies a link (for example, a unique parameter/value pair in the href). Also, useful for distinguisking between links with the same labels (in which case, use label and href combined). Either label, href or htmlId is required. Href has the lowest precedence.
Required? yes/no
The htmlId of the element to click. One of 'label', 'htmlid' or 'xpath' must be set.
Required? yes/no
The label of the element to click. One of 'label', 'htmlid' or 'xpath' must be set.
Required? no
A password that can be provided for pages that require basic authentication. Required if username is specified.
Required? no
A shorthand: save='prefixName' is the same as savePrefix='prefixName' saveResponse='true'.
Required? no, default is the 'savePrefix' parameter as specified in <config>.
A name prefix can be specified for making a permanent copy of received responses. A unique number and the file extension (depending on the MIME-Type) will be appended. The resultpath attribute of the <config> element is used for determining the location of the saved result.
Required? no
Whether to make a permanent copy of received responses. Overrides the default value set in the <config> element.
Required? no
A username that can be provided for pages that require basic authentication. Typically only needed on the first step of any webtest accessing a secure site. Required if password is specified.
Required? yes/no
The xpath of the element to click. One of 'label', 'htmlid' or 'xpath' must be set.

Inline Text

The inline text is all the text between the start tag ( <clickLink> ) and the end tag ( </clickLink> ), including blanks, tabs or newlines. Using a pair of start/end tags ( <clickLink> </clickLink> ) has not the same behavior than the seemingly equivalent empty element tag ( <clickLink/> )! See this issue for an example.

Required? no
Alternative way to set the 'label' attribute.


<webtest name="Visit all pages without update">
  <config ... />
    <clickLink description="Follow the link to the next page"
      label="Next Page"


Latest build: development
Posted: 19-Jul-2016 17:36

WebTest 3.0 released, featuring upgrades to Java 5, Groovy 1.6, and HtmlUnit 2.4.
The release includes support for maven integration, IDE-integration like for unit tests, capturing of background JavaScript errors, new steps for mouseOver and mouseOut events, better parallel execution of tests and - as usual - lots of handling improvements.
Posted: 5 March 2009

WebTest @ JavaOne
Dierk König presented "Functional testing of web applications: scaling with Java" on Wed May 7, 13:30 at JavaOne 2008 in the Tools and Scripting Languages track.
Posted: 8 May 2008

New WebTest screencast available:
Data Driven WebTest
Posted: 13 November 2007

First WebTest screencast available:
Creating a first Webtest Project

Extend WebTest with Groovy! Groovy in Action is available in every good bookstore.
Groovy in Action
Posted: 29 January 2007