maverick
maverick

Reputation: 3002

How to ClickLink through WicketTester when links have the same wicket:id?

On a Wicket page, I produce links with images via the following:

@Override
protected void populateItem(ListItem<Club> item) 
{
    ...
    Image joinButton = new Image("joinButton", joinResource);
    BookmarkablePageLink<PageClubJoin> joinLink = 
        new BookmarkablePageLink<PageClubJoin>("joinLink", PageClubJoin.class);
    joinLink.setParameter("club", item.getModelObject().getId());
    joinLink.add(joinButton);
    item.add(joinLink);
    ...

The rendered html produces a series of

<a wicket:id="joinLink" ... />

elements.

Now, how do I use WicketTester to ClickLink on, say, the second one? They all have the same wicket:id.

Upvotes: 3

Views: 2291

Answers (1)

Martijn Dashorst
Martijn Dashorst

Reputation: 3692

You provide the full path to the component separated by colons:

tester.clickLink("listView:0:joinLink");

The first part is the list view component ID, the second the number of the item you want to select and the third part the link that you want to click. So if you want to click the link in the 99nth item in the list you would use:

tester.clickLink("listView:99:joinLink");

Upvotes: 8

Related Questions