Cookies do not return expiration dates
minusnine opened this issue · 6 comments
I'm working on improving Selenium3+Firefox support for a Go-based WebDriver implementation:
https://github.com/tebeka/selenium/tree/topic/geckodriver
There are a number of issues that I've found that appear to be a regression from Selenium 2's interaction with older versions of Firefox.
This one is that cookies returned from either the "Get All Cookies" or "Get Named Cookies" do not include the expiration date in the response. A full transcript is below.
In summary, a cookie added with:
2017/02/10 16:39:44 -> POST http://127.0.0.1:57328/wd/hub/session/9ab73cfa-134b-40af-b30e-043d4b767188/cookie
{"cookie":{"name":"the nameless cookie","value":"I have nothing","path":"","domain":"","secure":false,"expiry":4094967295}}
16:39:44.982 INFO - Executing: [add cookie: the nameless cookie=I have nothing; expires=Tue, 06 Oct 2099 10:54:55 UTC; path=/; domain=])
16:39:44.997 INFO - Done: [add cookie: the nameless cookie=I have nothing; expires=Tue, 06 Oct 2099 10:54:55 UTC; path=/; domain=]
2017/02/10 16:39:44 <- 200 OK [[application/json; charset=utf-8]]
{
"state": "success",
"sessionId": "9ab73cfa-134b-40af-b30e-043d4b767188",
"hCode": 350981049,
"value": null,
"class": "org.openqa.selenium.remote.Response",
"status": 0
}
does not have the expiry date in the response to "Get Named Cookie" (and "Get All Cookies", but that is not shown here):
2017/02/10 16:39:44 -> GET http://127.0.0.1:57328/wd/hub/session/9ab73cfa-134b-40af-b30e-043d4b767188/cookie/the nameless cookie
16:39:45.006 INFO - Executing: [get cookie named the nameless cookie])
16:39:45.021 INFO - Done: [get cookie named the nameless cookie]
2017/02/10 16:39:45 <- 200 OK [[application/json; charset=utf-8]]
{
"state": "success",
"sessionId": "9ab73cfa-134b-40af-b30e-043d4b767188",
"hCode": 1993366015,
"value": {
"path": "/",
"domain": "127.0.0.1",
"name": "the nameless cookie",
"httpOnly": false,
"hCode": -1672802895,
"secure": false,
"value": "I have nothing",
"class": "org.openqa.selenium.Cookie"
},
"class": "org.openqa.selenium.remote.Response",
"status": 0
}
Firefox Version
Mozilla Firefox 54.0a1 (the latest nightly build)
Platform
Linux
Steps to reproduce -
The following assumes a working Go installation on Linux.
$ go get -u github.com/tebeka/selenium
$ cd ${GOPATH?}/src/github.com/tebeka/selenium
$ git checkout origin/topic/geckodriver
$ cd vendor
# The following downloads Firefox, Geckodriver, and Selenium, among others.
$ go run init.go
$ cd ..
$ go test --test.run=TestFirefoxSelenium3/AddCookie --firefox_binary vendor/firefox/firefox --test.v
The above test will produce the output copied below.
Minimal HTML file
The minimal HTML file is a an empty page, since this is a cookie-related issue.
Log
16:15:34.381 INFO - Selenium build info: version: '3.0.1', revision: '1969d75'
16:15:34.384 INFO - Launching a standalone Selenium Server
2017-02-10 16:15:34.502:INFO::main: Logging initialized @2121ms
16:15:34.689 INFO - Driver provider org.openqa.selenium.ie.InternetExplorerDriver registration is skipped:
registration capabilities Capabilities [{ensureCleanSession=true, browserName=internet explorer, version=, platform=WINDOWS}] does not match the current platf
orm LINUX
16:15:34.689 INFO - Driver provider org.openqa.selenium.edge.EdgeDriver registration is skipped:
registration capabilities Capabilities [{browserName=MicrosoftEdge, version=, platform=WINDOWS}] does not match the current platform LINUX
16:15:34.689 INFO - Driver class not found: com.opera.core.systems.OperaDriver
16:15:34.690 INFO - Driver provider com.opera.core.systems.OperaDriver registration is skipped:
Unable to create new instances on this machine.
16:15:34.690 INFO - Driver class not found: com.opera.core.systems.OperaDriver
16:15:34.690 INFO - Driver provider com.opera.core.systems.OperaDriver is not registered
16:15:34.691 INFO - Driver provider org.openqa.selenium.safari.SafariDriver registration is skipped:
registration capabilities Capabilities [{browserName=safari, version=, platform=MAC}] does not match the current platform LINUX
2017-02-10 16:15:34.911:INFO:osjs.Server:main: jetty-9.2.15.v20160210
2017-02-10 16:15:34.978:INFO:osjsh.ContextHandler:main: Started o.s.j.s.ServletContextHandler@6d00a15d{/,null,AVAILABLE}
2017-02-10 16:15:35.080:INFO:osjs.ServerConnector:main: Started ServerConnector@28d8beaa{HTTP/1.1}{0.0.0.0:48844}
2017-02-10 16:15:35.081:INFO:osjs.Server:main: Started @2700ms
16:15:35.081 INFO - Selenium Server is up and running
...
2017/02/10 16:18:01 -> POST http://127.0.0.1:55534/wd/hub/session
{"desiredCapabilities":{"browserName":"firefox","mox:firefoxOptions":{"binary":"vendor/firefox/firefox","log":{"level":"trace"}}}}
16:18:01.162 INFO - Executing: [new session: Capabilities [{mox:firefoxOptions={log={level=trace}, binary=vendor/firefox/firefox}, browserName=firefox}]])
16:18:01.188 INFO - Creating a new session for Capabilities [{mox:firefoxOptions={log={level=trace}, binary=vendor/firefox/firefox}, browserName=firefox}]
1486743481552 geckodriver INFO Listening on 127.0.0.1:27417
16:18:01.614 INFO - Attempting bi-dialect session, assuming Postel's Law holds true on the remote end
1486743481663 mozprofile::profile INFO Using profile path /tmp/rust_mozprofile.65blUMYcEf1d
1486743481664 geckodriver::marionette INFO Starting browser /usr/bin/firefox
1486743481669 geckodriver::marionette INFO Connecting to Marionette on localhost:40105
(firefox:16547): GLib-GObject-CRITICAL **: g_object_ref: assertion 'object->ref_count > 0' failed
(firefox:16547): GLib-GObject-CRITICAL **: g_object_unref: assertion 'object->ref_count > 0' failed
(firefox:16547): GLib-GObject-CRITICAL **: g_object_ref: assertion 'object->ref_count > 0' failed
(firefox:16547): GLib-GObject-CRITICAL **: g_object_unref: assertion 'object->ref_count > 0' failed
1486743481972 addons.manager DEBUG Application has been upgraded
1486743481998 addons.manager DEBUG Loaded provider scope for resource://gre/modules/addons/XPIProvider.jsm: ["XPIProvider"]
1486743482002 addons.manager DEBUG Loaded provider scope for resource://gre/modules/LightweightThemeManager.jsm: ["LightweightThemeManager"]
1486743482010 addons.manager DEBUG Loaded provider scope for resource://gre/modules/addons/GMPProvider.jsm
1486743482015 addons.manager DEBUG Loaded provider scope for resource://gre/modules/addons/PluginProvider.jsm
1486743482018 addons.manager DEBUG Starting provider: XPIProvider
1486743482019 addons.xpi DEBUG startup
1486743482021 addons.xpi INFO SystemAddonInstallLocation directory is missing
1486743482024 addons.xpi INFO Mapping firefox@getpocket.com to /usr/lib/firefox/browser/features/firefox@getpocket.com.xpi
1486743482025 addons.xpi INFO Mapping webcompat@mozilla.org to /usr/lib/firefox/browser/features/webcompat@mozilla.org.xpi
1486743482027 addons.xpi INFO Mapping e10srollout@mozilla.org to /usr/lib/firefox/browser/features/e10srollout@mozilla.org.xpi
1486743482029 addons.xpi INFO Mapping aushelper@mozilla.org to /usr/lib/firefox/browser/features/aushelper@mozilla.org.xpi
1486743482030 addons.xpi INFO Mapping {972ce4c6-7e08-4474-a285-3208198ce6fd} to /usr/lib/firefox/browser/extensions/{972ce4c6-7e08-4474-a285-3208198c
e6fd}.xpi
1486743482033 addons.xpi DEBUG checkForChanges
1486743482035 addons.xpi DEBUG Loaded add-on state from prefs: {}
1486743482037 addons.xpi DEBUG New add-on firefox@getpocket.com in app-system-defaults
1486743482040 addons.xpi DEBUG getModTime: Recursive scan of firefox@getpocket.com
1486743482042 addons.xpi DEBUG New add-on webcompat@mozilla.org in app-system-defaults
1486743482043 addons.xpi DEBUG getModTime: Recursive scan of webcompat@mozilla.org
1486743482045 addons.xpi DEBUG New add-on e10srollout@mozilla.org in app-system-defaults
1486743482047 addons.xpi DEBUG getModTime: Recursive scan of e10srollout@mozilla.org
1486743482049 addons.xpi DEBUG New add-on aushelper@mozilla.org in app-system-defaults
1486743482050 addons.xpi DEBUG getModTime: Recursive scan of aushelper@mozilla.org
1486743482052 addons.xpi DEBUG New add-on {972ce4c6-7e08-4474-a285-3208198ce6fd} in app-global
1486743482054 addons.xpi DEBUG getModTime: Recursive scan of {972ce4c6-7e08-4474-a285-3208198ce6fd}
1486743482178 addons.xpi DEBUG Loading bootstrap scope from /usr/lib/firefox/browser/features/aushelper@mozilla.org.xpi [138/12369]
1486743482182 addons.xpi DEBUG Calling bootstrap method install on aushelper@mozilla.org version 1.0
1486743482184 addons.xpi-utils DEBUG Make addon app-system-defaults:aushelper@mozilla.org visible
1486743482184 DeferredSave.extensions.json DEBUG Save changes
1486743482185 addons.xpi-utils DEBUG Make addon app-global:{972ce4c6-7e08-4474-a285-3208198ce6fd} visible
1486743482185 DeferredSave.extensions.json DEBUG Save changes
1486743482186 addons.xpi DEBUG Updating XPIState for {"id":"firefox@getpocket.com","syncGUID":"{c3d1b83a-025f-4a81-9557-6a8961583101}","location":"app
-system-defaults","version":"1.0.5","type":"extension","internalName":null,"updateURL":null,"updateKey":null,"optionsURL":null,"optionsType":null,"aboutURL":nu
ll,"icons":{},"iconURL":null,"icon64URL":null,"defaultLocale":{"name":"Pocket","description":"When you find something you want to view later, put it in Pocket.
","creator":null,"homepageURL":null},"visible":true,"active":true,"userDisabled":false,"appDisabled":false,"descriptor":"/usr/lib/firefox/browser/features/fire
fox@getpocket.com.xpi","installDate":1485321207000,"updateDate":1485321207000,"applyBackgroundUpdates":1,"bootstrap":true,"skinnable":false,"size":921009,"sour
ceURI":null,"releaseNotesURI":null,"softDisabled":false,"foreignInstall":false,"hasBinaryComponents":false,"strictCompatibility":false,"locales":[],"targetAppl
ications":[{"id":"{ec8030f7-c20a-464f-9b0e-13a3a9e97384}","minVersion":"51.0","maxVersion":"51.*"}],"targetPlatforms":[],"multiprocessCompatible":true,"seen":t
rue,"dependencies":[],"hasEmbeddedWebExtension":false,"mpcOptedOut":false}
1486743482189 addons.xpi DEBUG getModTime: Recursive scan of firefox@getpocket.com
1486743482190 addons.xpi DEBUG Updating XPIState for {"id":"webcompat@mozilla.org","syncGUID":"{9b4e2c5a-4e3d-460a-bc68-3201b845afcf}","location":"app
-system-defaults","version":"1.0","type":"extension","internalName":null,"updateURL":null,"updateKey":null,"optionsURL":null,"optionsType":null,"aboutURL":null
,"icons":{},"iconURL":null,"icon64URL":null,"defaultLocale":{"name":"Web Compat","description":"Urgent post-release fixes for web compatibility.","creator":nul
l,"homepageURL":null},"visible":true,"active":true,"userDisabled":false,"appDisabled":false,"descriptor":"/usr/lib/firefox/browser/features/webcompat@mozilla.o
rg.xpi","installDate":1485321207000,"updateDate":1485321207000,"applyBackgroundUpdates":1,"bootstrap":true,"skinnable":false,"size":1568,"sourceURI":null,"rele
aseNotesURI":null,"softDisabled":false,"foreignInstall":false,"hasBinaryComponents":false,"strictCompatibility":false,"locales":[],"targetApplications":[{"id":
"{ec8030f7-c20a-464f-9b0e-13a3a9e97384}","minVersion":"51.0","maxVersion":"51.*"}],"targetPlatforms":[],"multiprocessCompatible":true,"seen":true,"dependencies
":[],"hasEmbeddedWebExtension":false,"mpcOptedOut":false}
1486743482190 addons.xpi DEBUG getModTime: Recursive scan of webcompat@mozilla.org
1486743482191 addons.xpi DEBUG Updating XPIState for {"id":"e10srollout@mozilla.org","syncGUID":"{a5236925-12d1-4a83-9a85-cbcaad787ef1}","location":"a
pp-system-defaults","version":"1.7","type":"extension","internalName":null,"updateURL":null,"updateKey":null,"optionsURL":null,"optionsType":null,"aboutURL":nu
ll,"icons":{},"iconURL":null,"icon64URL":null,"defaultLocale":{"name":"Multi-process staged rollout","description":"Staged rollout of Firefox multi-process fea
ture.","creator":null,"homepageURL":null},"visible":true,"active":true,"userDisabled":false,"appDisabled":false,"descriptor":"/usr/lib/firefox/browser/features
/e10srollout@mozilla.org.xpi","installDate":1485321207000,"updateDate":1485321207000,"applyBackgroundUpdates":1,"bootstrap":true,"skinnable":false,"size":6995,
"sourceURI":null,"releaseNotesURI":null,"softDisabled":false,"foreignInstall":false,"hasBinaryComponents":false,"strictCompatibility":false,"locales":[],"targe
tApplications":[{"id":"{ec8030f7-c20a-464f-9b0e-13a3a9e97384}","minVersion":"51.0","maxVersion":"51.*"}],"targetPlatforms":[],"multiprocessCompatible":true,"se
en":true,"dependencies":[],"hasEmbeddedWebExtension":false,"mpcOptedOut":false}
1486743482191 addons.xpi DEBUG getModTime: Recursive scan of e10srollout@mozilla.org
1486743482192 addons.xpi DEBUG Updating XPIState for {"id":"aushelper@mozilla.org","syncGUID":"{aa6cd719-1b2d-4f6c-a073-d015c58daf3e}","location":"app
-system-defaults","version":"1.0","type":"extension","internalName":null,"updateURL":null,"updateKey":null,"optionsURL":null,"optionsType":null,"aboutURL":null
,"icons":{},"iconURL":null,"icon64URL":null,"defaultLocale":{"name":"Application Update Service Helper","description":"Sets value(s) in the update url based on
custom checks.","creator":null,"homepageURL":null},"visible":true,"active":true,"userDisabled":false,"appDisabled":false,"descriptor":"/usr/lib/firefox/browse
r/features/aushelper@mozilla.org.xpi","installDate":1485321207000,"updateDate":1485321207000,"applyBackgroundUpdates":1,"bootstrap":true,"skinnable":false,"siz
e":5973,"sourceURI":null,"releaseNotesURI":null,"softDisabled":false,"foreignInstall":false,"hasBinaryComponents":false,"strictCompatibility":false,"locales":[
],"targetApplications":[{"id":"{ec8030f7-c20a-464f-9b0e-13a3a9e97384}","minVersion":"51.0","maxVersion":"51.*"}],"targetPlatforms":[],"multiprocessCompatible":
true,"seen":true,"dependencies":[],"hasEmbeddedWebExtension":false,"mpcOptedOut":false}
1486743482193 addons.xpi DEBUG getModTime: Recursive scan of aushelper@mozilla.org
1486743482194 addons.xpi DEBUG Updating XPIState for {"id":"{972ce4c6-7e08-4474-a285-3208198ce6fd}","syncGUID":"{c2b87258-6b74-4723-8df5-26cccc1ed1e9}
","location":"app-global","version":"51.0","type":"theme","internalName":"classic/1.0","updateURL":null,"updateKey":null,"optionsURL":null,"optionsType":null,"
aboutURL":null,"icons":{"32":"icon.png","48":"icon.png"},"iconURL":null,"icon64URL":null,"defaultLocale":{"name":"Default","description":"The default theme.","
creator":"Mozilla","homepageURL":null,"contributors":["Mozilla Contributors"]},"visible":true,"active":true,"userDisabled":false,"appDisabled":false,"descripto
r":"/usr/lib/firefox/browser/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}.xpi","installDate":1485321207000,"updateDate":1485321207000,"applyBackgroundUpda
tes":1,"skinnable":true,"size":4926,"sourceURI":null,"releaseNotesURI":null,"softDisabled":false,"foreignInstall":false,"hasBinaryComponents":false,"strictComp
atibility":true,"locales":[],"targetApplications":[{"id":"{ec8030f7-c20a-464f-9b0e-13a3a9e97384}","minVersion":"51.0","maxVersion":"51.0"}],"targetPlatforms":[
],"seen":true,"dependencies":[],"hasEmbeddedWebExtension":false}
1486743482197 addons.xpi DEBUG getModTime: Recursive scan of {972ce4c6-7e08-4474-a285-3208198ce6fd}
1486743482199 DeferredSave.extensions.json DEBUG Save changes
1486743482201 addons.xpi DEBUG Updating database with changes to installed add-ons
1486743482201 addons.xpi-utils DEBUG Updating add-on states
1486743482203 addons.xpi-utils DEBUG Writing add-ons list
1486743482206 addons.xpi DEBUG Registering manifest for /usr/lib/firefox/browser/features/aushelper@mozilla.org.xpi
1486743482206 addons.xpi DEBUG Calling bootstrap method startup on aushelper@mozilla.org version 1.0
1486743482208 addons.xpi DEBUG Registering manifest for /usr/lib/firefox/browser/features/e10srollout@mozilla.org.xpi
1486743482209 addons.xpi DEBUG Calling bootstrap method startup on e10srollout@mozilla.org version 1.7
1486743482210 addons.xpi DEBUG Registering manifest for /usr/lib/firefox/browser/features/firefox@getpocket.com.xpi
1486743482211 addons.xpi DEBUG Calling bootstrap method startup on firefox@getpocket.com version 1.0.5
1486743482214 addons.xpi DEBUG Registering manifest for /usr/lib/firefox/browser/features/webcompat@mozilla.org.xpi
1486743482215 addons.xpi DEBUG Calling bootstrap method startup on webcompat@mozilla.org version 1.0
1486743482219 addons.manager DEBUG Registering shutdown blocker for XPIProvider
1486743482220 addons.manager DEBUG Provider finished startup: XPIProvider
1486743482220 addons.manager DEBUG Starting provider: LightweightThemeManager
1486743482220 addons.manager DEBUG Registering shutdown blocker for LightweightThemeManager
1486743482220 addons.manager DEBUG Provider finished startup: LightweightThemeManager
1486743482221 addons.manager DEBUG Starting provider: GMPProvider
1486743482233 addons.manager DEBUG Registering shutdown blocker for GMPProvider
1486743482233 addons.manager DEBUG Provider finished startup: GMPProvider
1486743482233 addons.manager DEBUG Starting provider: PluginProvider
1486743482234 addons.manager DEBUG Registering shutdown blocker for PluginProvider
1486743482234 addons.manager DEBUG Provider finished startup: PluginProvider
1486743482235 addons.manager DEBUG Completed startup sequence
1486743482520 Marionette INFO Listening on port 40105
1486743482770 addons.manager DEBUG Starting provider: <unnamed-provider>
1486743482770 addons.manager DEBUG Registering shutdown blocker for <unnamed-provider>
1486743482773 addons.manager DEBUG Provider finished startup: <unnamed-provider>
1486743482795 addons.manager DEBUG Starting provider: PreviousExperimentProvider
1486743482797 addons.manager DEBUG Registering shutdown blocker for PreviousExperimentProvider
1486743482804 addons.manager DEBUG Provider finished startup: PreviousExperimentProvider
1486743482811 DeferredSave.extensions.json DEBUG Starting write
1486743483032 DeferredSave.extensions.json DEBUG Write succeeded
1486743483035 addons.xpi-utils DEBUG XPI Database saved, setting schema version preference to 19
16:18:04.535 INFO - Detected dialect: W3C
16:18:04.599 INFO - Done: [new session: Capabilities [{mox:firefoxOptions={log={level=trace}, binary=vendor/firefox/firefox}, firefoxOptions=org.openqa.seleniu
m.firefox.FirefoxOptions@334e114, browserName=firefox, moz:firefoxOptions=org.openqa.selenium.firefox.FirefoxOptions@334e114}]]
2017/02/10 16:18:04 <- 200 OK [[application/json; charset=utf-8]]
{
"state": null,
"sessionId": "6a2647aa-6aae-4e88-8981-6fe49895676b",
"hCode": 325122435,
"value": {
"mox:firefoxOptions": {
"log": {
"level": "trace"
},
"binary": "vendor/firefox/firefox"
},
"rotatable": false,
"raisesAccessibilityExceptions": false,
"firefoxOptions": {
"args": [],
"profile": "UEsDBBQACAgIAECCSkoAAAAAAAAAAAAAAAAHAAAAdXNlci5qc51WTW/bMAy971cMOW3AKqTretlOXdcBA4Z1aFDsKMgSbauRJU0fcfPvR/mjSRNHbndKbJMS+fj4yOjBUeugfLc
onGnxiXhWQvdf6oo0TLXMAQHNCgVi8eFtyZSH91/exJ2nYAFtrHEhudTAVKj7Z4JGG8ln/DWE1rg1qUOwxNbS19uz9Nky788U6CrU6Pjx8vK52xiwAybwR0AAHkB8l86HK4yFK0C34OJhuKbBvB4pr51pgHrupA
3URU2DbJLLxXL6osAKTxAOfauvlfEwnc1oLUyrlWEC79KsSsDWpv1Tg14hWgmpaXeLQdng02W0MYKpGexhE4xRnoBzxnGjvVH7cB+n72WljUbUGmgKcKvu0edz8eC9RKtgkAsOfETcSgyUcsd8nfdVUq+JsaApP
AZwmqlUzFczqExlvYt6+rIWCuHkBp8Z54DljBoz90gHysEFP4nEU6Wkt4ptQdycL1e/DDInlfbTtDG+Erf6j9RYX3++JBIvMvd3P9FjwQoTw+dCMb1eHHOuT4gypeiDRzBSnLKH/ji2RysRbrQlbS0DKOkDHvA3
SneKCYkGaxnI0E0j6zC5xIUsAIphYbAB8lTzibfRkhq7xuLZtAXFUwdFl0q6OEg5VVt3rCHRYoGBaIS23N6jyat1JNrUSjfZ8IBHJ8MWmaIA/xEfnOSBGicrqak1SvJtnqoaWmw7MuSTqeazQPuTSXq5ikUju1b
53b286sj4Mt2cPCab8VN3DoVJRUHLE+q160NMs+34e9yIpizRDs6YtZ4g+0xLiy0VULKowrScjLBzbwf+TEd7zIcs20Y6I/dRqYLbkl4ZO/uPc7bZo0dEbu5/XpELwnZFOk7vgW1YPyGyonpYirFH8jw6jtvBQz
fEspf0NE3H5/PcQ5zFYL71SrDiSIIkOufLUxran0o1C/hIYQM6zAyIvdF4ixSbjadQhq87UXtRpTwwx+uBN3NjtyE9u4mIjc1WDVn+Ii4+I4xBhJwU04p6JEKH6nMxvfr0an02th/SKMQZyAfbE9Iy7Djzy83e5
PTdXN9NTpSg2Gl1FrlErekg9nrH9KOu24F+6Ot+TTm5nQ0zi3ZqJRBGXdGk/zMkqQHHJa+Br7/1gvW1//L6cUaYEDJFzGYmweTS/L/LsjJVlV4OW1xW+/d6qcv4GrUR27WQKrFPy6oO6sS023Mdb/wfaaNjI5AG
98KOiIu0Szo4wGi3yqTVE4mNC+TMLrPre1X6aPsVYLdl/ANQSwcIy87bUaYDAAC2DAAAUEsBAhQAFAAICAgAQIJKSsvO21GmAwAAtgwAAAcAAAAAAAAAAAAAAAAAAAAAAHVzZXIuanNQSwUGAAAAAAEAAQA1AAA
A2wMAAAAA"
},
"appBuildId": "20170125042157",
"version": "51.0",
"platform": "LINUX",
"proxy": {},
"command_id": 1,
"specificationLevel": 0,
"acceptSslCerts": false,
"processId": 16547,
"webdriver.remote.sessionid": "6a2647aa-6aae-4e88-8981-6fe49895676b",
"browserVersion": "51.0",
"platformVersion": "3.16.0-4-amd64",
"XULappId": "{ec8030f7-c20a-464f-9b0e-13a3a9e97384}",
"browserName": "firefox",
"takesScreenshot": true,
"takesElementScreenshot": true,
"javascriptEnabled": true,
"platformName": "linux",
"cssSelectorsEnabled": true
},
"class": "org.openqa.selenium.remote.Response",
"status": 0
}
2017/02/10 16:18:04 -> POST http://127.0.0.1:55534/wd/hub/session/6a2647aa-6aae-4e88-8981-6fe49895676b/url
{"url":"http://127.0.0.1:44254"}
16:18:04.622 INFO - Executing: [get: http://127.0.0.1:44254])
16:18:04.899 INFO - Done: [get: http://127.0.0.1:44254]
2017/02/10 16:18:04 <- 200 OK [[application/json; charset=utf-8]]
{
"state": "success",
"sessionId": "6a2647aa-6aae-4e88-8981-6fe49895676b",
"hCode": 1398068506,
"value": null,
"class": "org.openqa.selenium.remote.Response",
"status": 0
}
2017/02/10 16:18:04 -> POST http://127.0.0.1:55534/wd/hub/session/6a2647aa-6aae-4e88-8981-6fe49895676b/cookie
{"cookie":{"name":"the nameless cookie","value":"I have nothing","path":"","domain":"","secure":false,"expiry":4094967295}}
16:18:04.919 INFO - Executing: [add cookie: the nameless cookie=I have nothing; expires=Tue, 06 Oct 2099 10:54:55 UTC; path=/; domain=])
16:18:04.966 INFO - Done: [add cookie: the nameless cookie=I have nothing; expires=Tue, 06 Oct 2099 10:54:55 UTC; path=/; domain=]
2017/02/10 16:18:04 <- 200 OK [[application/json; charset=utf-8]]
{
"state": "success",
"sessionId": "6a2647aa-6aae-4e88-8981-6fe49895676b",
"hCode": 1393298629,
"value": null,
"class": "org.openqa.selenium.remote.Response",
"status": 0
}
2017/02/10 16:18:04 -> GET http://127.0.0.1:55534/wd/hub/session/6a2647aa-6aae-4e88-8981-6fe49895676b/cookie/the nameless cookie
16:18:04.980 INFO - Executing: [get cookie named the nameless cookie])
16:18:05.028 INFO - Done: [get cookie named the nameless cookie]
2017/02/10 16:18:05 <- 200 OK [[application/json; charset=utf-8]]
{
"state": "success",
"sessionId": "6a2647aa-6aae-4e88-8981-6fe49895676b",
"hCode": 1096388905,
"value": {
"path": "/",
"domain": "127.0.0.1",
"name": "the nameless cookie",
"httpOnly": false,
"secure": false,
"hCode": -1672802895,
"value": "I have nothing",
"class": "org.openqa.selenium.Cookie"
},
"class": "org.openqa.selenium.remote.Response",
"status": 0
}
{
"state": "success",
"sessionId": "6a2647aa-6aae-4e88-8981-6fe49895676b",
"hCode": 1096388905,
"value": {
"path": "/",
"domain": "127.0.0.1",
"name": "the nameless cookie",
"httpOnly": false,
"secure": false,
"hCode": -1672802895,
"value": "I have nothing",
"class": "org.openqa.selenium.Cookie"
},
"class": "org.openqa.selenium.remote.Response",
"status": 0
}2017/02/10 16:18:05 -> DELETE http://127.0.0.1:55534/wd/hub/session/6a2647aa-6aae-4e88-8981-6fe49895676b
16:18:05.033 INFO - Executing: [delete session: 6a2647aa-6aae-4e88-8981-6fe49895676b])
1486743485051 addons.xpi DEBUG Calling bootstrap method shutdown on webcompat@mozilla.org version 1.0
1486743485052 addons.xpi DEBUG Calling bootstrap method shutdown on firefox@getpocket.com version 1.0.5
1486743485053 addons.xpi DEBUG Calling bootstrap method shutdown on e10srollout@mozilla.org version 1.7
1486743485053 addons.xpi DEBUG Calling bootstrap method shutdown on aushelper@mozilla.org version 1.0
16:18:05.149 INFO - Done: [delete session: 6a2647aa-6aae-4e88-8981-6fe49895676b]
2017/02/10 16:18:05 <- 200 OK [[application/json; charset=utf-8]]
{
"state": "success",
"sessionId": "6a2647aa-6aae-4e88-8981-6fe49895676b",
"hCode": 958156537,
"value": null,
"class": "org.openqa.selenium.remote.Response",
"status": 0
}
It's a bug in marionette.
Here's a fix:
--- testing/marionette/driver.js 2017-06-07 18:09:34.316370300 +0100
+++ testing/marionette/driver.js 2017-06-07 18:58:49.413061100 +0100
@@ -3204,7 +3204,7 @@
"path": cookie.path,
"host": cookie.host,
"secure": cookie.isSecure,
- "expiry": cookie.expires,
+ "expiry": cookie.expiry,
"httpOnly": cookie.isHttpOnly,
"originAttributes": cookie.originAttributes
});
--- testing/marionette/listener.js 2017-06-07 18:09:34.345907100 +0100
+++ testing/marionette/listener.js 2017-06-07 22:25:57.650249200 +0100
@@ -1659,14 +1659,17 @@
let rv = [];
for (let cookie of cookies) {
- let expires = cookie.expires;
- // session cookie, don't return an expiry
- if (expires == 0) {
- expires = null;
+ let expiry = cookie.expiry;
+
+ // session cookie, don't return an expiry.
+ if (expiry > Number.MAX_SAFE_INTEGER) {
+ expiry = null;
+ }
// date before epoch time, cap to epoch
- } else if (expires == 1) {
- expires = 0;
+ else if (expiry < 0) {
+ expiry = 0;
}
+
rv.push({
'name': cookie.name,
'value': cookie.value,
@@ -1674,7 +1677,7 @@
'domain': cookie.host,
'secure': cookie.isSecure,
'httpOnly': cookie.httpOnly,
- 'expiry': expires
+ 'expiry': expiry
});
}
+1, please fix.
I’m very likely to fix this as part of https://bugzilla.mozilla.org/show_bug.cgi?id=1372595 because I have to write a WPT test for it.
Hello. I'm using the latest geckodriver (0.18.0) with firefox 55 for selenium tests. When i get cookies in my tests they have no expiry parameter at all. I thought this bug was already fixed in 0.18.0. Am i doing something wrong?
@pavel-morozov-duallab As you can tell from https://bugzilla.mozilla.org/show_bug.cgi?id=1372595, this was fixed in Firefox 56.
This issue has been automatically locked since there has not been any recent activity after it was closed. If you have run into an issue you think is related, please open a new issue.