Closed Bug 1662803 Opened 4 years ago Closed 4 years ago

Make handling of alerts/dialogs Fission compatible

Categories

(Remote Protocol :: Marionette, task, P1)

Default
task

Tracking

(Fission Milestone:M7, firefox83 fixed)

RESOLVED FIXED
83 Branch
Fission Milestone M7
Tracking Status
firefox83 --- fixed

People

(Reporter: whimboo, Assigned: whimboo)

References

Details

(Whiteboard: [marionette-fission-mvp][complex])

Attachments

(1 file)

Right now the detection of alerts/dialogs happen in the parent process. We have to investigate if that is still the right approach or if we should listen for the appropriate events inside the child actor. Right now we have a certain amount of failures for Mn unit tests, which seem to be all related to race conditions.

The commands that have to be proven to work are:

WebDriver:AcceptAlert
WebDriver:DismissAlert
WebDriver:GetAlertText
WebDriver:SendAlertText

Also all other commands have to immediately return when a new alert/dialog gets opened.

If detection of alerts/dialogs are already happening in parent process, then that should suffice for Fission.

Fission Milestone: --- → ?
Whiteboard: [marionette-fission-mvp] → [marionette-fission-mvp][complex]

Tentatively tracking marionette-fission-mvp bugs for Fission M7 Beta milestone. We would like Marionette tests to work with Fission before we ride the trains to Beta.

Fission Milestone: ? → M7

Henrik, these alerts and dialogs are implemented in the parent process, so detection should already work. Are you seeing detection problems with Fission?

Flags: needinfo?(hskupin)

This is needed when we interact with the child actor and new alerts / dialogs are opened. In such cases the currently active command needs to be canceled. I will have to take a look at this very soon.

Flags: needinfo?(hskupin)

Having the work for execute script done first (see bug 1662460) would help a lot here given that this can be a long running command that can easily be used for testing this particular feature.

Depends on: 1662460

I did some investigation today and as it looks like we can handle that perfectly in MarionetteFrameParent::sendQuery(). So it will block the actor work too.

Assignee: nobody → hskupin
Status: NEW → ASSIGNED
Priority: P2 → P1
Pushed by hskupin@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/d2e059b9faf0 [marionette] Add support for handling alerts and dialogs via JSWindowActor. r=marionette-reviewers,maja_zf
Status: ASSIGNED → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → 83 Branch
Regressions: 1679414
Product: Testing → Remote Protocol
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: