Dmitry Gozman
5e97acde0c
fix(oopif): make Page.addInitScript and Page.exposeBinding work for oopifs ( #2542 )
2020-06-11 11:41:36 -07:00
Dmitry Gozman
8c6c571f22
test: add iframe screenshot tests ( #2495 )
2020-06-09 12:59:49 -07:00
Dmitry Gozman
454411062b
fix(oopif): race between detachedFromTarget and frameAttached ( #2419 )
...
During remote -> local transition, these two events come in unpredictable order, so we try to handle both cases. Also, remote frame detach was not handled at all.
2020-06-01 13:47:02 -07:00
Pavel Feldman
5ee6494032
feat(evaluate): return user-readable error from evaluate ( #2329 )
2020-05-21 16:00:55 -07:00
Dmitry Gozman
481643409e
feat(debug): persist devtools preferences in Chromium ( #2266 )
...
We store devtools-preferences.json file in the downloaded browser directory.
2020-05-19 14:55:11 -07:00
Dmitry Gozman
359cb3a740
fix(oopif): adopt main requests into oopifs ( #2284 )
...
Main request for an OOPIF starts in the parent session, and the oopif
session is create only after the response has been received. Therefore,
we should adopt the request after oopif session is created.
2020-05-18 17:13:51 -07:00
Dmitry Gozman
963dc72dd2
devops: add headful linux bot ( #2060 )
2020-05-04 15:15:51 -07:00
Pavel Feldman
022bc67c07
chore(chromium): allow passing --remote-debugging-port for debugging ( #1857 )
2020-04-18 19:06:42 -07:00
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