在同一个数据包中有两个表单提交

时间:2012-06-20 15:43:53

标签: java http-unit

我的测试中有以下代码:

WebResponse response = webConversation.getResponse(loginUrl);
System.err.println("Session ID:" + webConversation.getCookieValue("JSESSIONID"));
WebForm form = response.getFormWithID(loginFormId);
for(String parmName: form.getParameterNames()){
  if(loginDayName.equals(parmName)){
    form.setParameter(parmName, day);
  }
  else if(loginMonthName.equals(parmName)){
    form.setParameter(parmName, month);
  }
  else if(loginYearName.equals(parmName)){
    form.setParameter(parmName, year);
  }
  else if(loginPersonIdName.equals(parmName)){
    form.setParameter(parmName, person.getPersonId());
  }
}

response = form.submit();
System.err.println(response.getText());

因此,首次调用登录URL应该返回表单。然后我更改参数并将表单提交回来自同一个servlet。

Controller中的调试表明我使用两个会话ID获取表单数据两次。第二个是与我的webConversation匹配的会话ID,并且总是失败,因为第一个实际上记录了该人。

这是我目前测试中唯一的form.submit()。

我很神秘。我使用该工具错了吗?或者这是一个错误吗?

1 个答案:

答案 0 :(得分:0)

我最终切换到html单元,因为这样的问题似乎对这个旧项目来说是正常的。