Open Bug 1607210 Opened 4 years ago Updated 1 year ago

Update mobile support of Marionette harness to support GeckoView

Categories

(Testing :: Marionette Client and Harness, task, P3)

Version 3
task

Tracking

(Not tracked)

People

(Reporter: whimboo, Unassigned)

References

(Blocks 1 open bug)

Details

(Whiteboard: [webdriver:backlog])

Due to bug 1606335 non-e10s mode is no longer supported in Marionette, and we felt it also isn't necessary. Due to that and we are no longer supporting Fennec with Marionette on mozilla-central, we should get rid of all the mobile (Fennec) code in the harness.

As spoken several times in the past with team members we are not going to update the harness for GeckoView support but instead consumers have to use geckodriver for automation procedures. That means we won't need any mobile code anymore and could get rid of any of them.

As discussed with James on IRC, wptrunner only uses the client but also not the populated preferences in geckoinstance.py, so even some parts of the driver can be cleaned-up.

Has anyone concerns with that path?

Blocks: 1451465

Maja and James, any feedback from you?

Flags: needinfo?(mjzffr)
Flags: needinfo?(james)

As long as wpt keeps working, I don't think I'm concerned. I assume that CI will ensure that wpt does keep working.

Forcing other internal users to use geckodriver does seem like some burden to place on them since there's a small perf impact and a larger complexity one (geckodriver needs to be compiled to run tests). But if the relevant teams are happy with that then I'm not going to object on their behalf.

Flags: needinfo?(james)

Note that ESR68 is the last branch where Fennec is supported. For recent versions of Firefox we no longer build Fennec at all, and it has been unsupported. Also so far no-one actually asked for mobile support (specifically GeckoView) in Marionette. So I'm fairly sure we should be fine. Lets also wait for Maja's feedback before proceeding here. Personally I would like to get rid of all this extra code, which I'm not hesitated to maintain, also because it's not tested.

I'm fine with removing it.

Note that GeckoView support in Marionette harness would be extremely similar to Fennec, judging by the corresponding work on WPT.

Flags: needinfo?(mjzffr)

As noticed during the last days while doing some work for Marionette and GeckoView it would be kinda helpful to actually keep mobile support. Simply because it makes it way easier to test changes via the Marionette harness compared to wptrunner, where we also don't have mobile support for WebDriver tests.

Maja, what would you say how long it would take to actually get GeckoView running? Would it just be some changes to package and intent names?

Flags: needinfo?(mjzffr)

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

Maja, what would you say how long it would take to actually get GeckoView running? Would it just be some changes to package and intent names?

Yes, I believe that's the gist of it, modulo surprising rabbit holes.

If I remember right, Marionette currently uses mozdevice/mozrunner in some unusual or poorly-supported way, so to simplify things we should probably refactor a bit to interact with devices the way wptrunner does.

Flags: needinfo?(mjzffr)

The Marionette client is still used on web-platform tests, and this will continue to happen for a while. A such we should really try to get our Marionette unit tests running on Android with GeckoView builds. Relying on wpt tests as unit tests isn't going to work.

Maybe in September we might have a bit of time to check what would be needed here.

Priority: -- → P3
Summary: Remove mobile (Fennec) support from Marionette harness → Update mobile support of Marionette harness to support GeckoView

Lets discuss and find a priority for this bug.

Whiteboard: [webdriver:triage]

Basically it's not a priority for us right now. We have some basic Marionette client features covered by the wptrunner to get wpt tests running, and quite a lot of WebDriver features are now tested on Android (see bug 1749444). We are aware that the Marionette unit test suites still has a lot of tests included that should be wdspec tests (bug 1560181) and which we might want to move over if needed but there is no time for it right now.

As such we decided to move this bug to the backlog for now. If there is something fundamentally broken we might have to re-prioritize it.

See Also: → 1749444
Whiteboard: [webdriver:triage] → [webdriver:backlog]
Severity: normal → S3
Product: Testing → Remote Protocol
Component: Marionette → Marionette Client and Harness
Product: Remote Protocol → Testing
You need to log in before you can comment on or make changes to this bug.