Selenium具有deleteallvisiblecookies构造,当测试在同一域中运行时,该构造会删除所有cookie。
对于调用访问控制的产品,例如通常,URL被Access Manager产品捕获,并且用户被重定向到其他域以登录,然后在登录成功后被重定向回原始URL,这似乎不起作用
根据Selenese文档:
要删除Cookie,您需要删除
它使用完全相同的路径,
用于创建
曲奇饼。如果路径错误,或者
域是错误的,cookie只是
不会被删除。
在这种多域环境中,我似乎无法删除所有cookie。
我们使用Java和Selenium RC来运行这些测试-通常使用Firefox,但使用某些IE。
有没有人得到一些Java代码示例或一些我可以用来解决此问题的建议?
最佳答案
我认为你不能。 Selenium RC的Java部分仅使用它生成的JavaScript来控制浏览器。一切都在浏览器中执行,因此适用通常的跨域规则。
我唯一能想到的就是制作一些代理页面,该页面看起来像是来自访问管理器域,并删除了它的cookie。 Selenium RC已经包含了一个代理(即它的工作方式),也许有一种方法可以向代理域中添加一些伪造的页面。