Implement minimal UX for running puppeteer with Firefox
Categories
(Remote Protocol :: Agent, task, P1)
Tracking
(Not tracked)
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.
| Comment hidden (obsolete) |
Comment 2•6 years ago
|
||
Also this should not only be for CI but also for local testing.
| Assignee | ||
Updated•6 years ago
|
| Assignee | ||
Updated•6 years ago
|
| Assignee | ||
Updated•6 years ago
|
| Assignee | ||
Comment 3•6 years ago
|
||
See GitHub PR for WIP.
| Assignee | ||
Comment 4•6 years ago
|
||
| Assignee | ||
Comment 5•6 years ago
|
||
| Assignee | ||
Comment 6•6 years ago
|
||
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
| Assignee | ||
Comment 8•6 years ago
|
||
I'll leave this open until the upstream Puppeteer PR is closed.
Comment 9•6 years ago
|
||
| bugherder | ||
Comment 10•6 years ago
|
||
The upstream PR got merged:
https://github.com/puppeteer/puppeteer/commit/c5a72e9887098671c3c940e86e181e3f90f1294f
Maja, I assume this bug can be closed now?
| Assignee | ||
Updated•6 years ago
|
| Assignee | ||
Comment 11•6 years ago
|
||
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);
Comment 12•6 years ago
|
||
I guess we still have to rely on the environment variable configuration in remot/mach_commands.py.
Description
•