Pavel Feldman
2bd427ad1d
feat(exposeBinding): a more powerful exposeFunction with source attribution ( #2263 )
2020-05-18 14:28:06 -07:00
Pavel Feldman
99b7aaace8
chore: refactor injected script harness ( #2259 )
2020-05-15 15:21:49 -07:00
Andrey Lushnikov
a38ac3fb62
fix: report hash in page.url()
( #2252 )
...
Fixes #2247
2020-05-14 17:23:19 -07:00
Dmitry Gozman
e8e761f77f
chore: use internal BrowserOptions to unify browsers ( #2230 )
2020-05-14 13:22:33 -07:00
Pavel Feldman
17286ab712
feat(webkit): roll to r1228 ( #2232 )
2020-05-14 07:57:29 -07:00
Dmitry Gozman
76e106605f
fix(screenshot): use innerW/H instead of offsetW/H to determine viewport size ( #2229 )
...
When capturing a screenshot with null viewport, we determine the screenshot size
based on body.offsetHeight. This is a very large number for long pages. We should
use window.innerHeight instead.
2020-05-13 20:53:11 -07:00
Dmitry Gozman
2bca64a023
test: mark failing headful tests as such ( #2226 )
2020-05-13 18:33:07 -07:00
Pavel Feldman
a4b670464e
test: update download test failure expectation ( #2225 )
2020-05-13 18:32:43 -07:00
Dmitry Gozman
650d73445c
fix(actions): do not wait for the created popups ( #2219 )
...
Since we are recommending Promise.all pattern anyway, this special
logic just adds to the possibility of timeout if something goes wrong.
For example, Firefox sometimes send Page.willOpenNewWindowAsynchronously
later than the new target arrives and input action just hangs.
2020-05-13 17:20:33 -07:00
Dmitry Gozman
884860b803
test: unflake launcher test ( #2224 )
...
We throw an exception and then gracefully close the browser.
If something went wrong, we should timeout before the test times out,
kill the process and report the original exception.
2020-05-13 17:19:07 -07:00
Pavel Feldman
f63ea3ffd2
feat(downloads): expose suggested filename ( #2062 )
2020-05-12 19:23:08 -07:00
Dmitry Gozman
072dcba94a
api(viewport): do not allow isMobile and deviceScaleFactor for null viewports ( #2190 )
...
Also make sure we do not alter viewport when passed null.
2020-05-12 18:31:17 -07:00
Dmitry Gozman
6361e07ae4
fix(docs): clarify repeating calls to setHTTPCredentials ( #2212 )
2020-05-12 18:29:55 -07:00
Dmitry Gozman
28845e5ccc
feat(firefox): bump and use context setters ( #2194 )
2020-05-12 15:13:48 -07:00
Pavel Feldman
cb465bc698
fix(abort): abort waiting with error upon disconnect ( #2204 )
2020-05-12 13:38:24 -07:00
Pavel Feldman
3f8dfed67f
feat(electron): add app.firstWindow convenience method ( #2195 )
2020-05-12 08:43:41 -07:00
Pavel Feldman
ffe7084652
feat(electron): experimental electron support ( #2166 )
2020-05-11 18:00:33 -07:00
Dmitry Gozman
a2bee2ca73
fix(launch): handle timeout and exceptions during launch ( #2185 )
2020-05-11 15:00:13 -07:00
Dmitry Gozman
8c083486a0
fix(launch): handle websocket connect exceptions ( #2184 )
2020-05-11 13:49:57 -07:00
Yury Semikhatsky
617a00d45f
test(webkit): mark strict cookie tests as passing on linux ( #2164 )
2020-05-11 12:15:48 -07:00
Pavel Feldman
c5b0baacd1
chore: remove main index.js from playwright-core ( #2178 )
2020-05-11 09:38:09 -07:00
Darío Kondratiuk
437d1b6247
test: fix should poll on interval test ( #2180 )
2020-05-11 08:00:53 -07:00
Dmitry Gozman
ae8d97cdf9
feat(persistent context): ensure initial about:blank ( #2161 )
...
We declare only the initial about:blank to be a supported usecase, so that
we can support options for the default context in the future.
2020-05-10 15:23:53 -07:00
Pavel Feldman
8e59031078
chore: introduce debugAssert ( #2160 )
2020-05-08 10:37:54 -07:00
Joel Einbinder
83aff38cea
feat(webkit): roll to 1124 ( #2156 )
2020-05-08 10:02:49 -07:00
Joel Einbinder
436bc5cadd
test: update golden values in keyIdentifier test ( #2155 )
2020-05-08 04:51:42 -07:00
Joel Einbinder
1b54716791
test(webkit): add failing keyIdentifier test ( #2150 )
2020-05-08 04:20:17 -07:00
Pavel Feldman
755ef11691
test: add focus traversal test ( #2141 )
2020-05-07 16:10:29 -07:00
Pavel Feldman
7a8dd2c361
feat(console): allow page.on('console', console.log) ( #2145 )
2020-05-07 15:34:09 -07:00
Dmitry Gozman
51fe84922c
fix(css selector): support comma-separated selector lists ( #2120 )
2020-05-07 13:36:54 -07:00
Dmitry Gozman
c49a6d744f
test: add a test for response coming from service worker ( #2138 )
2020-05-07 12:28:47 -07:00
Dmitry Gozman
33ebe66ad4
fix(webkit): allow contenttype with charset in interception ( #2108 )
2020-05-04 21:49:54 -07:00
Pavel Feldman
1c17929bd8
chore: add input logging and timeout debugging hints ( #2109 )
2020-05-04 21:44:33 -07:00
Pavel Feldman
f6210ae996
fix(webkit): click moving targets on windows ( #2101 )
2020-05-04 16:30:19 -07:00
Dmitry Gozman
963dc72dd2
devops: add headful linux bot ( #2060 )
2020-05-04 15:15:51 -07:00
Pavel Feldman
710c156d48
fix(chromium): disable same site by default and improved controls ( #2097 )
2020-05-04 13:43:44 -07:00
Pavel Feldman
bcce48362a
api(waitForSelector): make "state: visible" default, includes rename to state ( #2091 )
2020-05-04 11:03:44 -07:00
Pavel Feldman
08d713973e
test: add third party cookies test ( #2073 )
2020-05-04 09:14:42 -07:00
Yury Semikhatsky
03ca297890
fix(webkit): make click work with cross-process _blank target ( #2083 )
2020-05-02 10:57:33 -07:00
Pavel Feldman
f2fcb2b017
test(webkit): test cross-process nav w/ _blank target ( #2080 )
2020-05-02 07:51:23 -07:00
Pavel Feldman
f8bea85c88
feat(webkit): disable pause on click ( #2077 )
2020-05-01 12:59:18 -07:00
Andrey Lushnikov
a9f0c40af3
feat(testrunner): improvements to testrunner ( #2070 )
...
This patch:
- teaches test runner to understand custom argument spelling, e.g. `--file=evalu` and `-j10`
- fixes `--file` filter to actually focus file paths instead of focusing
all tests with given path
2020-05-01 10:09:45 -07:00
Dmitry Gozman
d7a1e013c6
fix(chromium): do not wait forever for navigations that target another tab/download ( #2068 )
2020-04-30 21:24:03 -07:00
Pavel Feldman
9c67ce5289
test: simplify pausing tests ( #2056 )
2020-04-30 14:13:47 -07:00
Dmitry Gozman
848ea69a8a
test: unflake launcher test ( #2049 )
2020-04-29 22:20:06 -07:00
Dmitry Gozman
953dd36d38
feat(api): remove 'mutation' polling option ( #2048 )
...
It is not compatible with shadow dom.
2020-04-29 21:34:14 -07:00
Dmitry Gozman
4afd39117a
fix(waitForSelector): use raf polling instead of mutation ( #2047 )
...
MutationObserver does not work with mutations in the shadow, so we cannot use it for selectors that pierce shadows.
2020-04-29 20:46:42 -07:00
Pavel Feldman
9f62f29946
feat(install): use shared installation folder by default ( #2044 )
2020-04-29 18:59:20 -07:00
Pavel Feldman
c55db6d315
browser(webkit): roll webkit to 1213 ( #2045 )
2020-04-29 18:40:18 -07:00
Yury Semikhatsky
78b44ed2a0
fix: report new window downloads ( #2019 )
2020-04-29 18:36:24 -07:00
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