Closed Bug 1590467 Opened 6 years ago Closed 6 years ago

Implement minimal UX for running puppeteer with Firefox

Categories

(Remote Protocol :: Agent, task, P1)

task

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: impossibus, Assigned: impossibus)

References

Details

(Whiteboard: [puppeteer-alpha])

Attachments

(3 files, 1 obsolete file)

Get a basic flow working for starting up Firefox with puppeteer, say, via an environment variable or command-line switch.

To get the conversation started, I propose to scope this work to our vendored puppeteer fork, getting it running in our remote(pup) job on Treeherder.

We can iterate from there to propose something more robust to upstream Puppeteer.

Also this should not only be for CI but also for local testing.

Summary: Implement minimal UX for running puppeteer with Firefox in CI → Implement minimal UX for running puppeteer with Firefox
Priority: P2 → P1
Whiteboard: [puppeteer-alpha]
Status: NEW → ASSIGNED
Attached file GitHub Pull Request (obsolete) —

See GitHub PR for WIP.

Attached file GitHub Pull Request
Attachment #9104817 - Attachment is obsolete: true

This takes advantage of the browser-selection patch proposed to Puppeteer.
A --product option allows choice between 'firefox' and 'chrome'.
Puppeteer takes care of profile creation for Firefox. Additional Puppeteer
Launcher options can be passed along with --setopt.

Depends on D52313

Pushed by atolfsen@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/278f81464fc0 Updated vendored puppeteer with proposed browser selection; r=remote-protocol-reviewers,ato https://hg.mozilla.org/integration/autoland/rev/e2ceb42ddbbf Use new testing options in puppeteer-test mach command; r=remote-protocol-reviewers,ato

I'll leave this open until the upstream Puppeteer PR is closed.

Keywords: leave-open

The upstream PR got merged:
https://github.com/puppeteer/puppeteer/commit/c5a72e9887098671c3c940e86e181e3f90f1294f

Maja, I assume this bug can be closed now?

Flags: needinfo?(mjzffr)
Status: ASSIGNED → RESOLVED
Closed: 6 years ago
Keywords: leave-open
Resolution: --- → FIXED

FYI, something I added on at the end was being able to choose the product programmatically rather than with environment variables, so that there's access to Firefox both in puppeteer and puppeteer-core (which ignores PUPPETEER_* env vars). Examples:

const options = {headless: false, dumpio: true, product: 'firefox', executablePath: 'path/to/firefox', extraPrefsFirefox: {'remote.log.level': 'Trace'}};
const browser = await puppeteer.launch(options);
Flags: needinfo?(mjzffr)

I guess we still have to rely on the environment variable configuration in remot/mach_commands.py.

You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: