6

I'm writing a unit test for a Wicket WebPage. I want to fire up a page, type into a field, click a link, and then make some assertions.

Looking at the API of WicketTester and BaseWicketTester, I couldn't find any method that takes a path (like "form:input") to locate an input field and lets you enter text in it.

// set up WicketTester; create page
tester.startPage(page);
tester. // Type into input field - how to do this?
tester.clickLink("form:continueButton");
// assert something

Did I miss something? This seems like a pretty basic use case. Are you not supposed to use WicketTester like this? (That would be surprising given the presence of methods like clickLink().)

mark-cs
  • 4,677
  • 24
  • 32
Jonik
  • 80,077
  • 70
  • 264
  • 372

1 Answers1

9

Use FormTester:

FormTester formTester = tester.newFormTester("form");
formTester.setValue("myformfield", "Hello Sailor");

Reference:

marvin82
  • 216
  • 3
  • 11
Sean Patrick Floyd
  • 292,901
  • 67
  • 465
  • 588