Open Bug 1427807 Opened 6 years ago Updated 1 year ago

WebDriver:GetCookies does not return cookies from frames

Categories

(Remote Protocol :: Marionette, defect, P3)

Version 3
defect

Tracking

(firefox57 wontfix, firefox58 wontfix, firefox59 wontfix, firefox60 wontfix, firefox61 wontfix, firefox62 wontfix, firefox63 wontfix, firefox64 wontfix, firefox65 fix-optional)

Tracking Status
firefox57 --- wontfix
firefox58 --- wontfix
firefox59 --- wontfix
firefox60 --- wontfix
firefox61 --- wontfix
firefox62 --- wontfix
firefox63 --- wontfix
firefox64 --- wontfix
firefox65 --- fix-optional

People

(Reporter: whimboo, Unassigned)

References

(Blocks 2 open bugs)

Details

(Keywords: regression)

Originally filed as https://github.com/mozilla/geckodriver/issues/1104

With bug 1371733 (fixed in Firefox 56) the cookies are collected via the parent process now. As such it seems that we have no longer access to cookies as defined in frames.

Here a simple Marionette test showing this problem (based on a reporter testcase):

    def test(self):
        self.marionette.navigate("https://x.zok.pw/geckodrivertest/outer.html")
        frame = self.marionette.find_element(By.ID, "subframe")
        self.marionette.switch_to_frame(frame)
        self.assertIsNotNone(self.marionette.get_cookie("inner"))

Andreas, could you please have a look?
Flags: needinfo?(ato)
(In reply to Henrik Skupin (:whimboo) [mostly away Dec 11th - Jan
3rd] from comment #0)

> With bug 1371733 (fixed in Firefox 56) the cookies are collected
> via the parent process now. As such it seems that we have no
> longer access to cookies as defined in frames.

We always got the cookies from chrome space, but I’d bet we need to
use the hostname of the current frame (fetched from listener.js)
instead of the browser’s current URL when enumerating them.
Blocks: webdriver
Flags: needinfo?(ato)
Summary: Get cookies does not return cookies from frames since cookies are collected by the parent process → WebDriver:GetCookies does not return cookies from frames
Hi, I am the original reporter of this issue.
Is there any workaround that I can use in selenium test with geckodriver?
[Mass Change 2018-01-15] Moving bugs to backlog
Priority: -- → P3
Priority: P3 → P2
Too late to fix in 59, but we can still take a patch in Nightly.
Happy to take a patch in nightly; if it seems low risk enough please feel free to request uplift to 65 beta.
Blocks: 1372582
Flags: needinfo?(dburns)
Severity: normal → S3
Product: Testing → Remote Protocol

Hi, is there any update on this ticket?

Sorry, but not as of this point. This broken behavior is not high on our priority list. But if someone has interest to work on it, I'm happy to mentor.

Priority: P2 → P3

Meni.pablo as we spoke on Matrix I would be interested if you still want to help or if you wont have the time anymore. Thanks.

Flags: needinfo?(meni.pablo)

(In reply to Henrik Skupin [:whimboo][⌚️UTC+1] from comment #8)

Meni.pablo as we spoke on Matrix I would be interested if you still want to help or if you wont have the time anymore. Thanks.

Yes, I am still interested in this. I'll reach out to you on Matrix for the next steps

Flags: needinfo?(meni.pablo)
You need to log in before you can comment on or make changes to this bug.