Commit Graph

3800 Commits

Author SHA1 Message Date
Pavel Feldman
8d8fa4c322
chore: move trace viewer to the src/web (#5199) 2021-01-28 09:33:20 -08:00
Andrey Lushnikov
01bddcd171 devops(chromium): account for terminated / interrupted jobs 2021-01-28 13:15:23 +03:00
Andrey Lushnikov
c9fae65400 devops: fix chromium checkout 2021-01-28 12:56:45 +03:00
Andrey Lushnikov
75a0d7a76b
devops(chromium): install depot_tools if missing (#5204) 2021-01-28 01:43:54 -08:00
Andrey Lushnikov
a7eea9ffdc
browser(chromium): roll Chromium to r846621 (#5203)
This roll should test Chromium compilation for Mac x86_64 and Linux.
2021-01-28 01:19:00 -08:00
Andrey Lushnikov
51d90c593b
devops: support Chromium mac compilation (#5202) 2021-01-28 01:14:44 -08:00
Andrey Lushnikov
06f679b160
devops: mark another tracing test as fixme (#5201)
It was failing since a3af0829ff
2021-01-28 00:38:36 -08:00
Andrey Lushnikov
fe1302b47d
feat(installer): retry download if connection is interrupted (#5126)
Fixes #5110
2021-01-28 00:37:42 -08:00
Andrey Lushnikov
b323018881
devops: fetch chromium checkout if it has not been before (#5169)
Checkouts should reside outside of gihtub action working directory
so will be reused between builds.
2021-01-28 00:20:19 -08:00
Andrey Lushnikov
d1a2c87e88
chore: remove backward compatibility code from installer (#5168)
Installer has a code to download browsers from the old version of
playwright. This, however, is never needed, since installer only
installs browsers from its own version.
2021-01-27 22:32:25 -08:00
Andrey Lushnikov
2a71165ed1
chore: disable failing tracing test (#5170)
The test constantly fails.
2021-01-27 22:31:46 -08:00
Dmitry Gozman
ce43e730f4
feat(traceviewer): use http server instead of interception (#5195)
This introduces an http server that serves our frontend and our snapshots. There is more work to untangle the big server into a few modules.

This change allows us:
- Maybe eventually serve the trace viewer as a web page.
- Rely on browser caches for fast snapshot rendering. This PR also adds "snapshot on hover" feature, subject to change.
2021-01-27 19:42:51 -08:00
Dmitry Gozman
e915e51ea9
chore: fix bad merge in codeGenerator.ts (#5196) 2021-01-27 17:45:27 -08:00
Dmitry Gozman
2793d14409
fix(codegen): do not forget to reset currentAction in didPerformAction (#5194) 2021-01-27 17:05:56 -08:00
Pavel Feldman
e50f11c5b1
feat(ui): more recorder uis (#5187) 2021-01-27 17:02:09 -08:00
Anže Vodovnik
f2ef7f51b8
Link patching now picks up multiple in single line (#5163) 2021-01-27 16:21:27 -08:00
Dmitry Gozman
321a873d8a
fix(codegen): add timeout to our actions, catch errors (#5188) 2021-01-27 15:57:28 -08:00
Pavel Feldman
ff6b2b1dd4
chore: make emulate media params be options (#5172) 2021-01-27 14:19:37 -08:00
Dmitry Gozman
527286683f
feat(codegen): prefer frame name over url when unique (#5175) 2021-01-27 13:19:36 -08:00
Pavel Feldman
35baf335d8 Revert "docs: update langs fields to include java (#5161)"
iThis broke Python docs.
2021-01-27 11:31:34 -08:00
Yury Semikhatsky
d0ab0bd8f2
docs: update langs fields to include java (#5161) 2021-01-27 11:11:05 -08:00
Andrey Lushnikov
5358fed49a chore: fix typo 2021-01-27 20:56:46 +03:00
Andrey Lushnikov
a4f59dd57c
devops: upload host arch as part of test report (#5167) 2021-01-27 09:05:31 -08:00
Andrey Lushnikov
9de0a5a963
chore: add Python to docker images (#5139)
This adds +100MB to network transfer size but enables our
users to use playwright-python from-inside docker container.
2021-01-27 08:51:51 -08:00
Andrey Lushnikov
90bc837e55
devops: start compiling Chromium on Linux (#5166) 2021-01-27 08:42:35 -08:00
Dmitry Gozman
0108d2d41f
feat(snapshots): various improvements (#5152)
- Adopt "declarative shadow dom" format for shadow dom snapshots.
- Restore scroll positions.
- Render snapshot at arbitrary timestamp.
2021-01-26 15:09:17 -08:00
Dominik Deren
a3af0829ff
feat(trace viewer): Extending existing NetworkTab view (#5009)
feat(trace viewer): Extending existing NetworkTab view

Currently the network tab contains a limited amount of information on the resources that were loaded in the browser. This change proposes extending the details displayed for each resource, to include:

- HTTP method,
- Full url,
- Easily visible response content type,
- Request headers,
- Request & response bodies.

Such level of information could help quickly understand what happened in the application, when it was communicating with backend services. This can help debug tests quicker to figure out why they are failing.

This implementation still needs some clean up & tests improvement, but I wanted to propose such changes and gather your feedback before going too far.
2021-01-26 11:06:05 -08:00
Yury Semikhatsky
f3cc4dfe6d
feat(webkit): bump to 1428 (#5140) 2021-01-26 09:42:06 -08:00
Pavel Feldman
45f7d73470
chore: plumb terminal size and port language (#5149) 2021-01-25 19:01:04 -08:00
Dmitry Gozman
5033261d27
feat(trace): streaming snapshots (#5133)
- Instead of capturing snapshots on demand, we now stream them
  from each frame every 100ms.
- Certain actions can also force snapshots at particular moment using
  "checkpoints".
- Trace viewer is able to show the page snapshot at a particular
  timestamp, or using a "checkpoint" snapshot.
- Small optimization to not process stylesheets if CSSOM was not used.
  There still is a lot of room for improvement.
2021-01-25 18:44:46 -08:00
Yury Semikhatsky
22fb7448c3
docs: share proxy documentation, exclude cdp session from java (#5150) 2021-01-25 16:53:47 -08:00
Pavel Feldman
87a3ccc49e
fix: do not return cookies with empty values (#5147) 2021-01-25 16:37:33 -08:00
Pavel Feldman
2e290be40b
chore: remove source maps in pwdebug mode (#5148) 2021-01-25 16:36:57 -08:00
Pavel Feldman
fdde9493ea
fix: don't parse potentially invalid urls in event handlers (#5090) 2021-01-25 14:49:51 -08:00
Pavel Feldman
01d6f83597
chore: introduce debug toolbar (#5145) 2021-01-25 14:49:26 -08:00
Dmitry Gozman
894abbfe28
feat(selectors): has-text pseudo-class (#5120)
This pseudo-class matches approximately when
`element.textContent.includes(textToSearchFor)`.
2021-01-25 14:19:07 -08:00
Dmitry Gozman
77b5f05ef7
browser(webkit): fix scrollIntoViewIfNeeded (#5146)
Last change mistakenly used alignCenterIfNotVisible,
while we should use alignCenterIfNeeded to ensure scrolling
into view when partially visible.
2021-01-25 14:02:16 -08:00
Dmitry Gozman
d78d337e29
feat(fill): make fill work when targeting elements inside the label (#5143) 2021-01-25 13:40:19 -08:00
Yury Semikhatsky
7d2293c6ed
browser(webkit): roll to 01-25 (#5141) 2021-01-25 11:27:08 -08:00
Dmitry Gozman
beed9a79a3
feat(chromium): bump to 845618 (#5138) 2021-01-25 07:45:21 -08:00
Pavel Feldman
464fdc1800
chore: make recorder a supplement (#5131) 2021-01-24 19:21:19 -08:00
Pavel Feldman
be9bef513e
chore: move recorder to server side (#5128) 2021-01-24 08:44:11 -08:00
Joel Einbinder
3e4e511d84
feat(pause): page._pause to wait for user to click resume (#5050) 2021-01-22 18:47:02 -08:00
Andrey Lushnikov
a2422a40ec
docs: proper webkit version badge on README.md (#5121) 2021-01-23 04:28:00 +03:00
Andrey Lushnikov
74816e4000
fix(installer): release lock if things go south (#5125)
References #5110
2021-01-23 04:27:33 +03:00
Andrey Lushnikov
b7fd0cd14c
test: disable trace test that always fails (#5124) 2021-01-23 04:27:16 +03:00
Andrey Lushnikov
8ad7318119
devops: fix publish script to return code zero when tip-of-tree moved (#5123) 2021-01-23 04:09:37 +03:00
Yury Semikhatsky
680689d075
browser(webkit): try to fix Ubuntu 18 build (#5119) 2021-01-22 16:10:01 -08:00
Dmitry Gozman
3e1c72ac5f
fix(reload): do not throw when reload is racing with navigation (#5113)
When `page.reload()` is racing against the renderer-initiated
navigation, we might end up with `waitForNavigation()` being rejected
before the reload implementation is able to catch it.

To avoid that, carefully use Promise.all and await `waitForNavigation`
from the get go.

Same happens to `page.goForward()` and `page.goBack()`.
2021-01-22 15:58:53 -08:00
Andrey Lushnikov
b88afe5877
devops: fix chromium for arm build (#5117) 2021-01-23 02:23:59 +03:00