【发布时间】:2010-11-10 17:00:46
【问题描述】:
是否可以专门使用 selenium、RC 禁用浏览器 cookie?如果是这样,实现这一点的 api 调用或调用序列是什么。有一项功能正在测试中,需要验证启用或禁用 cookie 时的行为。谢谢
【问题讨论】:
标签: java browser cookies junit selenium
是否可以专门使用 selenium、RC 禁用浏览器 cookie?如果是这样,实现这一点的 api 调用或调用序列是什么。有一项功能正在测试中,需要验证启用或禁用 cookie 时的行为。谢谢
【问题讨论】:
标签: java browser cookies junit selenium
如果在 Selenium 2.x 上,仅使用默认配置文件有一种更简单的方法。
FirefoxProfile profile=new FirefoxProfile();
profile.setPreference("network.cookie.cookieBehavior",2);
【讨论】:
如评论中所述。如果您使用的是 FF,则可以指定要使用的配置文件。
这样做的方法是将 browserStartCommand(DefaultSelenium 构造函数的第三个参数)指定为类似于:
*custom "C:/Program Files/Mozilla Firefox/firefox.exe" -no-remote -profile "C:/Some/Path/To/Mozilla/Firefox/Profiles/selenium"
您可以禁用此配置文件。
【讨论】:
如果您打算使用 Firefox,有一个特定的命令可以访问 firefox 模板。你用
-firefoxProfileTemplate "path to the profile"
如here 所述。我会使用不同的配置文件来打开和关闭 cookie,因为这样你可以更好地控制它。
【讨论】:
另一个想法(我没有尝试过)是在 Selenium RC 客户端和测试的 Web 应用程序之间使用一个特殊的代理。当被要求时,代理将能够过滤 cookie。
有一些代理实现旨在用于开发、调试和跟踪角色。我很确定您可以找到具有阻止 cookie 功能的产品。
编辑: 此解决方案的优点是独立于浏览器。
【讨论】: