如果链接具有相同的wicket:id,如何通过WicketTester ClickLink?

时间:2011-09-14 01:48:03

标签: java html junit wicket

在Wicket页面上,我通过以下方式生成带图像的链接:

@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);
    ...

渲染的html会产生一系列

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

元素。

现在,如何在第二个上使用WicketTester进行ClickLink?他们都有相同的检票口:id。

1 个答案:

答案 0 :(得分:8)

您提供以冒号分隔的组件的完整路径:

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

第一部分是列表视图组件ID,第二部分是您要选择的项目编号,第三部分是您要单击的链接。因此,如果您要单击列表中第99项中的链接,您将使用:

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