2014-05-06 68 views
0

我正在使用capybara與水豚-webkit進行測試,但我需要設置一些特定的cookie。如何在水豚中設置cookie與水豚 - webkit

我很困惑它的文檔和源代碼。

我發現這裏的方法https://github.com/thoughtbot/capybara-webkit/blob/e6e2351a15cabf620152eb938e5cacb514fe1529/lib/capybara/webkit/browser.rb#L177

但我真的不知道我應該用什麼樣的格式在這種方法中,「餅乾」 PARAM。

如果我有這樣的JSON一個cookie:

[ 
    { 
     "domain": ".github.com", 
     "expirationDate": 1453495731, 
     "hostOnly": false, 
     "httpOnly": false, 
     "name": "__utma", 
     "path": "/", 
     "secure": false, 
     "session": false, 
     "storeId": "0", 
     "value": "58162108.1841781874.1390418256.1390423639.1390423639.1", 
     "id": 1 
    }, 
    { 
     "domain": ".github.com", 
     "expirationDate": 1406191731, 
     "hostOnly": false, 
     "httpOnly": false, 
     "name": "__utmz", 
     "path": "/", 
     "secure": false, 
     "session": false, 
     "storeId": "0", 
     "value": "58162108.1390423639.1.1.utmcsr=developer.github.com|utmccn=(referral)|utmcmd=referral|utmcct=/", 
     "id": 3 
    }, 
    ... ... 
] 

如何修改上面的成水豚,WebKit的正確接受字符串格式?任何人都可以給我一個例子嗎?

回答

3

set_cookie方法預計Cookie標頭的有效值由RFC 2109指定。

最簡單的值是cookie_name=cookie_value。您可以使用像cookie_name=value; domain=example.com; path=/這樣的字符串添加其他屬性。

+0

感謝您的回答!但標準說你可以設置一個cookie列表,後面跟一個逗號。似乎你一次只能用'set_cookie'來做一個,對嗎? –

+0

你實際上應該可以設置多個。在引擎蓋下,這使用['QNetworkCookie :: parseCookies'](http://qt-project.org/doc/qt-5/qnetworkcookie.html#parseCookies)。 –