Commit Graph

3120 Commits

Author SHA1 Message Date
Yury Semikhatsky
ce51af0509
brower(webkit): add missing override markers (#3947) 2020-09-21 17:59:11 -07:00
Andrey Lushnikov
7925a51149
feat: support concurrent installation of browsers (#3929)
A few details on locking registry to prohibit concurrent access:
- locking is done by creating a `__dirlock` directory in the top-level
of our registry.
- since `__dirlock` directory does not match any of browser
directories, old versions of the installer will ignore it
- in case of concurrent access, installation will wait for a lock to be
released for 10 minutes, periodically trying to grab the lock. If it
fails to do so in 10 minutes, the installation will fail.

Fixes #3912
2020-09-21 16:09:11 -07:00
Yury Semikhatsky
2fbe767142
browser(webkit): roll to 09/21 (#3945) 2020-09-21 16:04:38 -07:00
Pavel Feldman
f1016c1fc1
fix(executablePath): throw unexpected platform error upon call (#3943) 2020-09-21 15:51:27 -07:00
Pavel Feldman
cd0a123e78
feat(chromium): roll to v808777 (#3942) 2020-09-21 15:51:14 -07:00
Andrey Lushnikov
ec26265359
feat(ffmpeg): roll FFMPEG to r1003 (#3944)
The r1003 build includes png encoder, image2 muxer, webm demuxer
and decoder. These will be used to split webm videos
into frame sequences.

This increases Playwright package size from 6.7MB to 7.1MB
2020-09-21 15:47:57 -07:00
Andrey Lushnikov
2693c162b8
devops(ffmpeg): compile zlib dependency that is needed for ffmpeg (#3940)
This patch adds zlib compilation that is required for ffmpeg.
2020-09-21 14:54:22 -07:00
Pavel Feldman
731560ccbc
browser(chromium): roll to v808777 (#3941) 2020-09-21 14:40:26 -07:00
Andrey Lushnikov
ee7c6230ae
devops: compile ffmpeg with support of video splitting (#3938) 2020-09-21 12:02:47 -07:00
Andrey Lushnikov
cdc6432c29
chore: roll winldd to r1001 (#3928)
This build is done on a buildbot and has a baked-in revision
number.
2020-09-21 08:51:27 -07:00
Max Schmitt
becdccdf03
devops(docker): added Dockerfile for Ubuntu 20 focal (#3891)
Each Ubuntu and Debian release has a code name. Ubuntu 18(bionic), Ubuntu 20(focal). This adds the Dockerfile for Ubuntu20.
Next steps and follow up changes:
- add it to the devops site, so we are sure all tests are passing, locally they did
- deploy it to the MCR, naming needs to be clarified, probably just as "focal".

This naming schema allows us in the future to add Debian support too. But we should wait until Headless WK is fixed.

Relates #3791
Relates #2758
Closes #3338
2020-09-21 08:47:44 -07:00
Joel Einbinder
75edc61531
feat(emulation): emulate a mouse pointer in headless chrome (#3922) 2020-09-21 08:20:05 -07:00
Pavel Feldman
c2d9af8618
test: roll test runner to 0.3.17 (#3927) 2020-09-20 17:43:17 -07:00
Dmitry Gozman
df777344a3
api(video): simplify video api (#3924)
- This leaves just `recordVideos` and `videoSize` options on the context.
- Videos are saved to `artifactsPath`. We also save their ids to trace.
- `context.close()` waits for the processed videos.
2020-09-18 17:36:43 -07:00
Dmitry Gozman
4e2d75d9f7
test: migrate some helpers to fixtures, use testOutputDir (#3926) 2020-09-18 15:52:14 -07:00
Andrey Lushnikov
9de39b1e85
devops: hardcode build number in winldd executable (#3923)
This will allow us to trace builds back to source code.
2020-09-18 14:51:08 -07:00
Dmitry Gozman
0ade6af689
api(trace): introduce artifacts options (#3914)
api(trace): introduce artifacts options

This introduces launch({ artifactsPath }) and newContext({ relativeArtifactsPath, recordTrace }) options.
- artifactsPath option controls the directory where all artifacts go. If not passed, artifacts are not collected.
- relativeArtifactsPath can be used to put context-specific artifacts into a subfolder. If not passed, shared artifactsPath is used.
- recordTrace controls trace recording.

We also expose trace types under playwright/types/trace.d.ts.

In the follow up:
- videos will be put into artifactsPath;
- downloads will be put into artifactsPath, or keep using existing downloadsPath when artifactsPath is not specified.
2020-09-18 11:54:00 -07:00
Andrey Lushnikov
bff9fb21ec devops: fix winldd build 2020-09-18 11:30:53 -06:00
Andrey Lushnikov
6af0aa6763 devops: notify when winldd is built 2020-09-18 11:26:59 -06:00
Andrey Lushnikov
fda31dfca2
devops: build winldd on buildbots (#3917)
This patch:
- moves PrintDepsWindows folder to `//browser_patches/winldd`
- adds `build.sh`, `archive.sh`, `clean.sh` and `BUILD_NUMBER` to
  power builds on buildbots
- starts building `winldd-win64` on windows buildbot
2020-09-18 09:43:43 -07:00
Max Schmitt
53ae805708
chore: fixed devcontainer Docker usage (#3898) 2020-09-17 11:21:10 -07:00
Dmitry Gozman
01a4060665
chore: move action instrumentation per-context (#3908)
This allows tracing to expose plugin-like api.

This also remove Progress -> ActionMetadata dependency, leaving
Progress a low-level utility.
2020-09-17 09:32:54 -07:00
Pavel Feldman
d4d0239a86
test: roll test runner to 0.3.14 (#3913) 2020-09-17 00:07:35 -07:00
Pavel Feldman
10e725b1af
test: roll test runner to 0.3.13 (#3911) 2020-09-16 22:27:48 -07:00
Pavel Feldman
96629304ff
test: make platform a parameter (#3910) 2020-09-16 21:36:36 -07:00
Dmitry Gozman
dc06f0a75c
chore: introduce evaluateInUtility private api (#3907)
This is an experimental  client-side api. We'll experiment with it in plugins like tracing.
2020-09-16 16:07:49 -07:00
Dmitry Gozman
36f2420b0f
chore(trace): remove dependency on handle._previewPromise (#3906)
We now mark the target with '__playwright_target__' attribute and
let the trace viewer do whatever it wants.
2020-09-16 15:26:59 -07:00
Mikko Korpela
73db4a450e
docs(api): fix typo
Fix typo in fullPage description.
2020-09-16 14:07:27 -07:00
Pavel Feldman
823a7a517e
test: roll test runner to 0.3.12 (#3895) 2020-09-16 10:04:39 -07:00
Yury Semikhatsky
5507553173
fix(screencast): repeat previous frame instead of current (#3890) 2020-09-15 15:21:50 -07:00
Dmitry Gozman
592bae1cea
feat(trace): record goto, setContent, goBack, goForward and reload (#3883) 2020-09-15 09:46:36 -07:00
Max Schmitt
8bc09af458
fix(firefox): imply default ports for proxy (#3850) 2020-09-14 21:22:07 -07:00
Pavel Feldman
f758a09d8e
test: roll test runner to 0.3.11 (#3885) 2020-09-14 21:21:40 -07:00
Andrey Lushnikov
430f2bedaa
devops: stop relying on ubuntu stock ffmpeg (#3882)
This patch bakes ffmpeg-linux r1001 into our NPM package.

This increases NPM package size from 4.2MB to 6.7MB.

Fixes #3845
2020-09-14 19:22:00 -07:00
Yury Semikhatsky
459d857bc3
feat(screencast): add saveAs and createReadableStream (#3879) 2020-09-14 18:40:55 -07:00
Andrey Lushnikov
e4e3f82337
devops: fix ffmpeg linux build (#3884)
The `PKG_CONFIG_PATH` variable is important since it is needed
to resolve `.pc` library files.
2020-09-14 17:46:07 -07:00
Dmitry Gozman
2f0d2029ca
chore: refactor goBack/goForward/reload (#3859)
These methods are the only users of waitForNavigation and
waitForLoadState on the server side. This refactor lifts the
Progress wrapper to the top-most goBack/goForward/reload call
and leaves waitForNavigation/waitForLoadState as internal helpers.
This way we get a single Progress for the actual api call.
2020-09-14 16:43:17 -07:00
Andrey Lushnikov
2a66f8a066
devops: build ffmpeg for linux (#3880) 2020-09-14 15:12:35 -07:00
Yury Semikhatsky
1eb282d139
test(screencast): save video in test-results (#3876) 2020-09-14 15:04:44 -07:00
Dmitry Gozman
0a243c6792
fix(waitTask): remove rerunnable tasks from the context data upon success/failure (#3875) 2020-09-14 14:55:37 -07:00
Dmitry Gozman
7ab0c10d7b
fix(launchServer): do not throw when 'port' option is present (#3877)
We now use 'launch' under the hood, which erroneously throws
when 'port' is present.

Instead, moved validation to the client side where it belongs,
added tests for validation errors.
2020-09-14 14:43:39 -07:00
Dmitry Gozman
01198f8eef
fix($$): use utility context when possible (#3870)
This avoids the typical issue of overridden bulitins,
trading it for performance of one by one node adoptions.
2020-09-14 10:38:14 -07:00
Yury Semikhatsky
e5c6b19c00
fix(launcher): check for ffmpeg only when starting screencast (#3874) 2020-09-14 10:26:44 -07:00
Pavel Feldman
c20cbae529
chore: remove trace viewer (#3869) 2020-09-14 07:56:04 -07:00
Max Schmitt
dfbd1ceacc
docs(languages): added Go reference (#3867) 2020-09-14 07:54:58 -07:00
Max Schmitt
1421ed99ba
test: fixed Node.js deprecation warning (#3864) 2020-09-14 07:54:21 -07:00
Max Schmitt
d7f3812123
tests: fixed OS-locale specific failing test (#3863) 2020-09-14 07:53:25 -07:00
Max Schmitt
1d8d89dcfa
chore: add devcontainer for GitHub Codespaces (#3862) 2020-09-14 07:52:44 -07:00
Max Schmitt
beceeaf6a1
feat(browserContext): add BrowserContext.browser() (#3849) 2020-09-14 07:50:47 -07:00
Dmitry Gozman
5314512cbc
chore: inline page._runAbortableTask (#3861)
It does not do anything nowadays.
2020-09-11 23:33:38 -07:00