Java HttpUnit无法使用websphere 8.5.5保留cookie

Java HttpUnit无法使用websphere 8.5.5保留cookie,java,websphere,Java,Websphere,我有基于HttpUnit版本1.7的自动化web单元测试用例,当我针对部署在websphere 7中的应用程序运行时,它们运行良好,但是在websphere升级到版本8.5.5后,cookie信息似乎没有得到保留,当我使用HttpUnit运行测试时,测试失败,但使用浏览器测试运行良好 在WebSphere7和Http单元中 **在WebSphere8.5.5和Http单元中** User-Agent >httpunit/1.5< Accept-Encoding >gzip

我有基于HttpUnit版本1.7的自动化web单元测试用例,当我针对部署在websphere 7中的应用程序运行时,它们运行良好,但是在websphere升级到版本8.5.5后,cookie信息似乎没有得到保留,当我使用HttpUnit运行测试时,测试失败,但使用浏览器测试运行良好

在WebSphere7和Http单元中

**在WebSphere8.5.5和Http单元中**

  User-Agent >httpunit/1.5<
 Accept-Encoding >gzip<
 Header: Referer >http://<server>:9191/mas/control/cp/ST_SelaaTarvikkeita?uid=10000030<
 Header: Cache-Control >no-cache<
 Header: Pragma >no-cache<
 Header: Host >localhost:9191<
 Header: Accept >text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2<
 Header: Connection >keep-alive< 
**带浏览器的websphere 8.5.5**

 Header: Accept >application/x-ms-application, image/jpeg, application/xaml+xml,   image/gif, image/pjpeg, application/x-ms-xbap, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*<
   Header: Referer >http://<server>:9191/mas/control/cp/ST_SelaaTarvikkeita?uid=10000030<
   Header: Accept-Language >fi-FI<
   Header: User-Agent >Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET4.0C; .NET4.0E)<
   Header: Accept-Encoding >gzip, deflate<
Header: Host >localhost:9191<
    Header: Connection >Keep-Alive<
    Header: Cookie >JSESSIONID=0000TWDUPWXRyI3zl8asa-CAkjG:-1; sessionCode=0;  LtpaToken2=SYmGb0YAKG2NJzc80oJQ9OkNrV0MWLnS3Z3h<

您是否尝试过从域管理器管理控制台查看会话cookie设置:


要查看此内容,请单击服务器>服务器类型>WebSphere应用程序服务器>服务器名称>会话管理>启用Cookie

我想我已经找到了解决方案。。也是,cookie设置已从服务器启用ok

根据Cookie规范,可以指定路径来限制其Cookie的范围。。不幸的是,有些服务器可能不遵守规范。默认情况下,HttpUnit对实现规范非常严格,并且会拒绝此类cookie。正如我前面所做的那样,这个行为可以由类CookieProperties类控制

因此设置CookieProperties.SetPathMatchingStritFalse;指定是否必须遵循严格的路径名匹配


解决问题。

Hm。。我需要测试如何为域设置cookie。我已将严格选项设置为false,但不幸的是,它不起作用。我看到SET-COOKIE头,它和我的COOKIE一起来自服务器,但COOKIE丢失了。我添加了CookieListener,并看到cookie被拒绝,带有:/**表示域属性不是发出cookie的源域的后缀。**/公共最终静态整型域\非\源\后缀=3;
 Header: Accept >application/x-ms-application, image/jpeg, application/xaml+xml,   image/gif, image/pjpeg, application/x-ms-xbap, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*<
   Header: Referer >http://<server>:9191/mas/control/cp/ST_SelaaTarvikkeita?uid=10000030<
   Header: Accept-Language >fi-FI<
   Header: User-Agent >Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET4.0C; .NET4.0E)<
   Header: Accept-Encoding >gzip, deflate<
Header: Host >localhost:9191<
    Header: Connection >Keep-Alive<
    Header: Cookie >JSESSIONID=0000TWDUPWXRyI3zl8asa-CAkjG:-1; sessionCode=0;  LtpaToken2=SYmGb0YAKG2NJzc80oJQ9OkNrV0MWLnS3Z3h<