Commit Graph

847 Commits

Author SHA1 Message Date
Yury Semikhatsky
5993a6a0e0
fix: throw from eval methods if >1 argument is passed (#2043) 2020-04-29 18:35:04 -07:00
Andrey Lushnikov
062a8361c8
test: cleanup installation tests from top-level env variables (#2022) 2020-04-29 17:10:44 -07:00
Pavel Feldman
c01e554edd
test: add more pausing tests (#2040) 2020-04-29 16:17:03 -07:00
Pavel Feldman
534857269b
fix(console): respect repeat count in webkit (#2032) 2020-04-29 12:13:57 -07:00
Dmitry Gozman
b11d7f15bb
feat(input): retry when hit target check fails, prepare for page pause (#2020) 2020-04-29 11:05:23 -07:00
Pavel Feldman
6c94f604d8
feat(chromium): roll to r763809 (#2028) 2020-04-29 08:44:09 -07:00
Yury Semikhatsky
c7b2c87f72
test: add failing test for creating two headful contexts (#1994) 2020-04-28 14:20:33 -07:00
Dmitry Gozman
7f5d89009c
test(click): add a test for 'Element has moved' exception (#2017) 2020-04-28 11:58:22 -07:00
Pavel Feldman
62966ba963
test(permissions): add chromium test for clipboard permissions (#2016) 2020-04-28 11:41:44 -07:00
Pavel Feldman
2b5ff83eaf
test: add failing headful test (#2013) 2020-04-28 09:48:44 -07:00
Dmitry Gozman
8aab725813
fix(css selector): properly parse quoted attributes when querying in shadow (#2007) 2020-04-27 19:50:11 -07:00
Pavel Feldman
d8cccbdb67
test: add goto after click test (#1999) 2020-04-27 17:16:32 -07:00
Dmitry Gozman
031587a9cf
fix(visibility): unify visibilty checks (#1998)
This applies a common definition of visibility to clicks and waitfors:
- non-empty bounding box - implies non-empty content and no display:none;
- no visibility:hidden.
2020-04-27 15:40:46 -07:00
Dmitry Gozman
030c217ae8
test: add a test for selectors with spaces in css attributes (#2001) 2020-04-27 13:47:09 -07:00
Pavel Feldman
7f8aa703dd
api(waitFor): remove waitFor, use specialized wait functions (#1995) 2020-04-27 12:08:29 -07:00
Dmitry Gozman
f9f5fd03b0
feat(selectors): allow to capture intermediate result (#1978)
This introduces the `*name=body` syntax to capture intermediate result.
For example, `*css=section >> "Title"` will capture a section that contains "Title".
2020-04-27 10:14:09 -07:00
Yury Semikhatsky
f58d909db4
fix(firefox): use separate processes for pages in different contexts (#1976) 2020-04-27 10:13:43 -07:00
Yury Semikhatsky
f386fa9415
test: add failing test for new page downloads (#1984) 2020-04-25 09:35:35 -07:00
Yury Semikhatsky
f9bd1d0720
fix(webkit): fix blob downloads on mac (#1972) 2020-04-25 08:46:58 -07:00
Dmitry Gozman
7ecf252dd6
feat(text selector): concat sibling text nodes when calculating text (#1969)
Text that is split into multiple text nodes now matches.
2020-04-24 20:49:29 -07:00
Yury Semikhatsky
7c9762fae9
fix: support blob downloads (#1954) 2020-04-23 20:04:19 -07:00
Andrey Lushnikov
62966144bd test: mark test as flaky on FFOX 2020-04-23 19:50:00 -07:00
Dmitry Gozman
5ac7f0e4ec
fix(text selector): allow single quoted text (#1952) 2020-04-23 18:48:53 -07:00
Pavel Feldman
c1c0237d4e
api(dispatchEvent): page, frame and handle versions added (#1932) 2020-04-23 14:58:37 -07:00
Dmitry Gozman
793586e42c
fix(click): throw instead of timing out when the element has moved (#1942) 2020-04-23 14:44:06 -07:00
Ross Wollman
dc23c567c4
tests(downloads): add a test for Blob downloads (#1936) (#1939) 2020-04-23 13:02:37 -07:00
Ross Wollman
53c78a8a29
fix(downloads): fix acceptDownloads complaint (#1777) (#1923) 2020-04-22 17:02:15 -07:00
Yury Semikhatsky
00e8d88777
fix: do not auto wait for downloads (#1921) 2020-04-22 15:08:39 -07:00
Yury Semikhatsky
b7afbf819f
fix(webkit): ignore WebSocket certificate errors on Mac (#1900) 2020-04-22 12:41:39 -07:00
Pavel Feldman
6ecac8c164
chore: restore networkidle0 alias (#1920) 2020-04-22 10:52:01 -07:00
Dmitry Gozman
95b8f61652
test: add more download tests (#1917) 2020-04-22 10:15:02 -07:00
Andrey Lushnikov
2926d33a47
test: disable flaky firefox tests (#1912) 2020-04-22 00:07:02 -07:00
Andrey Lushnikov
2d68830411
feat(testrunner): support --file to filter tests by test file name. (#1903) 2020-04-21 16:47:38 -07:00
Andrey Lushnikov
89b2fe5f38
feat: introduce PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD env variable (#1892) 2020-04-21 16:47:16 -07:00
Pavel Feldman
5b085fdf03
feat(logger): introduce context-level logger (#1896) 2020-04-20 23:24:53 -07:00
Dmitry Gozman
5d986317cf
test: add a test for non-navigation downloads (#1895) 2020-04-20 20:23:09 -07:00
Pavel Feldman
0656771167
api(networkidle): remove networkidle2 (#1883) 2020-04-20 16:52:26 -07:00
Dmitry Gozman
8ca120f8ab
fix(tests): fix DEBUGP when running in parallel (#1886) 2020-04-20 15:11:15 -07:00
Yury Semikhatsky
fb45c75b98
feat(webkit): simulate device orientation events (#1852) 2020-04-20 14:43:44 -07:00
Yury Semikhatsky
93c9083629
tests(firefox): unskip "should report shiftKey" on Linux&Win (#1833) 2020-04-20 14:43:26 -07:00
Dmitry Gozman
d1a95518be
chore: remove old TODOs, add a test (#1879) 2020-04-20 13:01:06 -07:00
Dmitry Gozman
a0003354d8
test: add a test for sourceURL in exception stacks (#1880) 2020-04-20 13:00:31 -07:00
Dmitry Gozman
649f37f885
fix(pageerror): report correct error message and stack (#1862)
The error stack matches the browser format.
2020-04-20 11:37:02 -07:00
Dmitry Gozman
effeaaf852
fix(click): force any hover effects before waiting for hit target (#1869)
This way, any on-hover animations or click blockers will be accounted for.
2020-04-20 10:07:59 -07:00
Pavel Feldman
1f43ae692f
feat(logging): introduce logger sink api (#1861) 2020-04-20 07:52:26 -07:00
Pavel Feldman
022bc67c07
chore(chromium): allow passing --remote-debugging-port for debugging (#1857) 2020-04-18 19:06:42 -07:00
Dmitry Gozman
55b4bc99bd
feat(actions): requery the element when it was detached during the action (#1853) 2020-04-18 18:29:31 -07:00
Dmitry Gozman
cf415bb45a
test: add failing popup tests (#1849) 2020-04-17 15:20:50 -07:00
Pavel Feldman
2a866d66cb test(network): rebaseline request failed test on win 2020-04-17 17:38:36 -08:00
Yury Semikhatsky
2b96b85e05
fix(firefox): throw error when added script blocked by CSP (#1841) 2020-04-17 08:51:54 -07:00
Pavel Feldman
a248430af8
reapply api(waitUntil): remove waitUntil options from the actions (#1842) 2020-04-16 20:31:04 -07:00
Andrey Lushnikov
3151ea22e3
test: disable flaky fixtures test (#1839) 2020-04-16 18:46:24 -07:00
Andrey Lushnikov
31460b18b8
Revert "api(waitUntil): remove waitUntil options from the actions (#1834)" (#1840)
This reverts commit d0b8710670.

Reason: multiple test failures on all Linux bots
- https://app.circleci.com/pipelines/github/microsoft/playwright/613/workflows/50dc6e2d-23b0-41d2-9765-42983b0ed91d/jobs/610
- https://travis-ci.com/github/microsoft/playwright/builds/160648417
- https://github.com/microsoft/playwright/pull/1839/checks?check_run_id=594015893
2020-04-16 18:46:10 -07:00
Andrey Lushnikov
51b8685a8c
feat(testrunner): support --repeat CLI flag to repeat tests (#1828)
This allows you to run `npm run cunit -- --repeat 10` to run
tests multiple times.
2020-04-16 18:09:25 -07:00
Pavel Feldman
d0b8710670
api(waitUntil): remove waitUntil options from the actions (#1834) 2020-04-16 16:04:10 -07:00
Dmitry Gozman
af2340c35e
fix(click): explicitly fail when element detached during click (#1835)
We used to timeout instead.
2020-04-16 15:38:41 -07:00
Yury Semikhatsky
04ed68384b
tests(firefox): unskip network idle tests (#1832) 2020-04-16 14:25:19 -07:00
Yury Semikhatsky
55c01da005
fix(firefox): fire "requestfailed" event on network errors (#1817) 2020-04-16 13:35:16 -07:00
Dmitry Gozman
f5942295d4
feat(api): wait for popups and downloads when performing actions (#1744) 2020-04-16 13:09:24 -07:00
Joel Einbinder
036f9e50fa
fix(webkit): allow fufilling requests to redirects (#1830) 2020-04-16 12:36:00 -07:00
Pavel Feldman
5ec2c58a75
test(selectText): restore firefox tests (#1829) 2020-04-16 12:31:22 -07:00
Pavel Feldman
2280126344
api(setInputFiles): introduce page/frame helpers, document, break compat (#1818) 2020-04-16 10:25:28 -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
Joel Einbinder
1b0467fb86
fix(chromium): get headers from browser process when intercepting (#1809) 2020-04-15 23:18:16 -07:00
Dmitry Gozman
ba36860d79
feat(api): page.unroute to remove routes (#1813) 2020-04-15 19:55:22 -07:00
Pavel Feldman
0426354451
feat(firefox): roll to r1082 (#1819) 2020-04-15 19:50:04 -07:00
Yury Semikhatsky
041406a664
fix(firefox): enable remaining focus tests (#1803) 2020-04-15 18:44:38 -07:00
Dmitry Gozman
56aa4c2e71
fix(selectors): do not automatically enter shadow roots with >> (#1812)
Now that we have shadow-aware selector engines, this extra logic adds confusion
and does not help to actually query the element.
2020-04-15 16:12:45 -07:00
Dmitry Gozman
b0d79d5124
feat(shadow): make css pierce shadow by default (#1784)
We leave css:light, text:light, id:light, and similar to opt-out from the shadow dom piercing. The notable exception is xpath that is always light.
2020-04-15 10:16:29 -07:00
Andrey Lushnikov
0ba823dd6f
feat: introduce page.on('crash') event (#1782)
Currently, whenever the page crashes, it emits an `'error'` event.
Error event is a special type of event in node.js; if unhandled,
it crashes the process.

Instead of emitting `'error'` event, this patch switches to emitting
`'crash'` event. Playwright users are free to handle the event
however they like, or just to ignore it.
2020-04-15 00:04:35 -07:00
Andrey Lushnikov
aeabf9d707
test: mark cookies test as flaky on win (#1796) 2020-04-15 00:04:15 -07:00
Yury Semikhatsky
451a6b7904
test: add more focus() tests (#1793) 2020-04-14 18:57:48 -07:00
Yury Semikhatsky
b232e004f5
fix(firefox): make ElementHandle.scrollIntoViewIfNeeded pass (#1786) 2020-04-14 18:24:17 -07:00
Pavel Feldman
da683b2752
feat(selectAll): allow selecting all in the inputs and in the plain dom (#1783) 2020-04-14 17:09:26 -07:00
Andrey Lushnikov
b2c65db37e
test: mark permissions tests as flaky on Linux & Firefox (#1791) 2020-04-14 17:00:56 -07:00
Andrey Lushnikov
ea7aadba2b devops: bump total tests timeout to 30 minutes 2020-04-14 16:31:15 -07:00
Yury Semikhatsky
24d51cb2bb
test: delete "Node.constructor.name in utility context" (#1788) 2020-04-14 15:36:11 -07:00
Dmitry Gozman
274c6c1450
test(chromium): add more oopif tests (#1685) 2020-04-14 13:00:10 -07:00
Pavel Feldman
cd5a48ffcb
test(geolocation): test context isolation (#1770) 2020-04-13 21:43:06 -07:00
Yury Semikhatsky
1c1d81cf3a
fix(firefox): make scroll&click tests pass (#1760) 2020-04-13 18:30:00 -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
9542f47511
feat(selectors): deep selector which pierces open shadow roots (#1738) 2020-04-13 13:04:27 -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
Joel Einbinder
a7572c7f09
feat: nicer error message for page.addScriptTag (#1754) 2020-04-12 18:46:53 -07:00
Joel Einbinder
8536fa885e
test(interception): add redirect test, failing in webkit and firefox (#1753) 2020-04-12 18:45:55 -07:00
Pavel Feldman
97c4054b7a
test(websockets): add web sockets tests (#1758) 2020-04-12 18:28:42 -07:00
Dmitry Gozman
277c7d872f
test: close extra browser (#1756) 2020-04-12 15:30:53 -07:00
Pavel Feldman
368e1cc49b
chore(input): refactor keyboard layout, extract pure layout (#1681) 2020-04-11 00:24:17 -07:00
Pavel Feldman
9249f33709
feat(webkit): roll WebKit, migrate to Playwright.exe (#1749) 2020-04-10 21:02:28 -07:00
Dmitry Gozman
bf656ea318
fix(tests): accomodate isplaywrightready (#1746) 2020-04-10 20:31:50 -07:00
Yury Semikhatsky
a1ffed6052
fix(firefox): do not create first window on start (#1727) 2020-04-10 14:12:30 -07:00
Pavel Feldman
3584205086
fix(chromium): associate navigation requests with navigations (#1724) 2020-04-09 19:03:06 -07:00
Dmitry Gozman
42beb3784f
feat(test): introduce test.config.js (#1725)
This file encapsulate everything specific to playwright testing. Now the general test.js can be reused for other projects.
2020-04-09 18:14:29 -07:00
Pavel Feldman
78abf5cb40
feat(api): add getAttribute, innerText, innerHTML, textContent (#1717) 2020-04-09 16:49:23 -07:00
Dmitry Gozman
1b366b0fc5
fix(test): properly handle custom executable path (#1723) 2020-04-08 19:34:33 -07:00
Dmitry Gozman
2d57fff0be
fix(tests): fix multiple browsers tests (#1718)
- Use a server only once, not once per browser.
- Avoid require cache for test files.
- Improve testrunner hooks debugging.
2020-04-08 15:54:17 -07:00
Dmitry Gozman
ade9d23c28
test: remove module.export.describe wrapper (#1716) 2020-04-08 15:19:09 -07:00
Dmitry Gozman
2ef8e26602
test: structure tests to use environments, closer to end user (#1713) 2020-04-08 14:17:34 -07:00
Dmitry Gozman
be06bb0139
test: mark headful test as slow (#1710) 2020-04-08 13:13:55 -07:00
Dmitry Gozman
0ff2e6a03e
test: move api coverage to a spec file (#1703) 2020-04-07 22:04:23 -07:00
Dmitry Gozman
af01d15f62
test: slim down test utils (#1701) 2020-04-07 19:15:48 -07:00
Dmitry Gozman
118333ad37
test: fix event coverage on Chromium (#1693)
Chromium events were mistakenly attributed to Firefox.
2020-04-07 16:21:31 -07:00
Yury Semikhatsky
a7ae205254
feat(firefox): support downloads (#1689) 2020-04-07 15:01:42 -07:00
Pavel Feldman
c6f580faf8
chore: migrate from timeouts to deadlines internally (#1695) 2020-04-07 14:35:34 -07:00
Dmitry Gozman
e683c086de
fix(fill): make fill work with date/time inputs (#1676)
Date/time inputs are locale-specific, and also do not work with insertText. We just set the value on them and emulate input/change events. Note that some browsers do not support these input types just yet.
2020-04-07 10:07:06 -07:00
Dmitry Gozman
e0c8fbf1a6
test: put test runner api on global, remove unused parameters (#1684) 2020-04-07 08:10:31 -07:00
Pavel Feldman
889cf8f7b6
fix(input): climb dom for pointer-events:none targets (#1666) 2020-04-06 20:44:54 -07:00
Pavel Feldman
3dc14eddaf
fix(colorScheme): make light scheme default on all browsers (#1668) 2020-04-06 19:49:33 -07:00
Dmitry Gozman
cd39053ccc
feat(testrunner): make it easier to setup golden matcher (#1682) 2020-04-06 18:01:56 -07:00
Dmitry Gozman
f2b13c0e93
chore(testrunner): split TestRunner into parts (#1679) 2020-04-06 17:21:42 -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
Dmitry Gozman
5673fd7040
feat(firefox): bump to 1071 (#1670) 2020-04-05 08:59:25 -07:00
Andrey Lushnikov
65ca87cd9a
fix: fix PLAYWRIGHT_BROWSERS_PATH treatment (#1662)
Drive-by: introduce installation tests that use `npm pack`
to simulate installation from NPM registry.

Fixes #1651
2020-04-03 23:16:14 -07:00
Pavel Feldman
17039f1649
fix(webkit): fix non-mac screenshots w/ dsf (#1665) 2020-04-03 21:54:43 -07:00
Dmitry Gozman
a91304a37a
feat(selectors): attribute selectors pierce open shadow roots (#1656)
References #1375.
2020-04-03 20:47:08 -07:00
Pavel Feldman
b89df07247
test: add device scale factor screenshot tests (#1660) 2020-04-03 15:48:29 -07:00
Dmitry Gozman
270206e2b4
feat(text selector): match button input by value (#1657)
Inputs of type button and submit are rendered with their value as text,
so we match them by text.

Fixes #1427.
2020-04-03 14:18:08 -07:00
Dmitry Gozman
a9be3c5191
feat(text selector): pierce shadow roots (#1619) 2020-04-02 18:03:30 -07:00
Pavel Feldman
75571e8eb8
feat(downloads): support downloads on cr and wk (#1632) 2020-04-02 17:56:14 -07:00
Joel Einbinder
3d6d9db44a
fix: wait for the process to close when closing the browser (#1629) 2020-04-02 16:57:12 -07:00
Max Schmitt
692f4db0a7
devops(ci): added job for testing package installations (#1572)
Closes #1518
2020-04-02 11:25:03 -07:00
Yury Semikhatsky
7c2ddc2e00
feat(firefox): support timezone override (#1578) 2020-04-01 22:10:56 -07:00
Dmitry Gozman
c345cfee54
test: disable one flaky test on Chromium (#1633) 2020-04-01 19:15:38 -07:00
Dmitry Gozman
14dbf4a20b
chore(tests): meaningful split between test.js and playwright.spec.js (#1630)
CLI handling goes to test.js.
Everything about running tests goes to playwright.spec.js.

This will help isplaywrightready and future jest integration.
2020-04-01 18:02:43 -07:00
Pavel Feldman
e241c1bef8
chore: remove web mode (#1625) 2020-04-01 14:42:47 -07:00
Yury Semikhatsky
c218d8c25f
fix(firefox): isolate ignoreHTTPSErrors setting between contexts (#1617) 2020-04-01 12:59:48 -07:00
Dmitry Gozman
a7b61a09be
fix(text selector): by default, do a substring match (#1618) 2020-03-31 23:04:04 -07:00
Joel Einbinder
34610f23f2
chore(tests): use public types for the tests (#1600)
Using the public types in our test will help us dogfood them. Typechecking isn't enabled yet, but I am working on it.
2020-03-31 15:43:20 -07:00
Pavel Feldman
307b33ab7d
feat(chromium): roll to r754895 (#1610) 2020-03-31 13:23:08 -07:00
Joel Einbinder
13a6c89dee
fix(test): actually test if page.waitFor accepts arguments (#1599) 2020-03-31 09:13:44 -07:00
Joel Einbinder
d130479e3c
feat(webkit): roll webkit to 1184 (#1570) 2020-03-30 14:49:40 -07:00
Pavel Feldman
1f08b72a27
test: add web socket leak test coverage (#1586) 2020-03-30 13:49:52 -07:00
Stuart Lang
a007caef5c
Fixed small typos (#1588) 2020-03-30 09:03:13 -07:00
Dmitry Gozman
b6166c9669
chore(testrunner): introduce Location class (#1585)
Drive-by: fix an edge when testing continued after termination.
2020-03-29 21:38:30 -07:00
Dmitry Gozman
a41836b1f1
chore(testrunner): introduce TestRun (#1582) 2020-03-28 14:25:57 -07:00
Dmitry Gozman
b85ab891a1
chore(testrunner): make most modifiers external (#1581) 2020-03-28 08:49:00 -07:00
Dmitry Gozman
f72b6b4778
test: try to unflake fixtures tests (#1574) 2020-03-27 20:29:24 -07:00
Pavel Feldman
b4a20140a2
test: add failing FF test around ignore https (#1576) 2020-03-27 17:21:44 -07:00
Pavel Feldman
4e89939ece
chore: do not try/catch buffer.concat (#1575) 2020-03-27 15:16:17 -07:00
Dmitry Gozman
72ae3a9165
feat(firefox): emulate device size (#1565) 2020-03-26 21:40:38 -07:00
Andrey Lushnikov
f503672e5f
test(firefox): enable configurable args test (#1564)
This was fixed with 9d0f465ebe
2020-03-26 18:27:35 -07:00
Yury Semikhatsky
59fa2cba90
test(firefox): enable locale tests (#1562) 2020-03-26 18:14:38 -07:00
Dmitry Gozman
b473d9dcf7
chore(firefox): remove FFPage._initialize to ensure early initialization (#1554) 2020-03-26 16:13:11 -07:00
Dmitry Gozman
f420cbb528
test: fix race in 'should respect routes from browser context' test (#1559)
We should await the popup, otherwise there is no guarantee that
request has already happened.
2020-03-26 15:55:01 -07:00
Andrey Lushnikov
b24262b46f
feat(browser): roll Firefox to r1059 (#1551)
This fixes flaky user gesture in evaluation.
2020-03-26 01:16:07 -07:00
Andrey Lushnikov
f2d72b3d95
test: enable flaky worker tests on Firefox (#1548)
Drive-by: remove dead websocket test.
2020-03-25 22:46:27 -07:00
Andrey Lushnikov
ece43aec57
test: mark 100mb evaluate test as slow (#1546) 2020-03-25 22:05:18 -07:00
Dmitry Gozman
bce8fc1343
feat(selectors): allow running selectors in main world (#1533) 2020-03-25 20:59:48 -07:00
Yury Semikhatsky
89e123b708
test(firefox): enable CSP tests that use new Function() (#1542) 2020-03-25 17:49:07 -07:00
Dmitry Gozman
c01ad84bd4
fix(fill): use isVisible to be consistent with waitForSelector (#1539)
Fixes #1442.
2020-03-25 14:40:42 -07:00
Dmitry Gozman
60942d0af5
chore(selectors): move selectors logic to selectors.ts (#1536)
This encapsulates selectors logic in one place, in a preparation for more complex scenarios like main-world selectors or piercing frames.

Note: we had `Page.fill should wait for visible visibilty` test, but we do not actually wait for visible in page.fill(). It happened to pass due to lucky evaluation order.

References #1316.
2020-03-25 14:08:46 -07:00
Pavel Feldman
ef9e04d399
fix(permissions): fix notifications permissions on firefox (#1531) 2020-03-25 11:52:50 -07:00
Yury Semikhatsky
2d5b701662
test(firefox): fix should close browser with beforeunload page (#1532) 2020-03-25 08:29:29 -07:00
Pavel Feldman
5bde0b59b5
feat(auth): fix firefox auth flake (#1525) 2020-03-24 23:12:07 -07:00
Dmitry Gozman
4f89e4031c
test: fix flaky interception test (#1508) 2020-03-24 09:08:29 -07:00
Yury Semikhatsky
7efff97753
fix(chromium): properly handle failures to set override (#1498) 2020-03-23 17:23:47 -07:00
Pavel Feldman
c0c9b7f137
test: make debugp collect IO (take 2) (#1493) 2020-03-23 15:08:02 -07:00
Yury Semikhatsky
afbc2f272a
test(firefox): enable passing "userDataDir option should restore cookies" (#1487) 2020-03-23 14:59:29 -07:00
Dmitry Gozman
de0a2d1081
api(waitForLoadState): move waitUntil to be a first parameter (#1490) 2020-03-23 13:51:11 -07:00
Yury Semikhatsky
45a175d8fe
fix(chromium): ignore lifecycle events for the initial empty page (#1486) 2020-03-23 13:50:04 -07:00
Pavel
1ddf05113b Revert "test: make debugp collect IO (#1485)"
This reverts commit b1bebdad2e.
2020-03-23 13:48:22 -07:00
Pavel Feldman
b1bebdad2e
test: make debugp collect IO (#1485) 2020-03-23 13:42:51 -07:00
Dmitry Gozman
15fddb5177
api(click): rename offset to position (#1488)
To allow for features like position: 'center' or similar.
2020-03-23 12:05:08 -07:00
Pavel Feldman
15ebe1c339
feat(exposeFunction): implement context-level expose on firefox (#1478) 2020-03-22 22:45:15 -07:00
Pavel Feldman
23e5d80e06
test: uncomment slow ff tests (#1479) 2020-03-22 22:16:39 -07:00
Pavel Feldman
c68cee9fb7
feat(offline): implement offline in firefox (#1476) 2020-03-22 15:34:30 -07:00
Dmitry Gozman
6e8895fa08
fix(firefox): make interception, locale and geolocation work on browser context level (#1472) 2020-03-22 08:56:50 -07:00
Dmitry Gozman
3f90c09e6d
tests: mark popup tests as passing on Firefox (#1466) 2020-03-21 19:56:33 -07:00
Pavel Feldman
1b08797c6f
tests(ff): uncomment a couple of firefox tests (#1465) 2020-03-21 17:58:33 -07:00
Dmitry Gozman
670ce7a591
chore: remove various watchers, use FrameTask directly (#1460) 2020-03-21 13:02:37 -07:00
Dmitry Gozman
60a248ef42
test: add test for Map as eval argument (#1457) 2020-03-20 21:24:34 -07:00
Yury Semikhatsky
34cc358ad3
tests(webkit): reenable should await promise from popup (#1447) 2020-03-20 21:22:48 -07:00
Dmitry Gozman
e115e8e2a9
tests: mark tests that launch() twice or use fixtures as slow (#1455) 2020-03-20 19:49:35 -07:00
Pavel Feldman
5a42cbd491
fix(permissions): manage permissions on the proxy level in webkit (#1451) 2020-03-20 19:45:35 -07:00
Pavel Feldman
e210e5601c
feat(lang): emulate language on firefox (#1453) 2020-03-20 19:32:27 -07:00
Pavel Feldman
c539325615
feat(geo): implement geo override in ff (#1438) 2020-03-20 19:17:46 -07:00
Yury Semikhatsky
bae56ea9d3
fix(chromium): support main resource request interception for popups (#1449) 2020-03-20 16:13:42 -07:00
Yury Semikhatsky
4320d4ba83
test: fix link navigation test so that it passes in Chromium (#1448) 2020-03-20 15:45:20 -07:00
Dmitry Gozman
16c7a5bd5c
api(eval): accept zero or one arguments in all evaluation functions (#1431) 2020-03-20 15:08:17 -07:00
Joel Einbinder
825555cddf
types: better types (#1166)
This generates typescript definitions based on the api.md, instead of autogenerating them from the typescript source code.

Now types
 - only include the public api
 - work with older versions of typescript
 - include descriptions
 - are more consistent
 - are more complete

#6
2020-03-20 01:30:35 -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
Pavel Feldman
2af07ce475
chore: rework disposers into a frame task (#1413) 2020-03-18 20:05:35 -07:00
Dmitry Gozman
7bd924673a
fix(PageEvent): properly wait for initial navigation in chromium and webkit (#1412) 2020-03-18 17:14:18 -07:00
Dmitry Gozman
dd850ada89
api(eval): allow non-toplevel handles as eval arguments (#1404) 2020-03-18 10:41:46 -07:00
Pavel Feldman
049b336800
api(devices): extract isMobile/hasTouch from viewport (#1415) 2020-03-17 18:21:02 -07:00
Joel Einbinder
39e5eb7eda
feat(devices): remove name from device objects (#1414) 2020-03-17 16:04:42 -07:00
Pavel Feldman
e4225adcc0
feat(permissions): make origin optional (#1406) 2020-03-17 15:32:50 -07:00
Darío Kondratiuk
840146273e
test(web): Remove unused variable (#1410) 2020-03-17 09:05:33 -07:00
Dmitry Gozman
aa32d351be
fix(tests): remove flaky load event from auto-waiting tests (#1399)
We do not guarantee that click resolves before load event comes.
Theoretically, inserting two tasks before resolving load should help,
but seems like a strange contract.

Drive-by: move auto waiting tests to a separate file.
2020-03-16 18:33:39 -07:00
Pavel Feldman
64b175ce10
api(waitForLoadState): restore it (#1390) 2020-03-16 14:39:44 -07:00
Dmitry Gozman
6731d37546
api(network): replace redirectChain with redirectedFrom/redirectedTo (#1401) 2020-03-16 13:31:06 -07:00
Joel Einbinder
6dcd6a6eec
fix(types): jsHandle.getProperty should never resolve to null (#1402)
Added a test to confirm that this was dead code.
2020-03-16 13:23:04 -07:00
Pavel Feldman
e4991a1489
tests: add some failing page event tests (#1394) 2020-03-14 19:14:46 -07:00
Pavel Feldman
e692dd6e62
api(cdp): rename ChromiumSession to CDPSession (#1380) 2020-03-13 16:16:54 -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
601d57a300
test: add a test for popup with window features (#1381) 2020-03-13 13:08:35 -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