Commit Graph

1468 Commits

Author SHA1 Message Date
Pavel Feldman
f5c8e1d344 link: make lint happy 2020-12-02 13:48:44 -08:00
Pavel Feldman
1ca30fe6e7
chore: force lo dpi recording on non-mac (#4557) 2020-12-02 11:13:14 -08:00
Dmitry Gozman
a45532fd82
feat(selectors): update css parser (#4565)
This change requires string arguments to be quoted,
for example `:text("foo")` works but `:text(foo)` does not.
2020-12-02 08:16:02 -08:00
Dmitry Gozman
3846d05f02
feat(firefox): bump to 1217 (#4560)
Also add a test for multiple dialogs of the same type.
2020-12-01 14:40:03 -08:00
Joel Einbinder
9c677f64e0
feat(webkit): roll webkit to r1395 (#4550) 2020-12-01 05:26:53 -08:00
Dmitry Gozman
e98aceb981
feat(selectors): introduce css parser (#4522)
It is not used for anything just yet.
2020-11-30 16:31:40 -08:00
Dmitry Gozman
62f7437a2c
test: remove the flaky test we are not going to fix (#4527)
It will just sit here, being flaky, not giving us any information.
2020-11-25 11:32:33 -08:00
Joel Einbinder
c6d5bc3081
test(drag): more tests for drag and drop (#4508) 2020-11-25 03:29:20 -08:00
Dmitry Gozman
60103229d8
test: unflake some chromium tests (#4521)
These should be passing for a while.
2020-11-24 18:14:57 -08:00
Andrey Lushnikov
2486a4fb05
chore: fix lint after #4517 (#4518) 2020-11-24 06:50:40 -08:00
Andrey Lushnikov
062ec7e440
test: enable resource-timing test on BigSur (#4517)
It looks like the test is working! 🤷‍♂️
2020-11-23 16:22:15 -08:00
Dmitry Gozman
e9060dd68a
fix(launchServer): wait for the server to start before taking its address (#4513)
This is easily triggered by launching from a cluster's worker.
2020-11-23 15:23:31 -08:00
Andrey Lushnikov
4f4a7ce5e5
test: add test for network interception in web workers (#4490)
#4487
2020-11-23 15:03:34 -08:00
Pavel Feldman
e72d9a4185
chore: add websocket connection mode (#4510) 2020-11-20 15:19:39 -08:00
Pavel Feldman
a0587949a5
feat(chromium): roll to r828656 (#4503) 2020-11-20 08:10:27 -08:00
Dmitry Gozman
240d51f1d3
docs: improve boundingBox documentation (#4500)
Also add a test to verify it.
2020-11-19 13:55:14 -08:00
Yury Semikhatsky
de43de7a8c
test: make test not depend on line endings (#4497) 2020-11-19 12:10:44 -08:00
Dmitry Gozman
09f9a35198
fix(protocol): rename websocket error event to socketerror (#4495)
This is to avoid special handling of error events in node.
2020-11-19 12:09:42 -08:00
Yury Semikhatsky
ce423517ea
test(route): test that intercepted XHR is actually paused (#4482) 2020-11-18 19:09:18 -08:00
Yury Semikhatsky
a877c24f05
fix(route): throw on attempt to fulfill with redirect in WebKit (#4449) 2020-11-17 16:56:04 -08:00
Pavel Feldman
ab4a627988
feat(webkit): roll to r1388 (#4464) 2020-11-17 08:09:26 -08:00
Joel Einbinder
93b6faeed2
test(chromium): disable webgl2 on headful (#4450) 2020-11-16 16:18:50 -08:00
Joel Einbinder
3da1f73f1d
test(chromium): disable large screenshot test (#4446) 2020-11-16 10:15:22 -08:00
Joel Einbinder
0ae455f404
test(tap): unflake chromium headful tap tests (#4431) 2020-11-16 10:14:37 -08:00
Yury Semikhatsky
dfe3552b59
feat(route): support URL overrides in continue (#4438) 2020-11-16 09:59:00 -08:00
Yury Semikhatsky
732e83f48d
feat(webkit): bump to 1385 (#4430) 2020-11-13 16:29:20 -08:00
Yury Semikhatsky
914c6eec23
feat(firefox): bump to 1206 (#4425) 2020-11-13 15:21:16 -08:00
Pavel Feldman
9404d2abb6
fix(debug): do not generate source urls for anonymous scripts (#3691) 2020-11-13 14:47:55 -08:00
Pavel Feldman
d20e56e197
feat(state): allow getting / setting context state (#4412) 2020-11-13 14:24:53 -08:00
Pavel Feldman
a35d207091
test: fix resource timing for bigsur test (#4419) 2020-11-13 14:10:32 -08:00
Dmitry Gozman
cd18ddb693
test: add a test for numerical id selector (#4429) 2020-11-13 11:47:44 -08:00
Yury Semikhatsky
5702eca1f2
fix(selectors): make selectOptions work for labels (#4402) 2020-11-11 15:33:23 -08:00
Dmitry Gozman
138680f93c
fix(launchServer): stream protocol logs into options.logger (#4403)
fix(launchServer): stream protocol logs into options.logger

This has regressed in v1.4.
2020-11-11 15:12:10 -08:00
Pavel Feldman
6b1d7dd1fd
test: add a failing test for post data header override (#4397) 2020-11-11 11:38:55 -08:00
Dmitry Gozman
488b256c47
feat(firefox): bump to 1205 (#4386) 2020-11-09 16:16:10 -08:00
Dmitry Gozman
f7eb845df0
feat(firefox): bump to 1204, add a better test for video in popup (#4376) 2020-11-07 18:21:26 -08:00
Pavel Feldman
28f6547d67
chore: add adb-based connectivity (#4375) 2020-11-06 16:31:11 -08:00
Andrey Lushnikov
fff36a7991
feat(firefox): roll Firefox to r1203 (#4365)
Fixes #4208
2020-11-05 23:17:27 -08:00
Dmitry Gozman
c384313058
feat(fill): allow filling based on the label selector (#4342)
This enables filling the input based on the connected label:

```html
<label for=target>Name</label><input id=target>
```

```js
await page.fill('text=Name', 'Alice');
```
2020-11-05 05:22:49 -08:00
Joel Einbinder
3f37d8507e
test(focus): add passing test for focusing more than one page (#4347) 2020-11-04 22:42:35 -08:00
Joel Einbinder
4cb52144b5
test(capabilities): add tests for webgl (#4343) 2020-11-04 13:24:30 -08:00
Andrey Lushnikov
65009dc867
feat(chromium): roll Chromium to r823944 (#4341)
Fixes #4021
2020-11-04 11:20:02 -08:00
Yury Semikhatsky
14a8292863
feat(webkit): bump to 1378 (#4338) 2020-11-04 11:00:25 -08:00
Dmitry Gozman
78b151138e
test: try to unflake screenshot tests (#4334) 2020-11-04 07:39:08 -08:00
Dmitry Gozman
5c1149f954
test: try to unflake network idle tests (#4333)
I think that we are too slow to fire the second fetch during 500ms,
and so network idle happens prematurely.

The fix is to manually trigger the second fetch early enough.
2020-11-04 07:35:19 -08:00
Dmitry Gozman
d57b43963c
fix(har): support har in persistent context (#4322) 2020-11-03 11:30:59 -08:00
Dmitry Gozman
924cc9894a
feat(text selector): normalize spaces in lax mode (#4312) 2020-11-03 04:37:06 -08:00
Andrey Lushnikov
8fed0b3319
feat(firefox): roll Firefox to r1200 (#4316)
This roll includes:
- fix for the firefox flakiness related to popups
- fix for browser context closing with beforeunload events

References #4021
2020-11-02 21:00:37 -08:00
Dmitry Gozman
1c39689dd6
api(videos): introduce a single recordVideo option bag (#4309)
api(videos): introduce a single recordVideo option bag

Currently contains `dir` and `size`, previously known as
`videosPath` and `videoSize`.
2020-11-02 19:42:05 -08:00
Andrey Lushnikov
3d3ce135f5
test: co-locate beforeunload tests (#4313)
This patch:
- co-locates beforeunload tests
- adds new tests to make sure browser and browsercontext can be closed if there's
  a page with beforeunload listener
- re-writes the `should access page after beforeunload` test to properly
  emit `beforeunload` event

References #4021
2020-11-02 17:29:35 -08:00
Dmitry Gozman
f80f81545e
feat(chromium): bump to 823078 (#4308) 2020-11-02 14:34:08 -08:00
Pavel Feldman
ac8ab1e1b5
feat(websocket): add WebSocket.waitForEvent and isClosed (#4301) 2020-11-02 14:09:58 -08:00
Dmitry Gozman
c446bf629d
chore: cleanup some har code (#4306)
Drive-by: do not create <root>/file.png in the tests.
2020-11-02 13:38:55 -08:00
Pavel Feldman
d117d0bb93
feat(scopes): make page a scope (#4300) 2020-11-02 13:06:54 -08:00
Dmitry Gozman
9c80cbdf9e
fix(docs): small docs changes for new apis (#4305) 2020-11-02 12:48:05 -08:00
Pavel
5a9ba55ee2 test: remove stale describe 2020-10-30 13:38:54 -07:00
Pavel
c9fa8c08e3 fix(test): unflake web socket test on firefox 2020-10-30 12:45:53 -07:00
Andrey Lushnikov
7fbbd1822e
feat(firefox): support WebSockets on Firefox (#4289) 2020-10-30 10:34:24 -07:00
Pavel Feldman
914f6372ec
feat(proxy): enable per-context http proxy (#4280) 2020-10-29 16:12:30 -07:00
Pavel Feldman
aee9068d76
test: mark flake headful chromium test as fixme (#4276) 2020-10-28 16:00:41 -07:00
Pavel Feldman
f384a864a8
test(har): uncomment some raw header tests (#4273) 2020-10-28 15:58:45 -07:00
Pavel Feldman
7bedbb2d78
feat(browser): roll WebKit to r1370 (#4257) 2020-10-28 13:46:05 -07:00
Pavel Feldman
0b8c33ee75
fix(ECONRESET): fix it once and for all (#4258) 2020-10-27 11:09:41 -07:00
Max Schmitt
dcbdb4a6b0
test: fixed executable path test if ran in Docker (#4219) 2020-10-27 00:04:39 -07:00
Pavel Feldman
1ef090c3ac
fix(screenshot): prioritize passed type over the extension mime (#4251) 2020-10-27 00:02:35 -07:00
Pavel Feldman
be8428475d
feat(websocket): implement Web Sockets for Chromium & WebKit (#4234) 2020-10-26 22:20:43 -07:00
Pavel Feldman
7fc4b797eb
feat(har): allow saving har for context (#4214) 2020-10-26 14:32:07 -07:00
Pavel Feldman
ba7949359f
chore: roll folio to 0.3.13 (#4215) 2020-10-23 12:39:46 -07:00
Pavel Feldman
14f069eac6
test(timing): relax mac/webkit expectations (#4217) 2020-10-23 12:38:32 -07:00
Pavel Feldman
b3b46db560
test(firefox): add a failing slow test (#4216) 2020-10-23 12:37:38 -07:00
Yury Semikhatsky
50a6ba7fdc
feat: bump webkit version to include screencast fixes (#4200) 2020-10-23 10:33:58 -07:00
Pavel Feldman
72320275ab
fix(headers): report raw request headers on Chromium (#4207) 2020-10-22 08:49:16 -07:00
Pavel Feldman
8a42cdad30
feat(timing): introduce resource timing (#4204) 2020-10-21 23:25:57 -07:00
Andrey Lushnikov
7d28dfdb59
feat(firefox): roll Firefox to r1194 (#4183) 2020-10-20 16:51:14 -07:00
Max Schmitt
45bb984cf0
test: skip 'should play video' on macOS Big Sur (#4198) 2020-10-20 16:48:00 -07:00
Pavel Feldman
3cceb14e29
test(beforeunload): add failing beforeunload test (#4188) 2020-10-20 08:55:01 -07:00
Pavel Feldman
7433ae2798
test: follow up to an encoding test (#4187) 2020-10-20 08:47:07 -07:00
Pavel Feldman
7f76d44f77
test: add a test for page.close w/ dialogs (#4184) 2020-10-19 21:06:06 -07:00
Pavel Feldman
5e7eb7a325
test(encoding): add a test for main resource raw body (#4186) 2020-10-19 20:40:21 -07:00
Pavel Feldman
efac743695
test(proxy): add a test for a second page against same proxy (#4185) 2020-10-19 18:35:37 -07:00
Yury Semikhatsky
9c160f2cc8
feat(webkit): bump to 1363 (#4178) 2020-10-19 17:40:25 -07:00
Pavel Feldman
5d997ed28b
fix(video): make video path available in persistent profiles (#4182) 2020-10-19 14:35:18 -07:00
Joel Einbinder
92dda698f8
feat: tap (#4097) 2020-10-19 10:07:33 -07:00
Joel Einbinder
86ef956b4b
feat(webkit): bump to 1357 (#4154) 2020-10-19 03:03:50 -07:00
Pavel Feldman
ef3d3ca58e
doc(overrides): remove "one of" that was misleading (#4168) 2020-10-18 23:03:07 -07:00
Yury Semikhatsky
fec37adf68
test: use custom header when testing header removal (#4157) 2020-10-15 10:31:07 -07:00
Joel Einbinder
7e6f2af666
test: disable failing test "should be able to remove headers" (#4152) 2020-10-15 08:52:23 -07:00
Yury Semikhatsky
180aa011d0
test: make "remove header" test actually test be havior (#4092) 2020-10-14 22:26:56 -07:00
Pavel Feldman
e9f5477d52
fix(screencast): await for the first video frame on Chromium (#4145) 2020-10-14 15:09:36 -07:00
Yury Semikhatsky
bb981fc0cc
fix(screencast): correctly process videos with 1 frame (#4144) 2020-10-14 14:10:35 -07:00
Pavel Feldman
381f49a0b8
chore: roll folio to 0.3.11 (#4130) 2020-10-13 22:40:25 -07:00
Pavel Feldman
5a7685665a
api(video): restore the missing video path accessor (#4132) 2020-10-13 22:15:51 -07:00
Pavel Feldman
9daedaca08
chore: roll test fixtures, replace trace w/ video (#4129) 2020-10-13 13:18:36 -07:00
Pavel Feldman
5804131c99
chore: bump folio to 0.3.9, use fixture timeout (#4118) 2020-10-13 12:17:23 -07:00
Arjun Attam
8ad340479d
fix(test): update path for screenshots on failure (#4120) 2020-10-12 21:51:17 -07:00
Pavel Feldman
3350db2d1d
chore: nit test fixes (#4114) 2020-10-12 14:27:12 -07:00
Pavel Feldman
c2adc98cb0
chore: roll folio to 0.3.8 (#4113) 2020-10-12 13:48:56 -07:00
Dmitry Gozman
46b14bc740
chore: roll folio to 0.3.6 (#4110) 2020-10-12 09:16:02 -07:00
Dmitry Gozman
80ed407033
test: add a failing test for the issue 4038 (#4111)
Chromium corrupts screenshots taller than 8192.
2020-10-10 21:50:37 -07:00
Pavel Feldman
1fe3c783b4
test: roll test runner 0.9.22 (#4072) 2020-10-06 15:51:18 -07:00
Dmitry Gozman
e403fd3912
test: update fixtures to new syntax (#4063)
- Some simplifications around defineParameter.
- overrideTestFixtures must be chained as well.
2020-10-05 21:40:56 -07:00
Pavel Feldman
0db09f8ed4
test: roll test runner to 0.9.20 (#4062) 2020-10-05 17:03:24 -07:00
Dmitry Gozman
d31cbc21e5
fix(video): wait for videos when closing persistent context (#4040)
To achieve this, we close all the pages one by one, then wait
for the videos to finish processing, and then close the browser.
2020-10-04 18:18:05 -07:00
Dmitry Gozman
e214f795e0
feat(video): support videos in remote browser (#4042) 2020-10-02 17:27:56 -07:00
Pavel Feldman
1f16ce2632
test: remove failing expectations from a passing test (#4036) 2020-10-02 11:01:04 -07:00
Dmitry Gozman
5e42029fce
api: allow exposeBinding to pass handles (#4030)
This adds an option `{ handle: true }` to pass a single handle instead of arbitrary json values.
2020-10-01 22:47:31 -07:00
Tom Jenkinson
c2171218fa
test: add a test for request interception with redirects (#3994) 2020-10-01 19:55:39 -07:00
Pavel Feldman
81c1daed73
test: roll test runner 0.9.17 (#4035) 2020-10-01 13:32:52 -07:00
Dmitry Gozman
4a77363af7
api: update videos api, hide tracing (#4015) 2020-10-01 11:06:19 -07:00
Dmitry Gozman
920cc7c886
test: run crash tests with chromium wire (#4026) 2020-10-01 05:30:27 -07:00
Dmitry Gozman
f885d07cb9
fix(close): fix a race during context.close and page.close (#4018)
There is a race between "close" event coming from the server and
"close" command issued from the client.

This is similar to calling close after disconnect, so added tests.
2020-09-30 21:17:30 -07:00
Andrey Lushnikov
b9dcfb9909
test: minor fixes (#4024)
- missing await
- missing `defaultBrowserOptions` that's important to respect `FFPATH` (and other custom browsers)
2020-09-30 17:23:13 -07:00
Dmitry Gozman
13d48da84a
test: record trace/videos on retries (#4009) 2020-09-30 16:52:21 -07:00
Dmitry Gozman
ab2714ed29
test: unflake click-timeout-4 (#4012)
We used to animate for 5 seconds, and also timeout after 5 seconds.
Presumably, this made the click work sometimes due to different timeout
schedulers in node vs browser.
2020-09-30 04:42:08 -07:00
Dmitry Gozman
ccc827cd87
test: add a test for screen.avail{Width,Height} emulation (#4011)
This currently does not work in WebKit.
2020-09-30 04:14:29 -07:00
Andrey Lushnikov
a20c0e0adb
roll(firefox): roll Firefox to r1174 (#4005)
The r1174 starts using cross-process frameIds. This
simplifies Juggler a lot, but regresses a rare usecase:
network requests from workers from subframes are attributed
to main frame.

This adds a test to annotate this regression. Note that this
doesn't also work in Chromium.

References #3995
2020-09-29 21:07:25 -07:00
Pavel Feldman
d658b687ca
chore: refactor screencast tests (#4007) 2020-09-29 18:52:30 -07:00
Pavel Feldman
6dccd2735a
fix(wire): fix the wire mode (#4008) 2020-09-29 18:00:56 -07:00
Pavel Feldman
c30b894f27
chore: add missing image test expectation (#4004) 2020-09-29 13:47:57 -07:00
Pavel Feldman
de1e63dff1
test: roll test runner 0.9.16 (#3998) 2020-09-29 11:51:00 -07:00
Dmitry Gozman
b3497b333e
fix(actions): wait for some time before retrying the action (#4001)
This saves some CPU cycles while waiting for the page to
change the state, e.g. for animations to complete.

Note that retrying logic is only applicable in rare
circumstances like unexpected scroll in the middle of an
action, or some overlay blocking the click. Usually,
action times out in this cases while retrying.
2020-09-29 10:28:19 -07:00
Pavel Feldman
109688a066
chore: split playwright.fixtures into files (6) (#3988) 2020-09-26 16:05:58 -07:00
Pavel Feldman
423485e0a4
chore: split playwright.fixtures into files (5) (#3986) 2020-09-26 14:16:22 -07:00
Pavel Feldman
0ee9050f1b
chore: split playwright.fixtures into files (4) (#3985) 2020-09-26 10:59:27 -07:00
Pavel Feldman
cef27d620b
chore: split playwright.fixtures into files (3) (#3984) 2020-09-25 23:30:46 -07:00
Pavel Feldman
76be9540d1
chore: split playwright.fixtures into files (2) (#3983) 2020-09-25 21:43:52 -07:00
Pavel Feldman
5b9f489e55
chore: split playwright.fixtures into files (#3982) 2020-09-25 19:27:09 -07:00
Pavel Feldman
970b011cba
chore: roll @playwright/test to 0.9.6 (#3977) 2020-09-25 12:52:06 -07:00
Pavel Feldman
49bcf6efce
chore: roll test runner to 0.9.1 (#3972) 2020-09-24 13:04:09 -07:00
Pavel Feldman
a42cd4b9aa
test: mark screencast tests as flaky until ffmpeg migation (#3968) 2020-09-24 10:45:20 -07:00
Dmitry Gozman
fe41bbd303
test: enable videos on tracing bots (#3930) 2020-09-24 04:38:01 -07:00
Pavel Feldman
4aaf3b7596
test: roll test runner to 0.3.20 (#3963) 2020-09-23 14:52:06 -07:00
Yury Semikhatsky
1d21c1e4bd
feat(webkit): bump to 1347 (#3955) 2020-09-22 16:38:05 -07:00
Pavel Feldman
2d1cabdd3f
test: roll test runner to 0.3.18 (#3949) 2020-09-22 12:52:39 -07:00
Pavel Feldman
0e76316f82
fix(close): fix the browser.close race (#3956) 2020-09-22 12:50:39 -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
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
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
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
Pavel Feldman
823a7a517e
test: roll test runner to 0.3.12 (#3895) 2020-09-16 10:04:39 -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
Yury Semikhatsky
459d857bc3
feat(screencast): add saveAs and createReadableStream (#3879) 2020-09-14 18:40:55 -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
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
beceeaf6a1
feat(browserContext): add BrowserContext.browser() (#3849) 2020-09-14 07:50:47 -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
Pavel Feldman
f94df318d5
chore: roll test runner to 0.3.9 (#3847) 2020-09-11 10:02:07 -07:00
Pavel Feldman
a597004780
chore: roll test runner to 0.3.5 (#3832) 2020-09-10 21:31:46 -07:00
Yury Semikhatsky
d2771ebfea
test(screencast): always use chromium to replay the video (#3841) 2020-09-10 18:09:17 -07:00
Dmitry Gozman
bf9c4a35f6
fix(snapshot): properly save textarea content (#3835) 2020-09-10 15:33:39 -07:00
Joel Einbinder
3c69f2a185
tes(types): use @ts-expect-error in tests where we check for errors (#3794) 2020-09-09 03:06:52 -07:00
Joel Einbinder
1791be6d16
fix(input): send keypress event for enter key in chromium (#3796) 2020-09-08 20:04:14 -07:00
Yury Semikhatsky
af58c8acb2
fix(screencast): ensure that _videostarted is fired after newPage (#3807) 2020-09-08 17:01:00 -07:00
Pavel Feldman
c83b2da54f
chore: revert isDevMode into isUnderTest (#3785) 2020-09-06 21:36:22 -07:00
Pavel Feldman
d6cd0224ab
test(screencast): mark win/webkit ac as failing (#3783) 2020-09-06 14:56:46 -07:00
Pavel Feldman
f8e1fd7ead
test: add a failing test for page.press (#3780) 2020-09-05 22:38:29 -07:00
Yury Semikhatsky
66985fc5f6
feat(screencast): add expreimental public API on context (#3766) 2020-09-04 22:37:38 -07:00
Dmitry Gozman
675ce00432
chore: introduce "instrumentation" that is used for debug and trace (#3775) 2020-09-04 16:31:52 -07:00
Yury Semikhatsky
52fd88b13d
fix(screencast): always send at least one frame in wpe (#3760) 2020-09-03 16:55:54 -07:00
Dmitry Gozman
c190310335
fix(setInputFiles): make it work with CSP enabled (#3756)
We used to do fetch() to decode the file buffer. However, this is
blocked by strict CSP policy. Instead, we can use explicit
string -> bytes conversion, and trade performance for CSP compliance.
2020-09-03 10:09:03 -07:00
Dmitry Gozman
f232f34dae
test: create a page in fixture tests to exercise browser processes (#3745)
We currently launch and then close the empty browser. This does not
trigger many codepaths related to web page process creation and
browser context.

With opening and navigating a page, we do a more real-life test.
This exposes an issue from #3740.
2020-09-03 10:07:54 -07:00
Pavel Feldman
8df1fe47bc
test: explicitly require expect (#3755) 2020-09-03 09:43:08 -07:00
Pavel Feldman
7ad5bd90a4
test: roll test-runner to 0.2.9 (#3752) 2020-09-02 23:45:42 -07:00
Pavel Feldman
42a64048e8
test: roll test-runner to 0.2.9 (#3753) 2020-09-02 23:22:23 -07:00
Pavel Feldman
175fc52747
test: roll test-runner to 0.2.8 (#3748) 2020-09-02 21:43:38 -07:00
Yury Semikhatsky
0976732ec6
fix(screencast): remove white padding in headless chromium (#3746) 2020-09-02 17:28:08 -07:00
Dmitry Gozman
de547d7d65
fix(connect): make selectors.register work in connected browser (#3664)
This is a large rework of selectors:
- Each BrowserContext now has a separate Selectors instance that has its own registrations.
  Most of them share a single sharedSelectors instance, but contexts created for a connected
  browser have their own instance.
- Connected browser now gets a RemoteBrowser object that encapsulates Selectors and Browser.
  This Selectors object is registered with the api selectors.
- Public selectors.register api iterates over all registered Selectors channels
  and registers in each of them.
- createSelector testing method migrated to ElementHandle._createSelectorForTest.
2020-09-02 16:15:43 -07:00
Dmitry Gozman
5c3bf5bf3e
test: add tests for selectors matching root behavior (#3744) 2020-09-02 16:00:15 -07:00
Yury Semikhatsky
469541a0b9
test(screencast): try to unflake tests (#3742) 2020-09-02 15:21:58 -07:00
Yury Semikhatsky
a588840d99
test(screencast): add auto scale test (#3733) 2020-09-02 13:59:15 -07:00
Yury Semikhatsky
1e64efcad1
feat(screencast): autoscale to fit requested size (#3730) 2020-09-02 10:40:50 -07:00
Dmitry Gozman
a58812523c
test: call setDevMode in wire tests (#3678) 2020-09-02 10:19:03 -07:00
Yury Semikhatsky
db9b8a003f
fix(screencast): dont throw from frameAck if target is closed (#3702) 2020-08-31 17:43:23 -07:00
Yury Semikhatsky
a17dd98cf9
feat(screencast): auto recording for new pages in chromium (#3701) 2020-08-31 15:21:02 -07:00
Yury Semikhatsky
f23dbfb009
test(screencast): more tests on Chromium, new seek impl (#3699) 2020-08-31 13:18:19 -07:00
Yury Semikhatsky
8ec55e1fb2
feat(screencast): use ffmpeg to produce webm in chromium (#3668) 2020-08-31 08:43:14 -07:00
Joel Einbinder
3cc91093a1
chore(testrunner): move out of the repo (#3687) 2020-08-29 08:27:32 -07:00
Pavel Feldman
555a8d0d10
fix(testrunner): include fixture teardown into timeout, add global timeout (#3685) 2020-08-28 19:27:49 -07:00
Pavel Feldman
657cc9b630
feat(test): use metafunc in describes (#3682) 2020-08-28 15:45:09 -07:00
Andrey Lushnikov
45e178f8b5
fix: support IP:PORT short notation to specify proxy server (#3568)
Short notation implies `http://` scheme.

Fixes #3233
2020-08-28 14:17:16 -07:00
Pavel Feldman
97e4561ee1
feat(test): introduce metafunc for skip (#3676) 2020-08-28 13:53:47 -07:00
Dmitry Gozman
e5ff283a40
fix(trace): only enable on separate tracing bots (#3677) 2020-08-28 13:50:06 -07:00
Dmitry Gozman
7b1fac90bb
test: mark all crash tests as flaky on firefox win (#3675)
All crash tests do not actually crash sometimes on firefox win.
2020-08-28 12:05:11 -07:00
Dmitry Gozman
3d6051adb7
test: mark "should work for webgl" as fixme on webkit linux (#3674)
It sometimes fails all 3 retries.
2020-08-28 12:05:01 -07:00
Darío Kondratiuk
90408aa4f4
test: Remove "request interception" from oopif tests (#3671)
We don't have request interceptions :)
2020-08-28 11:37:16 -07:00
Dmitry Gozman
b34d9aba25
feat(trace): experimental traces for our tests (#3567)
This introduces basic tracing enabled in our tests.

What is captured:
- network resources;
- snapshots at the start of most actions;
- snapshot after the test failure.

How this integrates with test runner:
- context fixture calls private method context._initSnapshotter() and uses Tracer to trace all events;
- all tests share a single test-results/trace-storage directory to store blobs;
- each test has its own trace file.
- npm run show-trace opens a bare-minimum trace viewer that renders snapshots.
2020-08-28 10:51:55 -07:00
Dmitry Gozman
4386cd4e7f
test: mark "headless should be able to read cookies written by headful" as flaky on firefox (#3673) 2020-08-28 10:38:13 -07:00