Commit graph

3908 commits

Author SHA1 Message Date
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
Yury Semikhatsky 02275f2414
test(screencast): use public API for pixel tests (#3858) 2020-09-11 18:58:53 -07:00
Yury Semikhatsky 40323aa94d
fix(screencast): use viewport as default size (#3844) 2020-09-11 15:14:31 -07:00
Dmitry Gozman c4adeb66ce
fix(snapshot): do not let a single frame fail the whole snapshot (#3857)
Sometimes, we are unable to take a frame snapshot. The most common
example would be "frame is stuck during the navigation in Chromium",
where we cannot evaluate until the frame is done navigating.

In this case, use all other frames and just stub the failing ones
with "Snapshot is not available". Chances are, noone will even see
this frame because it's an invisible tracking iframe.
2020-09-11 15:13:37 -07:00
Max Schmitt c175dad290
chore: fix compatibility to the domain module (#3851) 2020-09-11 14:40:49 -07:00
Yury Semikhatsky b8e90a5582
browser(webkit): duplicate each frame duration times (#3856) 2020-09-11 13:48:39 -07:00
Dmitry Gozman 263aa06fa4
feat(trace): trace more actions (#3853) 2020-09-11 13:28:24 -07:00
Nathan Hoffmann 75e847a6fa
docs(pom.md): fix typo in example function name (#3855)
The patch renames the `goto` function in page object model documentation to `navigate`.

Fixes #3854
2020-09-11 12:28:28 -07:00
Dmitry Gozman 16be357489
feat(trace): trace page open/close events (#3852) 2020-09-11 11:34:53 -07:00
Pavel Feldman f94df318d5
chore: roll test runner to 0.3.9 (#3847) 2020-09-11 10:02:07 -07:00
Dmitry Gozman 38ed8de23d
feat(tracing): trace actions (#3825)
- Fill and click actions pass metadata to Progress.
- Progress reports success/failure through instrumentation.
- Tracer consumes ActionResult and ActionMetadata and records them.

Currently, only click and fill actions pass metadata to
contain the size of the change. Everything else should follow.
2020-09-10 21:42:09 -07:00
Pavel Feldman a597004780
chore: roll test runner to 0.3.5 (#3832) 2020-09-10 21:31:46 -07:00
Dmitry Gozman 9e41518c92
feat(rpc): allow sending metadata with rpc calls (#3836)
Currently, metadata does only contain the stack trace,
and we send it from the JS client.
2020-09-10 19:25:44 -07:00