簡體   English   中英

Cucumber / Capybara / Selenium - 設置餅干

[英]Cucumber/Capybara/Selenium - Setting the cookies

對於我的測試用例,我嘗試使用以下方式設置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繞過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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM