Capybara:测试何时禁用 cookie、localStorage 和 sessionStorage

Posted

技术标签:

【中文标题】Capybara:测试何时禁用 cookie、localStorage 和 sessionStorage【英文标题】:Capybara: testing when cookies, localStorage, and sessionStorage are disabled 【发布时间】:2013-11-10 20:59:35 【问题描述】:

在请求浏览器中禁用以下全部或部分功能的情况下,需要帮助找到编写测试的方法:

cookies 本地存储 会话存储

我查看了 capybara-webkit 和 poltergeist (PhantomJS),但似乎都不允许使用此功能。

【问题讨论】:

【参考方案1】:

至于通过测试套件中的 poltergeist 禁用 phantomjs 中的 cookie:

poltergeist-1.5.1/lib/capybara/poltergeist/browser.rb 第 243 行

包含一个方便的方法,您可以像这样使用:

page.driver.browser.cookies_enabled= false

然后,您可以访问一个检查 cookie 的页面,并确认您的应用向用户请求 cookie 的方法是否有效。我也能够在稍后的测试中重新打开 cookie,并确认我的应用程序工作流程的恢复部分。无需重新启动。

page.driver.browser.cookies_enabled= true

【讨论】:

以上是关于Capybara:测试何时禁用 cookie、localStorage 和 sessionStorage的主要内容,如果未能解决你的问题,请参考以下文章

在 capybara-webkit 中禁用声音

资产预编译后,RSpec / Capybara测试不会通过

如何在浏览器中使用黄瓜水豚获取cookie

使用 Quilljs 和 capybara-webkit 进行 Capybara 测试

如何在测试之间重复使用 Capybara 会话?

如何使用 Capybara 测试 OPTIONS 请求?