Commit graph

93 commits

Author SHA1 Message Date
Pavel Feldman 1bebc28aed
chore: reset page/context for reuse in component tests (#13264) 2022-04-04 12:39:43 -07:00
Pavel Feldman 8232497c88
feat(electron): expose app process(), detach on exit (#13280) 2022-04-04 11:50:46 -07:00
Pavel Feldman b0103566c9
fix(addInitScript): tolerate trailing comments (#13275) 2022-04-03 18:47:12 -07:00
Yury Semikhatsky 7d7fe3c618
fix(route): remove cors option, compare origin (#13231) 2022-03-31 19:21:21 -07:00
Pavel Feldman 8758cf8cbf
chore: migrate html reporter to vite (#13116) 2022-03-28 18:21:19 -07:00
Yury Semikhatsky 5734c18ef8
feat(route): add cors header in route.fulfill (#12943) 2022-03-25 14:56:57 -07:00
Pavel Feldman 07c1a27732
chore(deps): prepare deps for monorepo (#13057) 2022-03-25 08:43:29 -07:00
Dmitry Gozman 91408f2c5e
fix(storageState): provide nice error message for storage state issues (#13019) 2022-03-24 07:33:51 -07:00
Yury Semikhatsky a8d80621b2
feat(chromium): large file uploads (#12860) 2022-03-18 09:00:52 -07:00
Andrey Lushnikov 88610c8b4c
fix: properly define apiName for web-first assertions (#12706)
Turns out relying on PWTRAP in stack is not reliable: depending on the
call structure, the stack might be cut unpredictably by Node.js.

This patch removes PWTRAP and instead plumbs explicit stack and
pre-set `apiName` all the way down to `wrapApiCall`.
2022-03-14 18:01:13 -07:00
Dmitry Gozman d836ed41d3
feat(remote): send 'x-playwright-browser' header (#12556) 2022-03-07 10:30:53 -08:00
Max Schmitt 5fd43edcbb
chore: fix android tests after #12220 (#12535) 2022-03-05 00:18:03 +01:00
Karan Shah fd1a1a2b1c
feat(android): Adding custom port parameter to connect to different adb server port (#12220) 2022-03-04 20:27:25 +01:00
Pavel Feldman 61a6cdde70
feat(api): expose locator.highlight (#12420) 2022-03-01 13:56:21 -08:00
Andrey Lushnikov 396d920145
feat(test-runner): implement expect(pageOrLocator).toHaveScreenshot (#12242)
Fixes #9938
2022-02-28 12:25:59 -08:00
Andrey Lushnikov 363b8a6970
feat: support mask option in screenshot methods (#12072)
Fixes https://github.com/microsoft/playwright/issues/10162
2022-02-15 07:05:05 -08:00
Dmitry Gozman 5a0445b8da
feat(remote): let client enable/disable sock proxy (#12086) 2022-02-14 15:10:58 -08:00
Dmitry Gozman fb00991a78
chore: intercept socks proxy in the driver (#12021) 2022-02-13 14:03:47 -08:00
Dmitry Gozman 66b5cf5ae1
feat(remote): make PlaywrightServer work with browserType.connect (#11849)
This changes PlaywrigtServer to serve connections like `ws://localhost:3333/?browser=chromium`:
- launches the browser;
- talks `browserType.connect`-style protocol over websocket;
- compatible with `connectOptions` fixture.

```js
await playwright.chromium.connect({ wsEndpoint: 'ws://localhost:3333/?browser=chrome' });
```
2022-02-10 16:36:23 -08:00
Dmitry Gozman 9c66068971
fix(connect): make route.fulfill({ response }) work (#12006) 2022-02-10 12:05:04 -08:00
Dmitry Gozman ae7c52154f
fix(fixtures): make sure connected browser respects context options (#11990)
Connected browser was wired up to the wrong browserType object.
2022-02-09 15:25:15 -08:00
Yury Semikhatsky 706c897031
feat(fixtures): respect tracing config for APIRequestContext (#11954) 2022-02-09 08:54:09 -08:00
Pavel Feldman 9ce8572c78
chore: don't run debugger on pause() (#11948) 2022-02-08 14:24:13 -08:00
Pavel Feldman dbd124d84b
chore: disable page.pause() when JS debugger is attached (#11926) 2022-02-07 19:21:58 -08:00
Dmitry Gozman 7912c515a3
fix(fixtures): account for default options being undefined (#11916) 2022-02-07 17:11:36 -08:00
Dmitry Gozman f587a43932
feat(locator): "has" option (#11411)
This introduces `locator('div', { has: locator })` syntax that matches elements containing other elements.
Can be used together with `hasText`.

Internally, has selector engine takes an inner selector escaped with double-quotes:
`div >> has="li >> span >> text=Foo" >> span`.
2022-02-02 16:55:50 -08:00
Dmitry Gozman 687a16b848
feat(locator): introduce locator.page() getter (#11630) 2022-01-26 07:58:58 -08:00
Dmitry Gozman 800b813d4b
chore(test runner): prepare to per-fixture timeout (#11605)
This reworks DeadlineRunner to use exception to signal timeout. This way,
we'll be able to run fixtures against a shared deadline vs their own
deadline and still get an easy control-flow timeout handling.
2022-01-25 11:22:28 -08:00
Ross Wollman 64e7557fb9
fix: falsey behavior in route.continue, page.post, testInfo.attach (#11421)
In several of the Playwright APIs, falsey values were not handled correctly. This changeset adds tests (and some fixes):

- route.continue: If options.postData was the empty string, the continue failed to override the post data.
- page.post (application/json with options.data: false|''|0|null): Raw falsey values were getting dropped (i.e. you can't do the equivalent of curl --header application/json … -d 'false'). This has been fixed with most values across all browsers, but an additional fix is needed for 'null' which the channel serializer treats extra specially.
- testInfo.attach: This didn't get reported as an error when options.path was the empty string, but should have been.
#11413 (and its fix #11414) inspired this search as they are the same
class of bug.
2022-01-24 15:06:36 -08:00
campersau 4d42f6a1c4
chore: remove unused _waitingForObject from Connection (#11474) 2022-01-24 18:58:57 +01:00
Max Schmitt f29a673b4c
fix: do not mute route handler exceptions (#11555) 2022-01-22 22:19:32 +01:00
Yury Semikhatsky ab9d5a0dc4
chore(tracing): add tracing to APIRequestContext (#11502) 2022-01-22 11:25:13 -08:00
Max Schmitt b79daec8e0
chore: make it possible to override Locator.dragTo(strict) (#11457) 2022-01-18 17:51:15 +01:00
Pavel Feldman feb7148b3f
chore: don't write into stdout from the test runner, use reporters instead (#11367) 2022-01-12 19:52:40 -08:00
William Bergeron-Drouin a70f4e6410
fix(android): use isRegExp for a more robust check in different execution contexts (#11359) 2022-01-12 11:04:18 -08:00
Pavel Feldman a12e76b52b
chore: implement locator._highlight / playwright._hideHighlight (#11339) 2022-01-12 07:37:48 -08:00
Dmitry Gozman 4efb30999f
feat(request): show request context methods as steps (#11337) 2022-01-11 17:33:41 -08:00
Pavel Feldman dc07fa6da6
fix(locator.count): do not touch main workd when computing count (#11256) 2022-01-07 15:52:14 -08:00
Dmitry Gozman 8e75dbffaa
fix(errors): waitForEvent/Request/Response should point to the api call (#11229) 2022-01-06 14:47:52 -08:00
Dmitry Gozman f933759ad1
chore(test runner): minor improvements (#11067)
- Types for fixture options and more.
- Refined type for deadline runner.
2021-12-22 09:59:58 -08:00
Dmitry Gozman dd57843404
fix(inspector): do not show internal calls (#10982)
Also mark setDefault{Navigation,}Timeout as always internal.
2021-12-16 17:17:24 -08:00
Yury Semikhatsky fcccac0c08
fix(tracing): return early if no trace was produced (#10953)
This fixes [page/page-set-input-files.spec.ts](https://devops.aslushnikov.com/flakiness2.html#filter_spec=page%2Fpage-set-input-files.spec.ts&commits=50&test_parameter_filters=%5B%5B%22browserName%22%2C%5B%5B%22electron%22%2C%22exclude%22%5D%5D%5D%2C%5B%22platform%22%2C%5B%5B%22Android%22%2C%22exclude%22%5D%5D%5D%2C%5B%22video%22%2C%5B%5Btrue%2C%22exclude%22%5D%5D%5D%2C%5B%22trace%22%2C%5B%5Btrue%2C%22include%22%5D%5D%5D%5D&timestamp=1639590204582) failures.
2021-12-15 17:19:00 -08:00
Pavel Feldman 04e82ce71c
feat(api): make withText an option (#10922) 2021-12-14 15:37:31 -08:00
Max Schmitt 67b16497cc
chore: move setting PW User-Agent on connectOverCDP to the server side (#10899) 2021-12-13 17:20:04 -08:00
Yury Semikhatsky a2a8967bed
chore: create trace.zip in driver for local runs (#10868) 2021-12-13 14:40:29 -08:00
Dmitry Gozman 9491f6652d
fix(steps): do not show unnecessary steps for internal waitForEventInfo (#10889) 2021-12-13 13:32:53 -08:00
Yury Semikhatsky aaa8b07770
chore(tracing): collect source names on server (#10862) 2021-12-10 14:07:22 -08:00
Yury Semikhatsky 976af162b0
feat(tracing): pack sources to trace on the driver side (#10815) 2021-12-09 17:21:17 -08:00
Dmitry Gozman 4996e184bf
fix(electron): make recordVideo work (#10810) 2021-12-08 17:34:50 -08:00
Max Schmitt fdb633dc8b
fix: support regexp flags with locator.withText() (#10779) 2021-12-07 19:33:04 -08:00