Cookies HTMLUnit在登录后不会读取除JESSIONID之外的任何cookie

Cookies HTMLUnit在登录后不会读取除JESSIONID之外的任何cookie,cookies,htmlunit,missing-cookies,Cookies,Htmlunit,Missing Cookies,成功登录后,我的应用程序将cookie“XYZ”添加到响应中。此cookie确定应用程序登录后的特定行为 我使用shiro FormAuthenticationFilter,这就是添加cookie的方式 @Override public boolean onLoginSuccess(AuthenticationToken token, Subject subject, ServletRequest request, ServletResponse response) throws

成功登录后,我的应用程序将cookie“XYZ”添加到响应中。此cookie确定应用程序登录后的特定行为

我使用shiro FormAuthenticationFilter,这就是添加cookie的方式

@Override
public boolean onLoginSuccess(AuthenticationToken token, Subject subject, ServletRequest     
   request, ServletResponse response) throws Exception {
       Cookie cookie = new Cookie('XYZ', '123');
       cookie.setPath("/");
       cookie.setMaxAge(-1);
       response.addCookie(cookie);
}
使用HTMLUnit断言此行为的功能测试失败,因为此cookie设置不正确。当我在Chrome中使用这个应用程序时,它工作得非常好。调试HTMLUnit测试证明,在成功登录以下方法后

driver.manage.getCookies() 
仅返回JESSIONID cookie,而不返回应用程序设置的附加cookie“XYZ”

注意:如果我在除post登录之外的任何页面上设置此cookie,htmlunit会将其选中


想一想吗?

很难猜测为什么除了post登录之外的任何页面上都有东西,但登录本身却没有,这只是另一个页面。特别是如果您没有提供任何代码

显而易见的非代码答案是:登录正在做一些与页面其余部分不同的事情。找到它是什么并修复它


运用我的想象力,仅仅提到这里可能发生的一百件事情中的一件,我敢打赌问题在于,您正在根据未正确执行或接收的AJAX调用设置cookie。

我添加了将cookie放在登录后响应上的代码