Dmitry Gozman
cb63021b2f
test: add test for navigator.userAgent in popups ( #985 )
2020-02-13 13:23:29 -08:00
Andrey Lushnikov
05f8d001f8
test: fix service worker test ( #988 )
...
Do the following to ensure SW is active and serves requests:
- in ServiceWorker, claim all clients once activated
- in page, await activation promise instead of a registration
2020-02-13 13:21:19 -08:00
Dmitry Gozman
2e0d89e25c
fix(firefox): roll to 1029 and unskip passing tests ( #984 )
2020-02-13 13:19:25 -08:00
Joel Einbinder
d790b4c280
fix(test): default DEBUGP to false ( #989 )
2020-02-13 13:18:19 -08:00
Pavel Feldman
8ed88c910a
feat(webkit): introduce BrowserContext({language}) ( #972 )
2020-02-13 12:24:17 -08:00
Pavel Feldman
53fa62910a
fix(chromium): emit focus events in headful ( #982 )
...
Fixes #979
2020-02-13 11:29:13 -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
Joel Einbinder
d367a2ed3a
chore(tests): log protocol messages when a test fails on the bots ( #963 )
...
Similarly to how we handle stdio, this captures all protocol messages and logs them when a test fails. Great for when debugging tests in parallel or for bot failures!
Currently I made `DEBUGP=true` turn this on locally, and turned it on always for the CI. Open to
suggestions for a better environment variable. I would turn it on by default always, like the stdio logging, but it adds an enormous amount of noise to our error messages.
2020-02-12 22:35:06 -08:00
Pavel Feldman
8abf35c8e4
feat(webkit): roll webkit to 1148 ( #971 )
2020-02-12 21:25:17 -08:00
Andrey Lushnikov
d735de5347
feat: do not let users pass userDataDir to browserType.launch() ( #974 )
...
We now have a separate method for this - `browserType.launchPersistent`.
This will probably save our users quite some time.
2020-02-12 19:32:23 -08:00
Pavel Feldman
012bf671b8
feat(webkit): emulate timezone on webkit ( #968 )
2020-02-12 17:02:59 -08:00
Dmitry Gozman
fbce2908ad
test: unskip passing Firefox tests ( #966 )
2020-02-12 16:27:45 -08:00
Andrey Lushnikov
bfaf191c98
test: add missing tests ( #965 )
...
Chromium tests on Linux now call all our API methods and events at least once!
2020-02-12 16:13:48 -08:00
Dmitry Gozman
1d84f38e5e
fix(input): ensure input works as expected with page scale ( #962 )
2020-02-12 16:13:21 -08:00
Andrey Lushnikov
7ce49c2835
chore: remove WebSocket implementation ( #961 )
...
WebSocket implementation currently is very incomplete, lacking
support in WebKit-Win and Firefox.
2020-02-12 15:29:06 -08:00
Dmitry Gozman
5f24205922
test: add a test for interception + service worker ( #951 )
2020-02-12 13:02:27 -08:00
Pavel Feldman
c8c4356d7c
test: add setInputFiles input event test ( #944 )
2020-02-11 20:18:41 -08:00
Pavel Feldman
d05feec740
feat(active): emulate active state on webkit ( #941 )
2020-02-11 19:10:57 -08:00
Dmitry Gozman
da30847c83
feat(firefox): apply emulation to all pages in the browser context ( #931 )
2020-02-11 18:52:01 -08:00
Dmitry Gozman
f25a27a0a4
test: add a test for bounding box with page scale ( #935 )
...
Does not work on WebKit, because it uses device-independent pixels instead of css pixels for content quads.
2020-02-11 17:04:49 -08:00
Pavel Feldman
20e2bac857
test: fix flaky page event test
2020-02-11 15:19:43 -08:00
Pavel Feldman
53237009ad
feat($wait): make $wait a shortcut for waitForSelector ( #932 )
2020-02-11 14:51:09 -08:00
Joel Einbinder
6105d8a26a
fix(tests): fix test that was leaking a context ( #933 )
2020-02-11 14:15:30 -08:00
Pavel Feldman
aae5fca237
feat(api): make browser.newPage own the created context ( #930 )
2020-02-11 12:06:58 -08:00
Dmitry Gozman
c69dccf7c1
feat(click): use browser-provided scrollIntoViewIfNeeded ( #893 )
2020-02-11 10:30:09 -08:00
Pavel Feldman
72b9cf010e
feat(context): introduce BrowserContext close event ( #918 )
2020-02-11 10:27:19 -08:00
Meir Blachman
5fee93ae96
test: fix expect in jshandle spec ( #927 )
2020-02-11 09:26:23 -08:00
Joel Einbinder
251ad38824
fix(navigations): remove LifecycleWatcher, fix flakes ( #882 )
2020-02-10 18:35:47 -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
Andrey Lushnikov
4fcc63f2e1
chore: remove usages of mime module from infrastructure
...
Follow-up to 4d84e35096
2020-02-10 11:26:08 -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
4d84e35096
fix(upload): detect mime type from file extension ( #911 )
2020-02-10 10:08:51 -08:00
Pavel Feldman
79b7a8491e
fix(screenshot): be careful w/ default viewport, extract common logic ( #913 )
...
Fixes #887 .
2020-02-10 09:15:15 -08:00
Pavel Feldman
36344dee27
tests: consistently use platform constants ( #899 )
2020-02-07 14:44:05 -08:00
Pavel Feldman
fe2431e34b
feat(webkit): roll webkit to r1137 ( #884 )
2020-02-06 21:06:55 -08:00
Dmitry Gozman
fee83b17c9
fix(api): page.viewport -> page.viewportSize ( #878 )
...
We now only allow to resize the page, leaving isMobile and deviceScaleFactor as browser context options.
2020-02-06 19:02:55 -08:00
Dmitry Gozman
c33a12d8f0
feat(firefox): ensure that new pages get browser context userAgent option ( #872 )
2020-02-06 19:01:03 -08:00
Pavel Feldman
99d06892c5
tests: explicitly close contexts for browser.newPage ( #875 )
2020-02-06 15:18:07 -08:00
Pavel Feldman
a547aa7984
feat(connect): allow multiple webkit connections over web socket ( #863 )
2020-02-06 12:41:43 -08:00
Andrey Lushnikov
f49d63ff0c
test: remove fdescribe
2020-02-06 12:20:29 -08:00
Pavel Feldman
5152540f47
test(cookies): add more isolation tests ( #869 )
2020-02-06 09:24:10 -08:00
Dmitry Gozman
6318ba6e4a
feat(frame): introduce frame.frameElement ( #856 )
...
Fixes #839 .
2020-02-05 17:20:23 -08:00
Pavel Feldman
55b6fe241e
feat(launch): introduce client, server & persistent launch modes (3) ( #854 )
2020-02-05 16:36:36 -08:00
Andrey Lushnikov
a4c40fff82
test: make sure page.fill actually clears an input ( #851 )
2020-02-05 16:07:25 -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
bdf8e39786
feat(goto): assume http:// for localhost navigations ( #825 )
2020-02-04 19:39:52 -08:00
Dmitry Gozman
8f1df5e1e8
fix(chromium): pause workers on start to not miss any events ( #832 )
2020-02-04 19:36:46 -08:00
Dmitry Gozman
4b761f4485
test: expect current behavior for cross-frame js handles ( #833 )
2020-02-04 19:34:54 -08:00
Pavel Feldman
e3e2da3186
feat(check): introduce page.check/uncheck ( #826 )
2020-02-04 14:39:10 -08:00
Pavel Feldman
05d4746eb5
feat(selectors): temporarily remove zs engine ( #824 )
2020-02-03 16:14:37 -08:00
Pavel Feldman
1059e22f9e
fix(fill): make fill work for input[type=number] ( #819 )
2020-02-03 15:50:45 -08:00
Andrey Lushnikov
b82bc5fbd4
feat: treat selectors with leading '(//' as xpath ( #821 )
...
This starts treating the following selectors as xpath:
- `page.$('//div')`
- `page.$('(//div)[1]')`
- `page.$('((((//div))))[1]')`
(and generally, any number of leading openting parenthesis)
Fixes #817
2020-02-03 14:52:18 -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
Yury Semikhatsky
25f2a32af3
feat: add Page.opener() to the API ( #790 )
...
Fixes #783
2020-01-31 18:38:45 -08:00
Darío Kondratiuk
0f305e05e9
test(cookies): Rename clearCookies describe ( #791 )
...
Tests in that describe are about clearCookies
2020-01-31 17:08:48 -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
2bf88fd178
test: start adding capability smoke tests ( #784 )
2020-01-31 08:57:47 -08:00
Pavel Feldman
5cb19c6265
test: extract common headful tests ( #785 )
2020-01-31 08:54:11 -08:00
Joel Einbinder
ca49d50b9c
test: disable firefox popup tests that rely on waitForLoadState ( #768 )
...
We have a race between opening a popup and calling waitForLoadState that sometimes causes waitForLoadState to timeout.
2020-01-30 14:53:38 -08:00
Joel Einbinder
2b231c9e1b
fix(test): unflake waitForSelector when browser closes test ( #767 )
...
The waitForSelector call might not have made it into the browser by the time we disconnect, resulting in a websocket error instead of a protocol error.
2020-01-30 14:19:30 -08:00
Joel Einbinder
f4640d145f
Revert "tests(accessibility): Remove unused browser goldens ( #758 )" ( #763 )
...
Not dead code, this caused these tests to fail in firefox.
Reverts #758
2020-01-30 13:38:24 -08:00
Darío Kondratiuk
d590ab93fa
tests(accessibility): Remove unused browser goldens ( #758 )
2020-01-30 12:07:08 -08:00
Yury Semikhatsky
603b9f54dd
fix: make contentFrame cross-frame handles test pass ( #761 )
2020-01-30 11:04:09 -08:00
Yury Semikhatsky
eb568046eb
test: unflake owner frame test ( #760 )
2020-01-30 10:50:25 -08:00
Dmitry Gozman
0e6b44d337
feat(selectors): selectors.register accepts function ( #753 )
2020-01-29 15:13:43 -08:00
Yury Semikhatsky
6faf74bc95
fix: move offline/cache/interception switches to BrowserContext ( #748 )
2020-01-29 12:51:14 -08:00
Darío Kondratiuk
a65bf4179f
test(browsercontext): cookies() is a BrowserContext function ( #741 )
2020-01-29 09:39:43 -08:00
Joel Einbinder
b68a88a3fc
test: enable passing modifiers test ( #733 )
...
This test passes. Maybe at some point it failed on mac, but that has been fixed for a long time.
2020-01-28 18:19:59 -08:00
Andrey Lushnikov
ce7c8d74b5
feat: introduce BrowserType.name() ( #732 )
...
This helps a lot to produce nice logging:
```js
const { chromium, webkit } = require('playwright');
(async () => {
for (const launcher of [chromium, webkit]) {
console.log(`Testing on ${launcher.name()}`);
const browser = await launcher.launch();
// ...
await browser.close();
}
})();
```
2020-01-28 18:09:07 -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
Joel Einbinder
4a3bd6008b
fix(test): fix race in confusing confuse with previous navigation test ( #730 )
2020-01-28 17:25:07 -08:00
Joel Einbinder
5e5d1933b7
test: don't ignore random arguments ( #726 )
...
This test was ignoring some very important arguments depending on the browser! The comment about `--enable-automation` was a lie. I changed it to ignore the userDataDir argument, which should be safe.
2020-01-28 15:03:10 -08:00
Pavel Feldman
09e97afd22
feat(wk,ff): amend method & postData upon continue ( #703 )
...
Fixes #668
2020-01-28 14:29:46 -08:00
Davy Duperron
62f4ed6b6a
feat(unit): add click test on animated target ( #655 )
2020-01-28 13:26:26 -08:00
Dmitry Gozman
c04ad140f3
feat(launcher): gracefully close browser on sigint ( #650 )
2020-01-28 13:07:53 -08:00
Dmitry Gozman
324874962c
fix(webkit): make frames detect their initial load state ( #690 )
2020-01-28 13:05:38 -08:00
Yury Semikhatsky
38b5f76d6e
fix(test): wait for load state before checking opener of popup ( #714 )
2020-01-28 11:27:14 -08:00
Dmitry Gozman
2bef4aea03
feat(api): introduce selectors.register method ( #701 )
2020-01-28 11:20:34 -08:00
Yury Semikhatsky
2ddc987854
fix(webkit): initialize popups on start ( #693 )
2020-01-28 11:07:35 -08:00
Andrey Lushnikov
54f442e0f4
fix: properly expose top-level devices ( #698 )
2020-01-27 17:21:39 -08:00
Dmitry Gozman
89b5d2f7be
fix(setContent): manually reset lifecycyle for all browsers at the right moment ( #679 )
2020-01-27 16:51:52 -08:00
Dmitry Gozman
541fa95ce4
fix(ownerFrame): correctly handle adopted node usecase ( #677 )
2020-01-27 11:43:43 -08:00
Pavel Feldman
b4b7c5eeef
feat(webkit): enable user-data-dir tests for all platforms ( #646 )
...
Fixes #560
2020-01-24 17:42:24 -08:00
Yury Semikhatsky
b64604c1ea
chore: replace pptr with pw ( #643 )
2020-01-24 16:15:41 -08:00
Dmitry Gozman
be19ae5e67
feat(browserApp): kill and onclose ( #641 )
2020-01-24 15:58:04 -08:00
Dmitry Gozman
f1d1dfb081
fix(webkit): rewrite global object retrieval errors ( #640 )
2020-01-24 15:56:41 -08:00
Dmitry Gozman
2b44d75eb6
test: move most launcher tests to common ( #621 )
2020-01-24 11:12:57 -08:00
Dmitry Gozman
060fbf7428
fix(workers): emit workerdestroyed event when clearing workers ( #618 )
2020-01-23 17:52:06 -08:00
Dmitry Gozman
056fbbd53e
fix(api): make pipe connection the default, expose webSocket launch option ( #562 )
2020-01-23 17:45:31 -08:00
Dmitry Gozman
866c60254b
fix(firefox): disable ICC color correction based on OS display ( #614 )
...
This way screenshots will be consistent across host environments.
2020-01-23 15:44:31 -08:00
Dmitry Gozman
c1cca19e90
test: extract tests for webkit provisional page ( #609 )
2020-01-23 15:32:56 -08:00
Yury Semikhatsky
044ebd7fd8
fix: delete contexts from the map on navigation ( #602 )
2020-01-23 14:58:30 -08:00
Dmitry Gozman
ac2ba3cbd9
fix(api): BrowserServer -> BrowserApp, resuse it between browsers ( #599 )
2020-01-23 14:40:37 -08:00
Pavel Feldman
b4209e9dc8
test: move user-data-dir tests into shared location ( #603 )
2020-01-23 12:18:41 -08:00
Dmitry Gozman
a5019ea69a
fix(api): remove remoteAddress from api ( #601 )
2020-01-23 12:13:58 -08:00
Dmitry Gozman
23a668e3be
feat(firefox): support request interception ( #571 )
2020-01-23 10:38:28 -08:00
Dmitry Gozman
68d51a371e
test: add a test for usage after disconnecting ( #595 )
2020-01-23 10:36:13 -08:00
Dmitry Gozman
fa2f321fdd
fix(api): remove BrowserServer.connect ( #574 )
2020-01-23 08:51:43 -08:00
Andrey Lushnikov
06e48f2294
test: skip failing wk test
2020-01-22 18:52:41 -08:00