【问题标题】:Two form submissions in the same packet同一个数据包中的两个表单提交
【发布时间】:2012-06-20 15:43:52
【问题描述】:

我的测试中有以下代码:

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。

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

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

我很困惑。我用错了工具吗?或者这是一个错误?

【问题讨论】:

    标签: java http-unit


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2016-12-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-26
      • 2015-06-13
      • 1970-01-01
      • 2010-10-07
      • 2014-05-15
      相关资源
      最近更新 更多