1

テストに次のコードがあります。

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 への最初の呼び出しはフォームを返す必要があります。次に、パラメーターを変更し、フォームを送信元と同じサーブレットに送信します。

コントローラーのデバッグは、2 つのセッション ID でフォーム データを 2 回取得していることを示しています。2 番目は私の webConversation と一致するセッション ID であり、最初の ID が実際にその人をログインさせるため、常に失敗します。

これは、現時点で私のテストで唯一の form.submit() です。

私は当惑しています。ツールの使い方が間違っていませんか?それともこれはバグですか?

4

1 に答える 1

0

このような問題は、この古いプロジェクトでは正常に見えるため、html ユニットに切り替えることになりました。

于 2012-10-16T11:31:29.790 に答える