Wicket 如何测试ajax表单?用FormTester?

Wicket 如何测试ajax表单?用FormTester?,wicket,Wicket,我有一个ajax表单,看起来像 Form<Void>form=new Form<Void>("form"); add(form); name=new TextField<String>("name"); form.add(name); age=new TextField<Integer>("age"); form.add(age); submit=new AjaxButton("submit") { @Override protec

我有一个ajax表单,看起来像

Form<Void>form=new Form<Void>("form");
add(form);
name=new TextField<String>("name");
form.add(name);
age=new TextField<Integer>("age");
form.add(age);
submit=new AjaxButton("submit") {
    @Override
    protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
        result.setDefaultModelObject(s);
        target.add(result);
    }
};
form.add(submit);
Formform=新表格(“表格”);
添加(表格);
名称=新文本字段(“名称”);
表格.加入(姓名);
年龄=新文本字段(“年龄”);
表格.加入(年龄);
提交=新建AjaxButton(“提交”){
@凌驾
提交时受保护的void(AjaxRequestTarget目标,表单){
result.setDefaultModelObject;
目标。添加(结果);
}
};
添加(提交)表格;

如何使用
FormTester
,或者以其他方式测试这样的表单?

只要使用FormTester,它将负责模拟Ajax请求:

formTester.submit(button);

的确,我可以使用FormTester,但我必须这样做

wicketTester.executeAjaxEvent("form:submit", "click");
而不是

formTester.submit();
另外,由于FormTester将
.setValue()
中给定的值放入post参数中,因此我们可以让BaseWicketTester.serializeFormRequest也这样做,因此我们不需要FormTester:

wicketTester.getComponentFromLastRenderedPage("form:name").setDefaultModelObject("foo");
wicketTester.getComponentFromLastRenderedPage("form:age").setDefaultModelObject("7");
wicketTester.executeAjaxEvent("form:ajx", "click");