Commit Graph

88 Commits

Author SHA1 Message Date
Andrey Lushnikov
26018aae25
feat(chromium): roll Chromium to r759486 (#1823)
This roll includes:
- https://crrev.com/759486 - devtools(protocol): Input.dispatchMouseEvent to properly find target widget host

Fixes #1240
2020-04-16 09:38:28 -07:00
Dmitry Gozman
274c6c1450
test(chromium): add more oopif tests (#1685) 2020-04-14 13:00:10 -07:00
Dmitry Gozman
29a6cdff6b
fix(tests): fix a race with golden setup (#1757)
When running multiple browsers, we should take the golden information from the state.
2020-04-13 14:12:44 -07:00
Dmitry Gozman
62a493ecbd
chore(test): move more test options to state (#1761)
This reduces the number of globals and allows to configure more options dynamically.
2020-04-12 22:19:26 -07:00
Dmitry Gozman
277c7d872f
test: close extra browser (#1756) 2020-04-12 15:30:53 -07:00
Dmitry Gozman
ade9d23c28
test: remove module.export.describe wrapper (#1716) 2020-04-08 15:19:09 -07:00
Dmitry Gozman
af01d15f62
test: slim down test utils (#1701) 2020-04-07 19:15:48 -07:00
Dmitry Gozman
e0c8fbf1a6
test: put test runner api on global, remove unused parameters (#1684) 2020-04-07 08:10:31 -07:00
Dmitry Gozman
aeeac55732
feat(chromium): support oopifs (#1664)
Splits CRPage into CRPage and FrameSession, carefully broadcasting or picking the right session for each operation.
2020-04-06 15:09:43 -07:00
Pavel Feldman
4e89939ece
chore: do not try/catch buffer.concat (#1575) 2020-03-27 15:16:17 -07:00
Yury Semikhatsky
535b484637
api(context): get rid of PageEvent (#1433) 2020-03-19 16:25:12 -07:00
Yury Semikhatsky
3ed9970b33
api(chromium): add ChromiumBrowserContext.serviceWorkers() (#1416) 2020-03-19 16:10:24 -07:00
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
Dmitry Gozman
69be12ae12
api(route): pass Route object instead of Request to route handlers (#1385)
References #1348.
2020-03-13 14:30:40 -07:00
Dmitry Gozman
9b86c631c8
api: make BrowserContext.pages() synchronous (#1369)
Returns all pages which have been initialized already.

References #1348.
2020-03-13 11:33:33 -07:00
Pavel Feldman
8aba111f1e
api(cdp): rename createSession to newCDPSession (#1378) 2020-03-13 09:00:03 -07:00
Pavel Feldman
9aa56a6b9e
api(browserType): remove devices, errors (#1368) 2020-03-12 17:58:00 -07:00
Pavel Feldman
b43f33f4d3
api(review): misc changes to API. (#1356) 2020-03-11 18:10:48 -07:00
Andrey Lushnikov
0cff9df00f
test: add failing test for clicking and oopifs (#1325) 2020-03-10 14:24:25 -07:00
Yury Semikhatsky
8211287a23
fix(session): use isolated root session for client page sessions (#1271) 2020-03-06 15:11:03 -08:00
Pavel Feldman
3fa000f5f4
api(waitForSelector): bring it back (#1272) 2020-03-06 15:02:42 -08:00
Dmitry Gozman
1d770af804
api: waitForElement accepts waitFor: attached|detached|visible|hidden (#1244)
This includes rename waitForSelector -> waitForElement and removes $wait.
2020-03-05 17:45:41 -08:00
Yury Semikhatsky
9bc6dcea1d
feat(api): introduce BrowserContext.waitForEvent (#1252) 2020-03-05 17:22:57 -08:00
Yury Semikhatsky
e770d706a1
fix(chromium): do not create default page and context in headless (#1247) 2020-03-05 14:46:12 -08:00
Dmitry Gozman
2ec9e6daa2
test: cleanup some test files (#1195) 2020-03-03 15:02:06 -08:00
Yury Semikhatsky
31e26a2208
fix(api): fire BrowserContext.Page event in WebKit and Firefox (#1186) 2020-03-02 18:32:56 -08:00
Pavel
342e79c5b4 test: mark some tests as skipped (3) 2020-03-02 15:13:15 -08:00
Yury Semikhatsky
a57978a5f0
api(chromium): remove Target from public API (#1163) 2020-03-02 13:58:22 -08:00
Pavel Feldman
5bd6e4970b
test: it.skip skips and it.fail expects to fail now (#1178) 2020-03-02 13:47:08 -08:00
Dmitry Gozman
ba29470cc1
fix(api): rename relativePoint to offset, remove unused parameters from input (#1092) 2020-02-24 21:12:02 -08:00
Dmitry Gozman
6acc439450
feat(api): move targets from CRBrowser to CRBrowserContext (#1089)
This makes them work for default context.
2020-02-24 14:35:51 -08:00
Dmitry Gozman
3677818202
fix(api): browser.serviceWorker -> target.serviceWorker (#1076) 2020-02-24 08:31:58 -08:00
Andrey Lushnikov
05a1e1c641
test: remove newContext and newPage test helpers (#1070)
All tests should clean up their contexts themselves.
2020-02-20 15:15:48 -08:00
Pavel Feldman
cd4e9da807
feat(coverage): export raw v8 coverage (#976)
Fixes #955
2020-02-13 17:39:14 -08:00
Andrey Lushnikov
f8f818f676 Revert "Revert "feat: do not wait for first page in non-persistent mode (#939)""
Apparently a good fix is coming: https://github.com/microsoft/playwright/pull/993/
Pavel want to re-revert.
2020-02-13 13:54:01 -08:00
Andrey Lushnikov
71892b4aaa Revert "feat: do not wait for first page in non-persistent mode (#939)"
This reverts commit a567123596.

Reason for revert: WK-Win fails to start if we start talking over the
pipe too early.
2020-02-13 13:44:58 -08:00
Dmitry Gozman
a567123596
feat: do not wait for first page in non-persistent mode (#939) 2020-02-13 10:51:17 -08:00
Pavel Feldman
aae5fca237
feat(api): make browser.newPage own the created context (#930) 2020-02-11 12:06:58 -08:00
Pavel Feldman
72b9cf010e
feat(context): introduce BrowserContext close event (#918) 2020-02-11 10:27:19 -08:00
Joel Einbinder
c03e8b7946
chore(tests): add types for tests (#915)
I enabled vscode autocomplete in our test files. Typechecking had too many errors to enable, but it caught some real bugs that I will fix in a follow up.

This patch contains:
* `test/types.d.ts` - d.ts file for our test runner.
* `test/tsconfig.json` - typescript project for our tests.
* JSDoc header in all specs to mark the describe as a TestSuite
* Drive-by fix of a launcher test that was using `if` instead of `it`
* Some drive-by fixes of unimpactful typos in tests.
2020-02-10 13:20:13 -08:00
Pavel Feldman
84f5700294
feat(api): rename browserContext() to context() in the apis, remove url from newPage (#906) 2020-02-10 10:41:45 -08:00
Pavel Feldman
99d06892c5
tests: explicitly close contexts for browser.newPage (#875) 2020-02-06 15:18:07 -08:00
Pavel Feldman
a2ab645e63
feat(launch): introduce client, server & persistent launch modes (2) (#840) 2020-02-05 12:41:55 -08:00
Pavel Feldman
0518625dcc
feat(launch): introduce client, server & persistent launch modes (1) (#838) 2020-02-04 19:41:38 -08:00
Pavel Feldman
8028fb052a
feat(route): migrate from request interception w/ events to page.route (#809) 2020-02-03 14:23:24 -08:00
Pavel Feldman
ef1d2fb995
Revert "fix: move offline/cache/interception switches to BrowserContext (#748)" (#793)
This reverts commit 6faf74bc95.
2020-01-31 16:23:15 -08:00
Pavel Feldman
5cb19c6265
test: extract common headful tests (#785) 2020-01-31 08:54:11 -08:00
Yury Semikhatsky
6faf74bc95
fix: move offline/cache/interception switches to BrowserContext (#748) 2020-01-29 12:51:14 -08:00
Joel Einbinder
184b25ff7b
chore: windows bots via github actions (#678)
Mac will come in a follow up!

As a drive-by, removed npm build everywhere, because npm install already runs build.
2020-01-28 18:04:51 -08:00
Yury Semikhatsky
b64604c1ea
chore: replace pptr with pw (#643) 2020-01-24 16:15:41 -08:00