黄瓜/水豚/硒-设置饼干



对于我的测试用例,我尝试用以下方法设置cookie,但它没有得到设置

1)browser = Capybara.current_session.driver.browser
  browser.manage.add_cookie :name => "xxx", :value => "cookie"
2)driver = Capybara.current_session.driver
  br = driver.browser.send(:bridge)
  br.addCookie({
    'name'    => "xxx",
    'domain'  => "localhost",
    'value'   => "cookie",
    'path'    => '/',
    'expires' => (Time.now + 100.years).to_i
  })

如果我错过了什么,请告诉我,或者我必须以其他方式做

Capybara必须首先访问您正在测试的网站。这是一个必要的步骤,然后你可以设置任何cookie。

如此:

visit '/'
browser = Capybara.current_session.driver.browser
browser.manage.add_cookie name: "name", value: "value"

为了获得最佳性能,要么只运行此步骤一次,要么查看cookie是否已经设置。下面是设置cookieconsent cookie的实际代码,它绕过了cookie墙。

browser = page.driver.browser
unless browser.manage.cookie_named("cookieconsent")
  visit '/'
  browser.manage.add_cookie name: "cookieconsent", value: "dismiss"
end

我使用page.driver来获得驱动程序。这和Capybara.current_session.driver是一样的

最新更新