Commit Graph

575 Commits

Author SHA1 Message Date
Pavel Feldman
f2b2d72693
fix(input): emit change events upon page.setInputFiles (#1028) 2020-02-18 09:15:47 -08:00
Pavel Feldman
e65897844f
test: add screenshot test that fails on Chromium (#1039) 2020-02-15 16:34:27 -08:00
Darío Kondratiuk
cfeaecb3d2
test(keyboard): Remove duplicated test (#1031) 2020-02-15 14:58:07 -08:00
Joel Einbinder
3656403f2d
fix(keyboard): Add mac editing commands for NumpadEnter (#1026)
This should fix NumpadEnter on webkit for mac.
2020-02-14 18:37:02 -08:00
Joel Einbinder
21acb369db
fix(keyboard): correctly press enter on firefox (#1023) 2020-02-14 17:42:08 -08:00
Andrey Lushnikov
5695ade926
test: add failing test for Firefox (#1019)
References #1009
2020-02-14 17:02:22 -08:00
Dmitry Gozman
dbb45d443a
Revert "feat(click): waitForInteractable option, defaults to true (#934)" (#1013)
Reason: new tests are flaky on all bots.
2020-02-14 13:05:23 -08:00
Dmitry Gozman
9413351d3f
feat(click): waitForInteractable option, defaults to true (#934) 2020-02-14 11:55:34 -08:00
Dmitry Gozman
1eabd182e9
test(firefox): unskip passing url hash test (#998) 2020-02-13 18:22:14 -08:00
Pavel Feldman
4d7e531520
fix(webkit): wait for the pipe ready on windows (#997) 2020-02-13 17:46:40 -08:00
Pavel Feldman
cd4e9da807
feat(coverage): export raw v8 coverage (#976)
Fixes #955
2020-02-13 17:39:14 -08:00
Andrey Lushnikov
7ec3bf4d94 test: fix locale tests on mac 2020-02-13 17:03:35 -08:00
Andrey Lushnikov
b181b34e2e test: attempt to normalize locale tests 2020-02-13 15:32:39 -08:00
Pavel Feldman
b96d985d12
test: fix locale expectations on non-Mac (#994) 2020-02-13 15:12:54 -08:00
Dmitry Gozman
25022e4685
feat(api): introduce default timeouts on BrowserContext (#992) 2020-02-13 14:18:18 -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
Pavel Feldman
c15534ff01
fix(locale): document locale parameter (#990) 2020-02-13 13:37:59 -08:00
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
Dmitry Gozman
3269358ac8
feat(webkit): covert pipe to websocket when asked (#570) 2020-01-22 17:42:10 -08:00
Pavel Feldman
bb4ae87c61 feat(webkit): roll webkit to 1106 (#573) 2020-01-22 17:34:34 -08:00
Yury Semikhatsky
6308dbe01e fix(webkit): always push state changes to the provisional page (#564) 2020-01-22 14:17:44 -08:00
Pavel
1c8b421260 chore: remove web sockets for now, mute failing wpe tests 2020-01-21 18:33:19 -08:00
Joel Einbinder
612834b9e8 test: disable failing scrollIntoViewIfNeeded test for firefox (#546) 2020-01-21 12:01:39 -08:00
Pavel Feldman
80c3b46a54
feat(websockets): implement support for ws on cr/wk (#542) 2020-01-21 11:48:48 -08:00
Dmitry Gozman
ddf47bc291 feat(worker): report workers network activity (#545) 2020-01-21 10:41:04 -08:00
Dmitry Gozman
894e91bb68 fix(api): remove $x form the api, $$ works equally good (#544) 2020-01-20 11:30:22 -08:00
Dmitry Gozman
6cf70e2e4c test(firefox): enable some passing tests (#536) 2020-01-17 17:51:48 -08:00
Dmitry Gozman
d64c38b586 feat(firefox): support workers (#532) 2020-01-17 17:51:02 -08:00
Dmitry Gozman
bb3f12245c feat(network): ignore favicon requests - these are too unpredictable (#533) 2020-01-17 17:14:39 -08:00
Yury Semikhatsky
879ce66f5e
test(webkit): unskip one more navigation test (#534) 2020-01-17 17:12:43 -08:00
Yury Semikhatsky
f76db837c9 fix(webkit): make interception work with cross-process navigation (#529) 2020-01-17 16:48:50 -08:00
Yury Semikhatsky
44cbe00643
test(webkit): unskip passing test (#530) 2020-01-17 16:17:51 -08:00
Dmitry Gozman
82057ac610 test: make api coverage checker work (#517) 2020-01-16 17:46:50 -08:00
Dmitry Gozman
057e466a65 fix(api): remove network events for data: urls (#512) 2020-01-16 16:58:02 -08:00
Dmitry Gozman
447d76d6cd
fix(firefox): assorted fixes to evaluation and remote objects (#511) 2020-01-16 15:24:37 -08:00
Dmitry Gozman
21510a5b06
feat(firefox): support isolated worlds (#507) 2020-01-16 12:57:28 -08:00
Joel Einbinder
a92bec13cb test: disable flaky redirect loop test (#496) 2020-01-15 22:05:27 -08:00
Pavel Feldman
a71f31d07e
fix(wkwin): misc test fixes (#502) 2020-01-15 17:53:03 -08:00
Pavel Feldman
6f92d19cdd
test: rebaseline with win32 in mind (#499) 2020-01-15 13:40:44 -08:00
Joel Einbinder
aaa1c9203e
feat(firefox&webkit): support root in accessibility.snapshot (#495)
This adds support for `root` in accessibility.snapshot
firefox role names are now normalized to aria roles where they match
webkit roledescriptions are less noisey on mac
webkit mac/linux results are further defined
interestingOnly tests are replaced by one that doesn't rely on undefined behavior
the main accessibility test was split up a bit for more refined testing.
2020-01-14 16:54:50 -08:00
Joel Einbinder
29c3a7f021 test: add a failing test for Page.waitForLoadState (#488) 2020-01-14 13:54:48 -08:00
Yury Semikhatsky
5fa39dde3f
fix(webkit): use cross-process loader ids (#486) 2020-01-14 11:46:08 -08:00
Dmitry Gozman
5b1aef4c20 api: remove BrowserFetcher from api, update docs (#487) 2020-01-14 10:07:26 -08:00
Yury Semikhatsky
ff904d3a61
Revert "fix(webkit): use cross-process loader ids (#484)" (#485)
This reverts commit d341b43023.
2020-01-14 09:49:49 -08:00
Yury Semikhatsky
d341b43023
fix(webkit): use cross-process loader ids (#484) 2020-01-14 09:48:36 -08:00
Dmitry Gozman
74b208cae5 feat(selectors): text=foo selector engine (#475) 2020-01-13 17:39:43 -08:00
Dmitry Gozman
b388722777
chore: update top-level api (#479)
```
require('playwright').chromium.launch(...)
window.playwrightweb.chromium.connect(...)
```
2020-01-13 17:36:46 -08:00
Joel Einbinder
0ea6e19b09
fix(test): failing ci tests (#478)
disables some failing Firefox tests
Moves newContext error checking before the context is created, to not create zombie contexts
sets CI timeout to 30 seconds
waits for `exit` instead of `close` for processes
2020-01-13 17:16:05 -08:00
Dmitry Gozman
929b7d979b
test(selectors): should auto-detect css selector with attributes (#477) 2020-01-13 17:13:36 -08:00
Dmitry Gozman
8b09358a56
fix(screenshot): element screenshot should not throw when viewport is null (#472) 2020-01-13 16:29:08 -08:00
Dmitry Gozman
a88d30140c fix(geolocation): improve geolocation validation (#471) 2020-01-13 15:39:13 -08:00
Dmitry Gozman
88a11a3fbd fix(getProperties): return empty map for non-objects (#470) 2020-01-13 15:36:22 -08:00
Andrey Lushnikov
98bf9ac1d5
fix(testrunner): return correct exit code (#474) 2020-01-13 15:30:16 -08:00
Dmitry Gozman
a1d1f26fb7 chore: more strict type checking (#466) 2020-01-13 13:33:25 -08:00
Pavel Feldman
d19f10ef42
fix(geolocation): use values from context options (#463) 2020-01-13 13:32:44 -08:00
Yury Semikhatsky
778ab3deff chore: replace CHROME with CHROMIUM (#465) 2020-01-13 10:13:28 -08:00
Pavel Feldman
00057df92b test: uncomment more webkit tests (#461) 2020-01-11 08:37:51 -08:00
Pavel Feldman
16cedfe9da
test: rebaseline mobile viewport screenshot (#462) 2020-01-10 22:34:17 -08:00
Pavel Feldman
69fe6ece43 test: mark web sdk tests as non-core 2020-01-10 21:54:42 -08:00
Dmitry Gozman
67e4214146 feat(navigation): early return when navigation was canceled by another one (#459)
Also added related interception tests.
2020-01-10 17:33:07 -08:00
Andrey Lushnikov
7a7ff9e994 Revert "Revert "feat(firefox): roll Firefox to r1011 (#452)""
This reverts commit a738af4603.
2020-01-11 02:32:28 +01:00
Dmitry Gozman
63f16a9ef8
fix(screenshot): provide nice error message during navigation (#456) 2020-01-10 17:25:28 -08:00
Dmitry Gozman
c77fd5e6cb
feat(pw-web): generate playwright/web.js which can be used in the browser (#455) 2020-01-10 16:03:10 -08:00
Dmitry Gozman
15b05e43bc test(emulation): should update settings during navigation (#457) 2020-01-10 15:53:48 -08:00
Pavel Feldman
a738af4603 Revert "feat(firefox): roll Firefox to r1011 (#452)"
This reverts commit c1f75f7833.
2020-01-10 12:17:34 -08:00
Andrey Lushnikov
c1f75f7833 feat(firefox): roll Firefox to r1011 (#452) 2020-01-10 10:54:24 -08:00
Pavel
4bdbe81856 chore: shuffle screenshot tests 2020-01-09 17:45:30 -08:00
Pavel
896701b3e3 test: uncomment geolocation tests on WK 2020-01-09 17:40:50 -08:00
Pavel Feldman
4d2a503c44
feat(webkit): rebaseline Joel's pass all viewport tests PR (#440) 2020-01-09 17:06:06 -08:00
Pavel Feldman
63f208bafb test(screenshots): add a bunch of screenshot tests (#448) 2020-01-09 16:43:11 -08:00
Dmitry Gozman
987863cfb8
chore(webkit): remove WKPageProxySession, separate connection from browser session (#447) 2020-01-09 15:14:35 -08:00
Joel Einbinder
d83d3c3851
feat(webkit): basic isMobile viewport support (#348) 2020-01-08 20:15:30 -08:00
Joel Einbinder
f161a36a16 feat(webkit): roll webkit to 1076 (#431) 2020-01-08 15:34:35 -08:00
Yury Semikhatsky
b6f1b17906
fix(webkit): do not fire FrameNavigated when receive resource tree (#432) 2020-01-08 15:32:13 -08:00
Dmitry Gozman
28bad69093
fix(server): tidy up BrowserServer.close methods (#426) 2020-01-08 13:55:38 -08:00
Yury Semikhatsky
b654fd614d
test(webkit): enable Keyboard should work after a cross origin navigation (#428) 2020-01-08 12:28:00 -08:00
Yury Semikhatsky
86fc2699aa
test(webkit): enable click test that was fixed by moving input agent (#424) 2020-01-08 10:49:14 -08:00
Dmitry Gozman
8697929e39
chore: move webkit server code to src/server (#415) 2020-01-07 16:15:07 -08:00
Dmitry Gozman
f15abadc9e chore: refactor CRBrowserServer (#408) 2020-01-07 14:13:55 -08:00
Pavel Feldman
f75ac45c42
feat(workers): support workers in webkit (#400) 2020-01-07 12:59:01 -08:00
Dmitry Gozman
9c966c8b19
feat(pw-web): introduce platform.ts to absract between node and browser platforms (#392) 2020-01-07 11:55:24 -08:00
Arjun Attam
562e6f5fe1 chore(license): use Apache 2.0 (#389) 2020-01-06 18:22:35 -08:00
Pavel Feldman
e826a4d3f4
fix: await the popup nav to make the test pass (#391) 2020-01-06 16:34:04 -08:00
Pavel Feldman
15ee47c7b2 feat(auth): roll webkit to 1063, make auth work for headful (#387) 2020-01-06 16:31:38 -08:00
Pavel Feldman
a3e3ff73bd
test: fix the popup test on WebKit / GTK (#384) 2020-01-06 13:31:37 -08:00
Dmitry Gozman
491eeeef7e feat(scrollIntoView): expose scrollIntoViewIfNeeded in api (#382)
This also replaces isIntersectingViewport with visibleRatio for more flexibility.
2020-01-06 13:16:56 -08:00
Pavel Feldman
58b8e66df8
tests: make WebKit / GTK run all tests again (#383) 2020-01-06 11:48:11 -08:00
Pavel Feldman
38e79f12ec feat(media): remove media emulation from browser context options (#377) 2020-01-05 14:39:16 -08:00
Pavel Feldman
2f3593bd9a
test: uncomment / fix webkit tests that time out (#379) 2020-01-04 22:27:09 -08:00
Joel Einbinder
9fb6a68b25 fix(webkit): use protocol to serialize values instead of JSON (#373) 2020-01-03 15:39:01 -08:00
Dmitry Gozman
04bf728364 test: make network cache test pass on all browsers (#374) 2020-01-03 15:34:51 -08:00
Dmitry Gozman
cf6f04893c
fix(browserContext): make a copy of passed options object (#370) 2020-01-03 14:42:18 -08:00
Pavel Feldman
62888d8543
revert(json): revert WK null-json mode, joel has a better fix (#372) 2020-01-03 14:06:55 -08:00
Dmitry Gozman
32edca7395 fix(networkidle): ignore favicons and keep track of requests (#368)
This counters Firefox not cancelling existing requests on navigation.
2020-01-03 12:59:27 -08:00
Dmitry Gozman
310d4b193b test: check that we inherit options from BrowserContext to the Page (#367) 2020-01-03 11:17:14 -08:00
Joel Einbinder
790e38a678 feat(webkit): accessibility (#350)
* move accessibility out of features

* feat(webkit): accessibility
2020-01-03 11:15:43 -08:00
Pavel Feldman
fcd62b9611 feat(webkit): roll webkit to r1060, support target crash (#364) 2020-01-03 11:10:10 -08:00
Dmitry Gozman
6c1289626b
test: add a test for orientationchange event (#366) 2020-01-03 11:01:13 -08:00
Pavel Feldman
2d14d1ec1f feat(geo): enable geolocation overrides on WK (#361) 2020-01-03 10:14:50 -08:00
Pavel Feldman
0d9638fe20 feat(webkit): support pageerror event (#362) 2020-01-03 10:07:49 -08:00
Joel Einbinder
26538d6aec test: add mobile screenshot test, failing on webkit and firefox (#354) 2020-01-02 15:28:14 -08:00
Pavel Feldman
0fab90be79
feat(evaluate): survive null JSON in WK and FF (#352) 2020-01-02 15:06:28 -08:00
Arjun Attam
682e2be15f fix: allow email type in input for fill action (#353) 2020-01-02 14:10:01 -08:00
Pavel Feldman
b64bd35c23
feat(evaluate): survive null JSON (#351) 2020-01-02 12:13:18 -08:00
Pavel Feldman
6a04e1f026 feat(offline+auth): enable those in webkit, make them a part of the core API (#346) 2019-12-30 23:09:54 +01:00
Pavel Feldman
654fa22cc7 feat(webkit): enable request interception (#343) 2019-12-30 23:05:28 +01:00
Yury Semikhatsky
c540561503
test(wk): unskip passing test (#339) 2019-12-26 15:27:52 -08:00
Yury Semikhatsky
f56ff07f19
fix(wk): support ElementHandle.ownerFrame (#338) 2019-12-26 14:05:46 -08:00
Yury Semikhatsky
3f0eaa2350
test(wk): unskip test that failed because bootstrap scripts did not survive PSON (#331) 2019-12-23 10:40:15 -08:00
Pavel Feldman
4638019902
feat(api): use good old inheritance instead of feature detection (#329) 2019-12-21 09:03:52 -08:00
Pavel Feldman
8f480a3987 docs: more docs update (#327) 2019-12-20 16:57:21 -08:00
Yury Semikhatsky
701b5db452 fix(wk): make evaluateOnNewDocument work with PSON (#326) 2019-12-20 16:16:32 -08:00
Dmitry Gozman
735d3eeed7
feat(navigation): introduce waitForNavigationIfNeeded (#310)
This one waits for current navigation to finish, matching by url if asked.
If there is no current navigation or current navigation/url does not match,
it waits for the next matching one.
2019-12-20 15:32:30 -08:00
Dmitry Gozman
56a48559c2
fix(setContent): call window.stop() before setting new content (#323)
This ensures that previous loading activity is suppressed and all network requests are canceled.
2019-12-20 15:30:12 -08:00
Pavel Feldman
9cfa404c87
feat: trim down url matching (#322) 2019-12-20 14:38:54 -08:00
Yury Semikhatsky
6b60b510b3 test: make fixture tests pass in all browsers (#321) 2019-12-20 14:10:13 -08:00
Pavel Feldman
ad22a46fde
feat: move permissions back into the context (#320) 2019-12-20 13:07:14 -08:00
Joel Einbinder
ce74a659e1 test: failing test for setting JSON equal to null (#314) 2019-12-19 17:25:09 -07:00
Andrey Lushnikov
a7f3490e48 feat(testrunner): implement "dit" command (#312) 2019-12-19 16:47:35 -07:00
Dmitry Gozman
12ac458614 fix(elementhandle): contentFrame and ownerFrame work in various scenarios (#311)
Drive-by: use evaluateInUtility for various utility evals.
2019-12-19 15:19:22 -08:00
Dmitry Gozman
7e90292834 fix(networkidle): make it (almost) work with setContent (#307) 2019-12-19 15:07:57 -08:00
Pavel Feldman
331f0e603a feat: introduce BrowserServer (#308) 2019-12-19 14:51:49 -08:00
Dmitry Gozman
b378bc7f6c
feature(evaluate): support cross-context element handles (#295) 2019-12-19 11:44:07 -08:00
Dmitry Gozman
c172a7e7e0 feature: $wait similar to waitForFunction, but taking a selector (#303) 2019-12-18 18:11:02 -08:00
Pavel Feldman
d570fc7809
feat: further strip the browser api (#304) 2019-12-18 18:07:11 -08:00
Dmitry Gozman
3669dad243 feat(urlmatch): support url matching in waitForNavigation (#300) 2019-12-18 18:03:02 -08:00
Joel Einbinder
1c2b6444e9 test(webkit): add tests for after cross origin navigations (#298) 2019-12-18 17:42:16 -08:00
Andrey Lushnikov
8cc682c7b8 feat(testrunner): allow focusing all tests in a file
With this change, exporting a "fdescribe" function from a file
will focus all tests inside the file.
2019-12-18 17:13:39 -08:00
Pavel Feldman
0e3328218d feat(context): remove the notion of incognito context (#299) 2019-12-18 16:44:02 -08:00
Yury Semikhatsky
da051a72a8 fix: strip off hash from request urls (#297) 2019-12-18 16:27:20 -08:00
Pavel Feldman
b5e9086576 chore: remove browser from the api (#296) 2019-12-18 16:23:05 -08:00
Yury Semikhatsky
1d4ebd37b1
tests(webkit): mark Page.navigate to invalid URL test as passing (#293) 2019-12-18 16:49:43 -07:00
Yury Semikhatsky
ac2ea265fe
test(wk): unskip passing navigation test (#294) 2019-12-18 16:01:08 -07:00
Andrey Lushnikov
44b39bad33 fix(testrunner): show maximum 10 skipped tests in test report
This is to save some terminal screen real estate.

Drive-by: remove async test suites from test runner.
2019-12-18 14:33:46 -08:00
Dmitry Gozman
9afd35d3a1
feature(waitfor): waitFor visible or any by default (#284) 2019-12-18 14:28:16 -08:00
Dmitry Gozman
7750db97fe
api: remove ExecutionContext from api (#290)
In the current state, it is superseeded by Frame and JSHandle.
2019-12-18 13:51:45 -08:00
Yury Semikhatsky
58cd8210b0 test: disable new referrer test on FF 2019-12-18 13:36:35 -08:00
Yury Semikhatsky
adf54ee6b3
tests: move ws-specific browser tests to corrsponding browser suites (#289) 2019-12-18 13:28:23 -07:00
Pavel Feldman
6d0dfd0abf
feat(context): start moving overrides to the context level 2019-12-18 12:23:33 -08:00
Andrey Lushnikov
f56726759b
test: normalize browser executable path variables (#287) 2019-12-17 18:07:01 -08:00
Dmitry Gozman
0f8333ba89
feature(filechooser): move waitForFileChooser to common waitForEvent (#281) 2019-12-17 17:34:32 -08:00
Andrey Lushnikov
533d058ea6
fix(firefox): support late attachment and skip a few failing tests (#283) 2019-12-17 17:33:06 -08:00
Yury Semikhatsky
83833f61c1
feat(webkit): support referrer parameter in Page.navigate (#286)
* add test for reference-policy: no-referrer
2019-12-17 18:19:35 -07:00
Dmitry Gozman
fd927000ea feature: update api around selectors (#280)
- Selector is again a string.
- Most methods taking selector also accept waitFor option.
- Available waitFor options are: 'visible', 'hidden', 'any' === true, false === undefined.
- waitForXPath is removed.
- waitForSelector is replaced by $(selector, { waitFor: true }).
2019-12-17 14:30:02 -08:00
Dmitry Gozman
75ae9bfeee
feature(waitFor): use URLMatch to match request/response, waitForEvent for generic (#278) 2019-12-17 14:00:39 -08:00
Andrey Lushnikov
0dafabb05e test: fix a few tests on firefox (#279) 2019-12-17 13:33:05 -07:00
Dmitry Gozman
24eb6d8671
chore: simplify extra http headers handling across browsers (#274) 2019-12-17 11:31:52 -08:00
Yury Semikhatsky
e851a27350
feat(webkit): implement ElementHandle.contentFrame (#276) 2019-12-17 12:21:53 -07:00
Yury Semikhatsky
629c56b0ab test: make async stacks pass on WebKit (#277) 2019-12-17 11:04:04 -08:00
Dmitry Gozman
5a60a96410 chore: reuse navigation methods between browsers (#271) 2019-12-16 22:02:33 -08:00