Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to type into input field with WicketTester?

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().)

like image 736
Jonik Avatar asked Oct 26 '10 08:10

Jonik


1 Answers

Use FormTester:

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

Reference:

  • FormTester javadoc
  • Testing Pages (Wicket wiki, somewhat outdated but still relevant)
like image 67
Sean Patrick Floyd Avatar answered Nov 18 '22 10:11

Sean Patrick Floyd