Commit graph

373 commits

Author SHA1 Message Date
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