playwright/test/chromium
Andrey Lushnikov f5ecbff16e
devops: remake downloading logic (#1419)
This patch:
- removes `browserType.downloadBrowserIfNeeded()` method. The method
  turned out to be ill-behaving and cannot not be used as we'd like to (see #1085)
- adds a `browserType.setExecutablePath` method to set a browser
  exectuable.

With this patch, we take the following approach towards managing browser downloads:
- `playwright-core` doesn't download any browsers. In `playwright-core`, `playwright.chromium.executablePath()` returns `null` (same for firefox and webkit).
- clients of `playwright-core` (e.g. `playwright` and others) download browsers one way or another.
They can then configure `playwright` with executable paths and re-export the `playwright` object to their clients.
- `playwright`, `playwright-firefox`, `playwright-chromium` and `playwright-webkit` download 
browsers. Once browsers are downloaded, their executable paths are saved to a `.downloaded-browsers.json` file. This file is read in `playwright/index.js` to configure browser executable paths and re-export the API.
- special case is `install-from-github.js` that also cleans up old browsers.
2020-03-19 11:43:35 -07:00
..
chromium.spec.js api(route): pass Route object instead of Request to route handlers (#1385) 2020-03-13 14:30:40 -07:00
coverage.spec.js feat(coverage): export raw v8 coverage (#976) 2020-02-13 17:39:14 -08:00
launcher.spec.js devops: remake downloading logic (#1419) 2020-03-19 11:43:35 -07:00
oopif.spec.js api(route): pass Route object instead of Request to route handlers (#1385) 2020-03-13 14:30:40 -07:00
pdf.spec.js test: it.skip skips and it.fail expects to fail now (#1178) 2020-03-02 13:47:08 -08:00
session.spec.js api(cdp): rename createSession to newCDPSession (#1378) 2020-03-13 09:00:03 -07:00
tracing.spec.js api(browserType): remove devices, errors (#1368) 2020-03-12 17:58:00 -07:00