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