Pavel Feldman
f0e8d8f074
feat(api): introduce route.fetch and route.fulfill(json) ( #19184 )
2022-11-30 17:26:19 -08:00
Playwright Service
f952e1147b
feat(chromium-tip-of-tree): roll to r1063 ( #19070 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2022-11-30 11:11:54 -08:00
Dmitry Gozman
307a0b6ea7
fix(dotnet): codegen/docs use Name instead of NameString ( #19156 )
2022-11-29 20:56:18 -08:00
Pavel Feldman
5ac426b3d5
chore: expose utility script to inner evaluates ( #19147 )
2022-11-29 16:57:11 -08:00
Dmitry Gozman
b1b21bdac5
fix(shards): zero-sized shard should not include all tests ( #19148 )
...
Fixes #19073 .
2022-11-29 16:02:11 -08:00
Zihua Li
0c6a0f40c6
feat(keyboard): support simple cut-pasting using meta+x/v ( #18756 )
2022-11-29 12:58:14 -08:00
Dmitry Gozman
23e02dd006
test: unflake some timeout-dependent tests ( #19139 )
2022-11-29 12:54:53 -08:00
Shubham Kanodia
3d804ff7cd
chore: rewrite error message for missing snapshot ( #19104 )
2022-11-29 12:51:15 -08:00
Dmitry Gozman
43a6bf4d45
fix(inspector): support custom test id attribute ( #18996 )
...
Fixes #18959 .
2022-11-29 11:43:47 -08:00
Dmitry Gozman
4f72a895e9
fix(inspector): render expect.not correctly ( #19125 )
...
Also fixes the same in expect logs.
References #19083 .
2022-11-28 20:50:16 -08:00
Max Schmitt
dd18792087
test: navigator.webdriver is set to true ( #19065 )
...
https://github.com/microsoft/playwright/issues/18307
2022-11-28 20:03:49 -08:00
Pavel Feldman
85467d1b7d
chore: generate get by title ( #19119 )
2022-11-28 19:55:34 -08:00
Max Schmitt
b84a7a9e57
test: fix WebKit socks proxy tests ( #19035 )
...
Fixes https://github.com/microsoft/playwright/issues/18301
2022-11-23 13:03:38 -10:00
Yury Semikhatsky
d3f41eaa47
fix(fetch): cookie with domain=localhost ( #18998 )
...
Fixes https://github.com/microsoft/playwright/issues/18362
2022-11-23 09:22:49 -08:00
Yury Semikhatsky
31d45ad4dc
chore(runner): add all setup files in separate pass ( #18978 )
2022-11-22 16:22:48 -08:00
Dmitry Gozman
503f8f51dc
fix(reuse): stop pending operations upon reuse/disconnect ( #18997 )
2022-11-22 15:21:20 -08:00
Dmitry Gozman
190ed9465f
fix(chromium): detach from shared workers ( #18976 )
...
This prevents shared workers from stalling upon restart.
We receive `Inspector.targetCrashed` and
`Inspector.targetReloadedAfterCrash` events that assume
`Runtime.runIfWaitingForDebugger` from any attached client. It is easier
and more stable to just detach from shared workers, because we do not
inspect them.
For service workers, we should actually issue
`Runtime.runIfWaitingForDebugger` in such cases, because we attach to
them.
Fixes #18932 .
2022-11-22 15:20:42 -08:00
Pavel Feldman
73e7c0ed3d
fix(electron): tolerate connection closed during quit ( #18993 )
2022-11-22 11:50:35 -08:00
Pavel Feldman
a0ea9b5fba
chore: simplify slowmo implementation ( #18990 )
2022-11-22 11:06:45 -08:00
Pavel Feldman
228f78c89d
chore: render browser window in trace ( #18870 )
2022-11-22 08:41:52 -08:00
Yury Semikhatsky
2dc51f6c46
fix(runner): run all setup files when there is test.only ( #18967 )
2022-11-21 16:33:23 -08:00
Pavel Feldman
b5d756686d
fix(electron): consistently emit ready event after app is loaded ( #18972 )
...
Fixes: https://github.com/microsoft/playwright/issues/18928
2022-11-21 15:13:53 -08:00
Dmitry Gozman
8ad3bc7ff3
fix(role selector): expanded=false does not match elements without aria-expanded ( #18929 )
...
Fixes #18920 .
2022-11-21 14:13:51 -08:00
Yury Semikhatsky
e1189a96b6
feat(runner): run all setup files if none matched the filter ( #18922 )
...
The behavior regarding filters (both in config, command line and .only)
is the following:
- if some of tests match and none of setup match then we'll run all
setup files and all matching tests
- otherwise the filters apply to setup files the same way as to regular
tests
2022-11-21 09:23:28 -08:00
Dmitry Gozman
941090f0c4
fix(click): account for transformed iframes ( #18926 )
...
- Properly convert coordinates for iframes with non-zero borders.
- IFrames that have `transform` anywhere in the ancestors skip
`hitPoint`-based check because we cannot reliably translate the viewport
point into frame document's coordinates.
Fixes #18245 .
2022-11-18 16:51:39 -08:00
Max Schmitt
b1e2b8b629
test: fix electron tests on windows ( #18927 )
2022-11-18 13:44:42 -10:00
Yury Semikhatsky
c0d0f54a12
feat(runner): allow filtering setup and tests ( #18900 )
...
Running `npx playwright test file:123` will have the following behavior
- if only test files match then only matching subset of tests will run
but all setup files will run as well
- if only setup files match the filter then only those setup tests will
run
- if both setup and test files match an error will be thrown
2022-11-18 11:35:29 -08:00
Diego Pino
b6ececf6e5
test: check channel is not null ( #18908 )
2022-11-18 06:12:55 -10:00
Dmitry Gozman
1ec0bb277d
feat(expect): ensure at least one expectation check, no matter the timeout ( #18895 )
...
References #18859 .
2022-11-17 19:43:10 -08:00
Yury Semikhatsky
0f4b67bc6d
test(cli): setup files are in list-files and test --list output ( #18890 )
2022-11-17 16:31:04 -08:00
Pavel Feldman
b1acc0d0ea
chore: render user-friendly intermediate match values ( #18867 )
2022-11-16 18:05:36 -08:00
Pavel Feldman
4e58b0c2ea
chore: render timed out error message when expect timeouts ( #18863 )
...
Fixes https://github.com/microsoft/playwright/issues/18859
2022-11-16 17:00:42 -08:00
Yury Semikhatsky
05fb3e6de8
Revert "chore: hide TestProject.setup and TestInfo.storage ( #18800 )" ( #18836 )
...
Now that the patch has been cherry-picked to the release branch
reverting it on main.
This reverts commit 6deba5dc21 .
2022-11-16 11:23:10 -08:00
Pavel Feldman
705df52500
test: skip a couple of a11y tests on Edge temporarily ( #18824 )
2022-11-15 10:02:06 -10:00
Dmitry Gozman
f5b4e499fb
fix(locators): frameLocator().nth serialized correctly ( #18819 )
...
Fixes #18798 .
2022-11-15 10:50:46 -08:00
Pavel Feldman
5c530154f9
chore(electron): filter test args out ( #18822 )
2022-11-15 10:48:24 -08:00
Max Schmitt
4b352acdce
test: fix webview2 & msedge tests ( #18823 )
2022-11-15 08:44:26 -10:00
Pavel Feldman
98513c3737
test: fix video channel tests ( #18807 )
2022-11-14 22:20:00 -08:00
Pavel Feldman
dbf3fc5089
fix(electron): stall node while browser is starting ( #18804 )
...
Fixes https://github.com/microsoft/playwright/issues/17765
2022-11-14 22:01:54 -08:00
Yury Semikhatsky
6deba5dc21
chore: hide TestProject.setup and TestInfo.storage ( #18800 )
2022-11-14 17:03:01 -08:00
Pavel Feldman
59418aa6f3
chore: ignore untrusted clicks when recording ( #18796 )
...
Fixes https://github.com/microsoft/playwright/issues/18776
2022-11-14 15:16:25 -08:00
Dmitry Gozman
a7b2b04588
fix(getByRole): name and exact ( #18719 )
...
Following the `getByText()` and other methods:
- By default, matching is substring and case-insensitive. Before, it was
only case-insensitive, but not substring.
- With new option `exact: true`, matching is full string and
case-sensitive.
- Matching always normalizes whitespace.
- Codegen generates `exact: false` by default.
- `internal:role` treats `[name="foo"i]` as non-exact match.
Various fixes:
- Updated `getByRole` docs to match the reality.
- Locator generator edge cases.
2022-11-11 15:58:36 -08:00
Pavel Feldman
2841b0b3dc
fix: address ff test failure with new event mode
2022-11-10 17:31:43 -08:00
Andrey Lushnikov
f3a99fdd69
chore: address API review comments for the snapshotPathTemplate ( #18716 )
...
This patch:
- updates documentation to lead users from `TestConfig.snapshotDir` and
`testInfo.snapshotSuffix` to `TestConfig.snapshotPathTemplate` as a
better and more flexible alternative.
- drops `{snapshotSuffix}` from documentation
- stops using `snapshotSuffix = ''` in our own tests and switches us
to the `snapshotPathTemplate`.
- adds `{testName}` token.
2022-11-10 17:23:57 -08:00
Andrey Lushnikov
db826c9c8c
chore: drive-by fixes for the snapshotPathTemplate ( #18715 )
...
- Use `snapshotPathTemplate` for docker screenshots in html-reporter
- Mark the snapshot path template test as slow since it re-spawns
worker for each project.
- Fix docker smoke tests
2022-11-10 15:50:13 -08:00
Max Schmitt
56d7d47d43
fix(codegen): make select work with size attribute ( #18712 )
...
Fixes https://github.com/microsoft/playwright/issues/18711
2022-11-10 15:06:53 -08:00
Dmitry Gozman
194abc35cd
Revert #18561 "feat(test runner): test.reset() to reset options to default/config value" ( #18704 )
...
This reverts commit 6fef227f43 .
Not shipping in 1.28.
2022-11-10 14:45:05 -08:00
Dmitry Gozman
7c80b77c57
feat(clear): remove clear() methods from all classes except Locator ( #18703 )
...
The preferred way is to use the locator, so we should not encourage the
use of `ElementHandle` or `Page` in the new APIs.
2022-11-10 12:29:14 -08:00
Pavel Feldman
ca2e7ef199
chore: report paused signal to the debug controller clients ( #18701 )
2022-11-10 12:15:29 -08:00
Pavel Feldman
c25e67a0e7
chore: conditionally dispatch network events ( #18687 )
2022-11-09 21:10:57 -08:00
Dmitry Gozman
cafa558845
fix(codegen): update priorites in selector generator ( #18688 )
...
- prefer `role=checkbox` over `input[type=checkbox]`
- prefer `#id` over `input[type=checkbox]` and `role=checkbox`
- prefer `text=foo` over `internal:has-text=foo`
- ignore `none` and `presentation` roles
- remove non-strict support
2022-11-09 17:22:13 -08:00
Andrey Lushnikov
6d491f928d
feat(playwright-test): introduce snapshotPathTemplate configuration ( #18568 )
...
This configuration option allows to set a string with template
values for precise control over snapshot path location.
An example of `snapshotPathTemplate` usage:
```ts
// playwright.config.ts
// Notice the `testDir` configuration!
export default {
testDir: './tests',
snapshotPathTemplate: './__screenshots__/{platform}/{projectName}/{testFilePath}/{arg}{ext}',
}
```
Currently supported "magic tokens" inside the `snapshotPathTemplate`
are:
- `{testDir}` - project's `testDir`
- `{snapshotDir}` - project's `snapshotDir`
- `{platform}` - `process.platform`
- `{projectName}` - Project's sanitized name
- `{testFileDir}` - Directories in relative path from `testDir` to test
file path (e.g. `page/` in the example below)
- `{testFileName}` - Test file name (with extension) (e.g.
`page-click.spec.ts` in the example below)
- `{testFilePath}` - Relative path from `testDir` to test file path
(e.g. `page/page-click.spec.ts` in the example below)
- `{ext}` - snapshot extension (with dots)
- `{arg}` - joined snapshot name parts, without extension (e.g.
`foo/bar/baz` in the example below)
- `{snapshotSuffix}` - `testInfo.snapshotSuffix` value.
Consider the following file structure:
```
playwright.config.ts
tests/
└── page/
└── page-click.spec.ts
```
The following `page-click.spec.ts`:
```ts
// page-click.spec.ts
import { test, expect } from '@playwright/test';
test('should work', async ({ page }) => {
await expect(page).toHaveScreenshot(['foo', 'bar', 'baz.png']);
});
```
Fixes #7792
2022-11-09 15:29:07 -08:00
Andrey Lushnikov
9bcb28f25a
Revert "feat: send SIGTERM to webserver before SIGKILL'ing it. ( #18220 )" ( #18661 )
...
This reverts commit c63a0b536d .
Reason: https://github.com/microsoft/playwright/pull/18564
2022-11-09 09:18:33 -08:00
Dmitry Gozman
a7f1c8cb65
fix(codegen): fix csharp options syntax ( #18662 )
2022-11-08 21:48:01 -08:00
Dmitry Gozman
ef1b68a998
feat(locators): support frame locators in asLocator ( #18653 )
...
Drive-by: change `true` to `True` in python.
References #18524 .
2022-11-08 17:08:08 -08:00
Pavel Feldman
0355d8618f
chore: use provided value for the generated test id ( #18631 )
2022-11-08 12:04:43 -08:00
Dmitry Gozman
05b623e6b0
feat(locators): asLocator supports internal:has= ( #18625 )
...
The following snippet:
```js
rowLocator
.filter({ hasText: 'John' })
.filter({ has: page.getByRole('button', { name: 'Say hello' }) })
```
is shown in the logs:
```log
pw:api waiting for getByRole('listitem').filter({ hasText: 'John' }).filter({ has: getByRole('button', { name: 'Say hello' }) })
```
2022-11-08 08:47:02 -08:00
sand4rt
712ce0dce9
test(ct): vue cli router ( #18603 )
2022-11-08 08:40:29 -08:00
sand4rt
ccf9c8d487
test(ct): react router ( #18602 )
2022-11-08 08:40:06 -08:00
sand4rt
84529595cc
test(ct): react vite router ( #18601 )
2022-11-08 08:39:48 -08:00
Yury Semikhatsky
d5494edf71
feat(runner): TestOptions.storageStateName ( #18587 )
2022-11-07 16:27:38 -08:00
Dmitry Gozman
28d3f48a65
test: gardening ( #18623 )
...
- Separate worker for some Android tests.
- Use png comparator for some screenshots tests instead of buffer
equality.
- Skip drag&drop tests on Android.
- Various timeout fixes.
2022-11-07 15:35:21 -08:00
Dmitry Gozman
9172a2ca5a
test: use strict png comparator in tests ( #18622 )
2022-11-07 13:32:46 -08:00
Dmitry Gozman
6a65a43e9a
chore: use consistent asLocator() in all logs ( #18586 )
...
References #18524 .
2022-11-04 15:19:16 -07:00
Yury Semikhatsky
25dc0bfacb
feat(runner): change storage fixture to TestInfo.storage() ( #18584 )
2022-11-04 14:28:25 -07:00
Yury Semikhatsky
a9c15a25f8
test: storageState from config key ( #18581 )
2022-11-04 13:10:33 -07:00
Dmitry Gozman
3a24e88e61
test: enable "should not crash when force-clicking hidden input" on chromium ( #18576 )
...
Fixed by the latest roll.
2022-11-04 10:39:51 -07:00
Dmitry Gozman
6fef227f43
feat(test runner): test.reset() to reset options to default/config value ( #18561 )
2022-11-04 09:03:29 -07:00
Dmitry Gozman
227f47effb
feat(firefox): roll to 1364 and 1367, rebase page-drag.spec ( #18559 )
2022-11-04 08:53:50 -07:00
Pavel Feldman
3bc9e07daf
chore: parse locators strictly ( #18553 )
2022-11-03 15:17:08 -07:00
Yury Semikhatsky
c8cd07594c
feat(runner): initialize context.storageState from storage entry ( #18549 )
2022-11-03 14:20:39 -07:00
Xiaoxing Ye
9338355e47
feat(testinfo): add name to attachment output name ( #18440 )
...
Per discussion in #12950 , adding sanitized name to the output filename
prefix. This can make debugging easier, and the filename structure more
human friendly.
2022-11-03 13:54:51 -07:00
Andrey Lushnikov
8538f61a72
feat(containers): implement global network tethering for playwright server ( #17719 )
...
This patch implements a new mode of network tethering for Playwright
server & its clients.
With this patch:
- playwright server could be launched with the
`--browser-proxy-mode=tether` flag to engage in the new mode
- a new type of client, "Network Tethering Client" can connect to the
server to provide network traffic to the browsers
- all clients that connect to the server with the `x-playwright-proxy:
*` header will get traffic from the "Network Tethering Client"
This patch also adds an environment variable
`PW_OWNED_BY_TETHER_CLIENT`. With this env, playwright server will
auto-close when the network tethering client disconnects. It will also
auto-close if the network client does not connect to the server in the
first 10 seconds of the server existence. This way we can ensure that
`npx playwright docker start` blocks terminal & controls the lifetime of
the started container.
2022-11-03 13:47:51 -07:00
Pavel Feldman
17c8554255
chore(recorder): explore using codemirror ( #18529 )
2022-11-03 09:55:23 -07:00
Yury Semikhatsky
45aa82242d
feat(runner): storage fixture ( #18522 )
2022-11-02 20:22:35 -07:00
Dmitry Gozman
20f2e0049c
test: unflake codegen tests waiting for highlight ( #18518 )
...
Clear existing highlights to avoid resolving with the old highlight
value.
2022-11-02 17:00:33 -07:00
Yury Semikhatsky
1d2fc1e963
feat(runner): project.setup ( #18486 )
2022-11-01 23:44:30 -07:00
Pavel Feldman
67c9624924
chore: send structured codegen info to the debug controller ( #18491 )
2022-11-01 18:02:14 -07:00
Pavel Feldman
2183d9e9a2
chore: use codemirror for editor ( #18482 )
2022-11-01 15:04:30 -07:00
sand4rt
4896b22616
chore(ct): bump vue to v2.7.13 ( #18428 )
2022-11-01 14:17:43 -07:00
Max Schmitt
57c2ed91d9
chore: fix language binding based install message ( #18480 )
2022-11-01 13:46:17 -07:00
Yury Semikhatsky
7337dd4e28
chore: revert project.{stage,run} ( #18462 )
2022-10-31 14:04:24 -07:00
sand4rt
fbfec18678
fix(ct): vite base url ( #17767 )
2022-10-31 12:58:07 -07:00
Pavel Feldman
2c3fa1b1ff
chore: add explore locator parser ( #18429 )
2022-10-31 12:55:35 -07:00
Playwright Service
2d07c10888
feat(webkit): roll to r1735 ( #18419 )
2022-10-31 12:54:12 -07:00
Dmitry Gozman
e725293586
test: print stdout/stderr in signals.spec ( #18456 )
2022-10-31 12:45:18 -07:00
Pavel Feldman
a7f5f2d7a1
chore: allow not overriding media when creating context ( #18413 )
2022-10-31 09:09:52 -07:00
sand4rt
fabe42dc28
chore(ct): bump vite to v3.2.1 ( #18427 )
2022-10-31 08:58:11 -07:00
sand4rt
afca134c9f
feat(ct): vue3 ts api component as slot ( #18425 )
2022-10-31 08:57:21 -07:00
sand4rt
01d0ff7316
core(ct): rename tests from rerender to update ( #18374 )
2022-10-31 08:55:29 -07:00
Dmitry Gozman
e37757b44b
test: unflake some wheel tests ( #18412 )
2022-10-28 13:35:09 -07:00
Dmitry Gozman
90cf2b87b4
test: clicking hidden input should not crash/timeout ( #18410 )
...
References #18183 .
2022-10-28 11:13:24 -07:00
Dmitry Gozman
2d3b2a0768
feat(test runner): test.describe.configure({ retries, timeout }) ( #18388 )
...
References #10825 .
2022-10-27 15:53:27 -07:00
Pavel Feldman
3e112193a6
test: fix debug controller tests on firefox ( #18361 )
2022-10-27 09:19:55 -07:00
Yury Semikhatsky
12fdd3336e
test: navigator.storage.getDirectory() across browsers ( #18305 )
2022-10-26 15:41:36 -07:00
Pavel Feldman
db456a020c
chore: do not point to node_modules in code frames ( #18358 )
...
Fixes https://github.com/microsoft/playwright/issues/18330
2022-10-26 15:18:31 -07:00
Pavel Feldman
1505a952fe
chore: make handle beforeunload when reusing the context ( #18357 )
...
Fixes: https://github.com/microsoft/playwright/issues/17903
2022-10-26 15:17:40 -07:00
Max Schmitt
e25537f941
feat(android): add AndroidDevice.close event ( #18306 )
2022-10-25 18:18:14 -07:00
Max Schmitt
ffc47271f2
fix(junit): escape null control character ( #18325 )
...
Fixes https://github.com/microsoft/playwright/issues/18322
2022-10-25 14:39:16 -07:00
Dmitry Gozman
0653692a5b
fix(selectors): :scope combined with other css should work ( #18324 )
...
Previously, we considered root when selector has `:scope` modifier, but
did not actually match it with other css specifiers, like in
`:scope.selected`.
Fixes #17824 .
2022-10-25 14:31:39 -07:00
Max Schmitt
721ae2b3ed
fix: make reoccurring networkidle work ( #18323 )
...
Fixes https://github.com/microsoft/playwright/issues/18283
Signed-off-by: Max Schmitt <max@schmitt.mx>
2022-10-25 13:35:18 -07:00
Jean-François Greffier
0fe1998c72
feat(api): add clear() ( #18296 )
...
Add `clear()` method as a convenience shortcut for `fill('')`.
Implemented for AndroidDevice, ElementHandle, Frame, Locator and Page.
Fixes https://github.com/microsoft/playwright/issues/14041
2022-10-25 12:56:11 -07:00
Dmitry Gozman
caa9c6a597
fix(test runner): make sure soft expect error does not mask a timeout flag ( #18321 )
...
We have to reliably know whether test timed out or not, and soft expect
error could have marked it with `status=failed` but it would still time
out. Now we have a separate `_didTimeout` flag for this.
Fixes #18023 .
2022-10-25 12:34:15 -07:00
Pavel Feldman
37250cde17
chore: switch to the new debug controller harness ( #18308 )
2022-10-25 09:55:20 -07:00
Pavel Feldman
d819f97f40
test: clean up connect options set for debug controller ( #18317 )
2022-10-25 09:03:04 -07:00
Pavel Feldman
d8ec7cba47
chore: don't generate new lines in codegen ( #18309 )
2022-10-25 09:02:06 -07:00
Dmitry Gozman
3cd64e1449
fix(check): support all ARIA roles that could be aria-checked ( #18304 )
...
Fixes #18193 .
2022-10-25 06:11:11 -07:00
Dmitry Gozman
329b3eadb4
feat: locator.blur() ( #18303 )
...
Note this is only available on Locator. Fixes #10724 .
2022-10-25 06:10:40 -07:00
Max Schmitt
805312b722
feat(android): add Android.{launchServer,connect} ( #18263 )
...
Fixes https://github.com/microsoft/playwright/issues/17538
2022-10-24 17:23:11 -07:00
Pavel Feldman
d3948d1308
chore: enable debug controller testing ( #18270 )
2022-10-24 16:19:58 -07:00
Dmitry Gozman
9a684d39ab
feat(firefox): prepare to fission roll ( #18302 )
...
- Handle `Runtime.executionContextsCleared` event.
- Skip one auto-waiting test, because navigations now happen
asynchronously.
2022-10-24 16:03:56 -07:00
Pavel Feldman
ab78865a8d
chore: render steps in list reporter ( #18269 )
2022-10-24 15:54:53 -07:00
Pavel Feldman
3f850d27e9
fix(highlight): fix the testing harness to be real ( #18294 )
2022-10-24 15:01:48 -07:00
Max Schmitt
be67189a54
fix(fetch): throw on unexpected end of file brotli requests ( #18223 )
...
https://github.com/microsoft/playwright/issues/18190
2022-10-24 12:51:45 -07:00
sand4rt
3460f01b47
test(ct): component as slot ( #18090 )
2022-10-24 12:31:35 -07:00
Dmitry Gozman
48c44f2c78
fix(selectors): hasText and getByText exact match should consider full text ( #18260 )
...
Fixes #18259 .
2022-10-21 16:29:45 -07:00
Andrey Lushnikov
c63a0b536d
feat: send SIGTERM to webserver before SIGKILL'ing it. ( #18220 )
...
We now will send `SIGTERM` to the webserver and wait for the `timeout`
before sending `SIGKILL` to it.
Fixes #18209
2022-10-21 08:55:06 -07:00
sand4rt
951cba8142
chore(ct): type check ( #18208 )
2022-10-20 13:33:25 -07:00
Pavel Feldman
fb9555fb5d
fix(ts): resolve .js to .ts in non-ESM mode too ( #18219 )
...
Fixes https://github.com/microsoft/playwright/issues/18077
2022-10-20 12:21:22 -07:00
Dmitry Gozman
5ed552838e
test: skip "should not include buffers in the trace" on non-default mode ( #18215 )
2022-10-20 10:19:42 -07:00
sand4rt
4ed2a01d9c
core(ct): import paths ( #18131 )
2022-10-19 19:41:21 -07:00
sand4rt
d8b037c559
feat(ct): solid update ( #18074 )
...
closes: https://github.com/microsoft/playwright/issues/15057
closes: https://github.com/microsoft/playwright/issues/15919
Signed-off-by: sand4rt <info@mesander.com>
2022-10-19 19:39:50 -07:00
Pavel Feldman
84daeafb3a
chore: use internal locator for role ( #18187 )
2022-10-19 19:38:47 -07:00
Pavel Feldman
ad9729f246
chore: respect tsconfig paths in js files ( #18191 )
...
Fixes: https://github.com/microsoft/playwright/issues/17804
2022-10-19 19:38:14 -07:00
Max Schmitt
af38449f42
fix(pwtest): fix focused line with dirname specified ( #18189 )
2022-10-19 15:05:59 -07:00
Dmitry Gozman
852a5c234b
feat(install): connection timeout ( #18161 )
...
- `PLAYWRIGHT_DOWNLOAD_CONNECTION_TIMEOUT` for custom timeout.
- Bumped default timeout from 10s to 30s.
- Inlined `download.ts` to avoid extra plumbing.
- Removed optional arguments - we always pass them.
- Updated installation docs.
Fixes #18156 .
2022-10-19 13:06:35 -07:00
Dmitry Gozman
9fe72a1da8
fix(test runner): remove unused type imports during transform ( #18157 )
...
Fixes #18117 .
2022-10-19 13:06:11 -07:00
Yury Semikhatsky
69092b153a
chore(codegen): do not generate waitForURL ( #18167 )
...
Fixes https://github.com/microsoft/playwright/issues/17179
2022-10-19 11:26:19 -07:00
Pavel Feldman
1b541c9932
chore: render typed locators in the trace viewer ( #18166 )
2022-10-18 19:23:40 -07:00
Yury Semikhatsky
11eb719d13
feat(runner): project run: "always" ( #18160 )
...
Projects marked with `run: 'always'` are non shard-able and run after
failures.
2022-10-18 17:18:45 -07:00
Pavel Feldman
7910f8a165
Revert "chore(ct): type checking" ( #18165 )
...
Reverts microsoft/playwright#17931
type checking fails on the bots
2022-10-18 17:00:17 -07:00
Pavel Feldman
739b64a09a
chore: render typed locators in the recorder ( #18162 )
2022-10-18 16:39:58 -07:00
Pavel Feldman
304a4ee8ec
chore: migrate to the internal:text selector ( #18135 )
2022-10-18 13:09:54 -07:00
sand4rt
e76adafc5b
feat(ct): vue3 html as slot ( #18007 )
2022-10-18 13:06:36 -07:00
sand4rt
49901c8ed7
feat(ct): typed hooks config ( #18003 )
2022-10-18 13:04:54 -07:00
sand4rt
ced3efb688
fix(ct): render attributes ( #17991 )
2022-10-18 13:02:53 -07:00
sand4rt
689c3eb5fe
chore(ct): type checking ( #17931 )
2022-10-18 13:00:37 -07:00
Pavel Feldman
7ab4c17519
chore: support jsx/tsx syntax in test files ( #18123 )
...
Fixes https://github.com/microsoft/playwright/issues/17964
2022-10-18 12:45:33 -07:00
Dmitry Gozman
6d363888f2
fix(tracing): do not serialize buffers into the trace file ( #18132 )
...
Fixes #18126 .
2022-10-17 16:17:25 -07:00
Yury Semikhatsky
7219a68b12
fix: exception in exposeFunction when oopif detaches ( #18078 )
...
The test is racy but it was reliably failing several times in 100
iterations.
Fixes https://github.com/microsoft/playwright/issues/18067
2022-10-14 08:37:42 -07:00
Max Schmitt
1c1060e85b
test: electron firstWindow() does not work with delayed navigation ( #18093 )
2022-10-14 08:36:37 -07:00
Max Schmitt
a60073d664
fix(generator): .NET getByRole w/ name ( #18060 )
2022-10-13 08:23:43 -07:00
Yury Semikhatsky
08a3a269cd
feat(runner): project.canShard ( #18037 )
2022-10-12 14:34:22 -07:00
Barbara Lócsi
347544db09
fix: override cookie even if new is expired ( #17998 )
2022-10-11 23:06:16 -07:00
Pavel Feldman
ec1f8d17f0
fix(generator): generate nice locators for arbitrary selectors ( #18010 )
2022-10-11 17:50:41 -07:00
Yury Semikhatsky
3b8f63d703
feat(runner): project.stopOnFailure ( #18009 )
2022-10-11 17:04:01 -07:00
sand4rt
1a43af3fb6
feat(ct): rerender to update ( #17972 )
2022-10-10 19:56:33 -07:00
Yury Semikhatsky
3592269caf
feat(runner): project.stage ( #17971 )
2022-10-10 17:56:18 -07:00
Yury Semikhatsky
2d72d0ba03
chore: remove config.groups ( #17974 )
2022-10-10 16:42:48 -07:00
sand4rt
da9276bd03
feat(ct): vue2 rerender complete ( #17929 )
...
Partial fix for https://github.com/microsoft/playwright/issues/15919
2022-10-10 12:49:52 -07:00
sand4rt
3a281364d8
feat(ct): svelte rerender ( #17940 )
2022-10-10 12:45:48 -07:00
sand4rt
0f820aa7f3
test(ct): svelte named slots ( #17943 )
2022-10-10 12:43:30 -07:00
Pavel Feldman
35a5e805b3
fix(codegen): use constants when generating C# and Java roles ( #17961 )
...
Fixes #[17960](https://github.com/microsoft/playwright/issues/17960 )
2022-10-10 12:25:56 -07:00
Max Schmitt
70258d9c49
test: add 'getByTestId with custom testId should work' ( #17966 )
2022-10-10 22:17:38 +03:00
Yury Semikhatsky
639b28db3b
fix: noWaitAfter option for hover ( #17856 )
...
Fixes https://github.com/microsoft/playwright/issues/17833
2022-10-07 12:43:48 -07:00
Yury Semikhatsky
1b5c2f9aba
fix(trace): show waitForLoadState when event has already fired ( #17826 )
...
Fixes https://github.com/microsoft/playwright/issues/17807
2022-10-07 11:27:56 -07:00
Dmitry Gozman
b64457d8ce
fix(locators): make regex escape work when multiple spaces are present ( #17893 )
2022-10-06 16:23:40 -07:00
sand4rt
c889b2ad26
feat(ct): vue3 rerender complete ( #17069 )
2022-10-06 15:07:32 -07:00
Pavel Feldman
8b018f6b41
chore: make role name case-insensitive ( #17888 )
2022-10-06 14:35:10 -07:00
Dmitry Gozman
2f918852da
test: rebaseline requestStorageAccess test for firefox-beta ( #17879 )
2022-10-06 10:11:59 -07:00
Dmitry Gozman
a23ee6f14d
test: fix "getByText should work" with tracing enabled, docker smoke tests ( #17864 )
2022-10-05 21:31:25 -07:00
Pavel Feldman
c0e4caa604
fix(esm+tsconfig): allow mapped ts files in esm mode ( #17862 )
...
Fixes https://github.com/microsoft/playwright/issues/17840
2022-10-05 18:00:49 -07:00
Pavel Feldman
f2685cab95
chore: use api selectors in codegen hover ( #17855 )
2022-10-05 17:59:34 -07:00
Pavel Feldman
c168f5494f
chore: generate getByLabel for inputs ( #17845 )
2022-10-05 12:02:15 -07:00
Dmitry Gozman
2bcd9ce9ae
chore: internal selectors ( #17827 )
...
- Rename internal selectors `has`, `control` and `attr` to
`internal:has`, `internal:control` and `internal:attr`.
- Fix `getByLabel()` to respect strictness, by introducing
`internal:label` selector.
- Move tests essential for ports to `selectors-by.spec`.
2022-10-05 08:45:10 -07:00
Yury Semikhatsky
f64dbe9ece
test: :scope.class should narrow down locator ( #17829 )
2022-10-04 18:05:43 -07:00
Dmitry Gozman
a9c02b9753
fix(locators): properly escape various locator methods ( #17798 )
...
References #17604 .
2022-10-04 13:21:38 -07:00
Pavel Feldman
8810b55504
feat(api): shorted getByLabel, getByPlaceholder ( #17816 )
2022-10-04 10:29:26 -07:00
Yury Semikhatsky
a9ef95f31e
test: update expectations of requestStorageAccess ( #17780 )
...
Fixes https://github.com/microsoft/playwright/issues/17285
2022-10-03 20:46:47 -07:00
Yury Semikhatsky
cb6b824119
test: update SameSite cookie fetch test ( #17797 )
2022-10-03 20:46:25 -07:00
Dmitry Gozman
99266e48ec
test: add a test for bfcache and history navigations ( #17796 )
...
Fixes #17618 .
2022-10-03 19:13:28 -07:00
Pavel Feldman
1311767f87
chore: generate api calls ( #17794 )
2022-10-03 17:14:02 -07:00
Dmitry Gozman
f14f69624f
test: unflake network idle test ( #17784 )
...
Too slow on Firefox to fit 500ms network idle timeout.
2022-10-03 12:28:19 -07:00
Dmitry Gozman
06e0ea5e24
test: unflake page-drag tests ( #17783 )
...
To avoid rounding errors, make coordinates even.
2022-10-03 12:26:36 -07:00
Pavel Feldman
42a4d8a829
chore(codegen): prioritize role selectors ( #17750 )
2022-10-03 08:44:24 -07:00
Yury Semikhatsky
ff6d240e83
test: auto accept requestStorageAccess dialog ( #17752 )
...
Reference https://github.com/microsoft/playwright/issues/17285
2022-09-30 18:56:05 -07:00
Yury Semikhatsky
9b35a8071f
fix(fetch): support SameSite attribute ( #17748 )
...
Fixes https://github.com/microsoft/playwright/issues/17398
2022-09-30 15:01:59 -07:00
Pavel Feldman
5754fb9c6d
chore: do not emit comments from codegen ( #17747 )
2022-09-30 12:36:54 -07:00
Dmitry Gozman
8c416653f9
test: improve drag&drop tests ( #17668 )
...
- Add tests for dragging in iframes.
- Check drag events coordinates.
References #17153 .
2022-09-30 09:29:19 -07:00
Pavel Feldman
5424c8c385
fix(test): unflake workers test ( #17728 )
2022-09-30 08:07:20 -07:00
Pavel Feldman
bfb8a43ece
feat(api): all getByTitle, getByAltText ( #17724 )
2022-09-29 21:45:44 -07:00
Pavel Feldman
083fb4401c
feat(api): add getByPlaceholderText ( #17722 )
2022-09-29 18:12:49 -07:00
Yury Semikhatsky
51966bc045
fix: --grep and --grep-invert should intersect with config ( #17716 )
...
Fixes https://github.com/microsoft/playwright/issues/17405
2022-09-29 16:39:21 -07:00
Pavel Feldman
e09945c637
chore: handle unexpected ws response ( #17714 )
2022-09-29 14:04:19 -07:00
Pavel Feldman
b4ee84fb0c
chore(api): remove locator.get() ( #17709 )
2022-09-29 12:50:52 -07:00
Pavel Feldman
e3a2316013
feat(api): add getByLabelText ( #17684 )
2022-09-29 11:06:58 -07:00
Yury Semikhatsky
9f17ee6871
feat: group filter ( #17646 )
2022-09-28 18:45:01 -07:00
Pavel Feldman
cadd4d1dd0
chore: migrate http server to ts ( #17677 )
2022-09-28 17:01:13 -07:00
Pavel Feldman
6cc33c2d08
fix(trace): fix trace mode tests ( #17667 )
2022-09-28 12:47:08 -07:00
Pavel Feldman
2a85806cc0
chore: follow up to getTestById, escape it ( #17650 )
2022-09-28 09:23:47 -07:00
Playwright Service
7896346810
feat(chromium-tip-of-tree): roll to r1046 ( #17653 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2022-09-28 12:13:07 +02:00
sand4rt
704ff5fda3
core(ct): align styling ( #17573 )
...
aligned the global styling of the ct test projects and added dark mode
2022-09-28 10:54:24 +02:00
Pavel Feldman
d8f67eb75d
feat(api): introduce getByTestId ( #17645 )
2022-09-27 21:06:07 -07:00
Pavel Feldman
d9a28bd244
feat(api): introduce get/getByText/getByRole ( #17577 )
2022-09-27 16:13:56 -07:00
sand4rt
7be3e5cb82
test(ct): vue unmount ( #17218 )
2022-09-27 22:31:26 +02:00
sand4rt
d27854f1e7
test(ct): svelte render without options ( #17571 )
...
Added missing test
2022-09-27 13:26:48 -07:00
Pavel Feldman
8ad201b802
chore: add snippet to the json report ( #17567 )
2022-09-27 13:23:08 -07:00
Dmitry Gozman
50d4a5844f
test: mark "should cache build" as slow ( #17637 )
...
Frequently timing out on the bots.
2022-09-27 13:09:05 -07:00
Dmitry Gozman
3409a37f77
feat: allow opening multiple html reporters and trace viewers ( #17636 )
...
This makes `HttpServer` accept `preferredPort` option that will first
try to listen on that port, and if that port is already in use, listen
on some available port instead.
Fixes #17201 .
2022-09-27 12:45:42 -07:00
Pavel Feldman
3a13a897b9
Revert "fix(pwt): compatibility in CWD with wrong casing ( #16636 )" ( #17599 )
2022-09-26 18:53:08 -07:00
Yury Semikhatsky
72a24973f3
fix: ignore timing data when request served from memory cache ( #17595 )
...
`Response.timing` contains stale data when the request is served from
memory cache, in that we should ignore it and return -1 where we don't
know the value.
Fixes https://github.com/microsoft/playwright-java/issues/1080
2022-09-26 17:12:47 -07:00
Ross Wollman
e73676d094
fix(reporters): output relative to config ( #17518 )
...
Fixes #17412 .
Supercedes #17413 .
- if configured via playwright.config.ts, relative paths should be
relative to the config.
- if configured via env var, should be relative to `cwd`
2022-09-26 11:01:43 -07:00
Yusuke Iwaki
f5d7089819
fix: accept post data params for request.get and request.head ( #17566 )
2022-09-26 09:28:07 -07:00
Yury Semikhatsky
10d7c60abf
feat(runner): project execution schedule ( #17548 )
2022-09-23 20:01:27 -07:00
Andrey Lushnikov
6b4afbb8df
chore: support http protocol with browserType.connect() ( #17483 )
2022-09-22 11:59:58 -07:00
sand4rt
9564306297
feat(ct): solid render children complete ( #17417 )
2022-09-21 21:16:30 -07:00
Dmitry Gozman
f17d345ac9
fix(ct): support empty fragments ( #17475 )
...
Currently, we ues `#root` vs `#root > *` selector for component roots
depending on the number of root children. This heuristic detects
fragments that render multiple elements inside the root.
However, this does not work with empty fragments that do not render
anything.
The fix is to make the `#root >> control=component` selector that would
dynamically detect the root. This supports empty fragments and also
allows for dynamic updates of the fragments.
2022-09-21 15:12:18 -07:00
Jean-François Greffier
a15fe50e7b
feat(test runner): workers as percentage ( #17400 )
...
Allows to set workers as a percentage of logical CPUs, for example
"50%".
Examples :
```bash
npx playwright test --workers 3
npx playwright test --workers 50%
```
```js
const config: PlaywrightTestConfig = {
// ...
workers: '33%',
}
```
2022-09-21 11:17:36 -07:00
Dmitry Gozman
da7feb9cc6
fix(esm): silence warning when running with experimental loader ( #17493 )
...
Unfortunately, this silences all warnings, not just the experimental
loader warning.
2022-09-21 10:56:17 -07:00
Pavel Feldman
df143031e7
chore: move protocol and trace types into the top-level packages ( #17486 )
2022-09-20 18:41:51 -07:00
Yury Semikhatsky
cd9a5946d2
fix(expect): toHaveAttribute with empty value should not match missing attribute ( #17477 )
...
Reference #16517
2022-09-20 17:11:12 -07:00
Pavel Feldman
3abbe0d850
chore: migrate codegen to controller events ( #17450 )
2022-09-20 14:32:21 -07:00
Ross Wollman
af5e06fbfd
test: repro for spaces in filename for input ( #17452 )
2022-09-20 12:58:26 -07:00
Ross Wollman
8d639ae50e
chore: revert toHaveAttribute type sig and overloads ( #17406 )
...
Relates #16517 .
Revert "docs(python): add missing NotToHaveAttribute overloads (#17371 )"
This reverts commit 2e1ea29614 .
Revert "docs(release-notes): add 1.26 release notes for language ports
(#17345 )"
This reverts commit 4b8a85e69d .
Revert "test: unflake "should support boolean attribute with options"
(#17024 )"
This reverts commit 1dc05bd4c6 .
Revert "fix: support toHaveAttribute(name, options) (#16941 )"
This reverts commit f30ac1d678 .
Revert "feat: expect(locator).toHaveAttribute to assert attribute
presence (#16767 )"
This reverts commit 622c73cc1e .
2022-09-16 11:17:35 -07:00
Pavel Feldman
e92bdce383
chore: remove connect options after testing ( #17380 )
2022-09-15 20:37:21 -07:00
Dmitry Gozman
43304e980d
feat: show browser.close() stack in "Browser has been closed" error ( #17376 )
...
Often times we see "Browser has been closed" error, but it's not
entirely clear why. Showing the close stack might help.
```js
page.goto: Connection closed
==== Closed by ====
at /Users/dgozman/code/playwright/tests/library/browsertype-connect.spec.ts:477:32
```
2022-09-15 17:04:41 -07:00
Andrey Lushnikov
b09ea69024
chore(docker): address docker offline comments ( #17377 )
...
This patch:
- Removes all `process.exit(1)` from `docker.ts` and instead throws
errors.
- Drops the `npx playwright docker test` command. We agreed to
engage docker when `PLAYWRIGHT_DOCKER` environment variable
is set.
- Introduces hidden `npx playwright docker status` command that
dumps a JSON with docker status:
```sh
aslushnikov:~/prog/playwright$ npx playwright docker status
{
"dockerEngineRunning": true,
"imageName": "playwright:local-1.27.0-next-focal",
"imageIsPulled": true,
"containerWSEndpoing":
"ws://127.0.0.1:55077/eafeb84c-571b-4d12-ac51-f6a2b43e9155",
"containerVNCEndpoint":
"http://127.0.0.1:55076/?path=fb6d4add-9adf-4c3c-b335-893bdc235cd7&resize=scale&autoconnect=1 "
}
```
2022-09-15 15:48:12 -07:00
Pavel Feldman
30ff27843a
chore: rebuild components on new vite ( #17367 )
2022-09-15 15:24:01 -07:00
Pavel Feldman
016883602d
chore: roll test runner to tot ( #17351 )
2022-09-14 19:51:22 -07:00
Andrey Lushnikov
8466c436c9
fix(list reporter): properly count new lines for long stdout ( #17339 )
2022-09-14 15:25:24 -07:00
Andrey Lushnikov
a12112c24d
devops(docker): add docker integration smoke tests ( #17267 )
2022-09-14 15:05:18 -07:00
Max Schmitt
59c32bf2c6
Revert "chore(generator): use new .NET test attributes ( #17172 )" ( #17344 )
...
This reverts commit 15add13a6a .
2022-09-14 22:44:38 +02:00
Andrey Lushnikov
4f11a4d5e7
feat(docker): use the __screenshots__ dir for snapshots by default ( #17311 )
...
This patch opts into the `__screnshots__` folder snapshot management
for docker.
With this patch, docker-originating snapshots will be stored in the
following folder:
```
{testDir}/__screenshots__/{projectName}/{testFilePath}/{snapshotName}
```
Where `{testFilePath}` is a test file path relative to `testDir`
Drive-by: introduce and document the `PLAYWRIGHT_DOCKER` environment
variable that enables docker integration.
2022-09-13 15:49:04 -07:00
Dmitry Gozman
68072a5d5c
test: improve debugability of installation tests ( #17277 )
...
Put more details into the error message. This way it is immediately seen
on the bots.
2022-09-13 14:43:11 -07:00
Max Schmitt
00a3b1b0a2
fix: make evaluate work with overridden Window/Document/Node ( #17288 )
...
Fixes https://github.com/microsoft/playwright/issues/17287
2022-09-13 18:21:07 +02:00
Dmitry Gozman
48ac918cec
test: unflake "should load web server w/o esm loader in ems module" ( #17269 )
2022-09-12 11:42:04 -07:00
sand4rt
344077b04e
feat(ct): svelte mount type ( #17228 )
2022-09-12 09:30:04 -07:00
sand4rt
72a18754ef
core(ct): rename tests ( #17216 )
2022-09-12 09:27:53 -07:00
Andrey Lushnikov
af042beb13
feat: introduce docker integration ( #16382 )
...
This patch introduces the following commands:
- `npx playwright docker build` that builds a VRT docker image
locally that is based off the `mcr.microsoft.com/playwright:jammy`
- `npx playwright docker start` that launches a docker container with
browsers.
- `npx playwright docker stop` that stops given docker container.
- `npx playwright docker test` that runs all the tests inside a
launched docker container.
2022-09-09 15:25:42 -07:00
Yury Semikhatsky
24ee456d43
chore: make maxRedirects available in java, improve docs. tests ( #17227 )
2022-09-09 13:25:36 -07:00
Vincenzo Gasparo
17b203affb
feat: added follow and redirect arguments to fetch ( #17033 )
2022-09-09 12:14:42 -07:00
Dmitry Gozman
bca13bc35a
feat(assertions): support toBeVisible({ visible }) ( #17207 )
2022-09-09 08:33:23 -07:00
Dmitry Gozman
cbc8d1a19f
test: tracing works with waitForResponse ( #17176 )
2022-09-08 11:31:02 -07:00
Andrey Lushnikov
ea7ef328e7
fix: inject caret-hiding style in every shadow tree ( #16907 )
...
Style inheritance disregards selector specificity, so we can't
dominate local shadow dom styles.
To mitigate this, we inject the style tag with caret-hiding
style in every shadowDom tree.
Fixes #16732
2022-09-08 09:50:08 -07:00
sand4rt
098fbf0e2c
fix(ct): vue import errors ( #17066 )
2022-09-08 08:37:38 -07:00
Max Schmitt
1e517731ef
chore: have a socket timeout when downloading browsers ( #17187 )
2022-09-08 14:40:41 +02:00
Max Schmitt
22c092db10
test: fix Electron tests ( #17180 )
2022-09-08 09:11:47 +02:00
Pavel Feldman
80e9c5dc55
fix(reuse): restore storage state ( #17175 )
2022-09-07 19:15:04 -07:00
Max Schmitt
15add13a6a
chore(generator): use new .NET test attributes ( #17172 )
2022-09-08 01:44:58 +02:00
Pavel Feldman
c91df61ca3
chore: optionally connect instead of launching ( #17174 )
2022-09-07 15:57:20 -07:00
Max Schmitt
14ec71b905
chore: roll stable test-runner to 1.26.0-alpha-sep-7-2022 ( #17166 )
2022-09-07 20:11:09 +02:00
Max Schmitt
904801a5eb
test: add initial webview2 tests ( #16827 )
2022-09-07 20:09:22 +02:00
Dmitry Gozman
6e1c94b5fe
fix(click): allow clicking inside closed shadow root ( #16900 )
...
Although Playwright selectors do not pierce closed shadow roots,
one can still obtain a reference to an element inside a closed shadow root:
- through `page.evaluate()`;
- through `handle.$()` where `handle` is inside the shadow root;
- through `frame.locator()` by choosing an iframe that belongs
to a closed shadow root.
In this case, `click()` action fails during the hit check test,
but it's possible to make it work by going bottom up from the target
rather than top down from the document.
2022-09-06 17:55:15 -07:00
Yury Semikhatsky
fbf9ca5316
fix: avoid using builtins in injected script bundles ( #17145 )
2022-09-06 17:25:02 -07:00
Pavel Feldman
8d25f2ef59
fix(selectors): allow custom engines in out-of-process ( #17139 )
2022-09-06 14:15:53 -07:00
Dmitry Gozman
f0c5810609
feat(assertions): support toBeEditable({ editable }) ( #17065 )
2022-09-06 12:50:45 -07:00
Dmitry Gozman
306ab34aa3
feat(assertions): support toBeEnabled({ enabled }) ( #17058 )
2022-09-06 11:40:34 -07:00
Dmitry Gozman
b734f36f8b
fix(frameElement): should work for frames inside closed shadow root ( #17055 )
2022-09-06 08:52:25 -07:00
Pavel Feldman
f4b90e5cc8
chore: reparent network back to context ( #17023 )
2022-09-05 10:19:44 +02:00
Yury Semikhatsky
01d83f1d5e
fix(har): record request overrides to har ( #17027 )
2022-09-04 10:52:20 -07:00
Dmitry Gozman
54e7f44974
fix(firefox): disable cookie partitioning ( #17051 )
2022-09-02 15:46:03 -07:00
Dmitry Gozman
1b59abb5e1
chore: fix lint in page-goto.spec ( #17052 )
2022-09-02 15:45:01 -07:00
Yury Semikhatsky
10b22aca88
test: third party cookies via an iframe on wk mac ( #17050 )
2022-09-02 15:03:39 -07:00
Max Schmitt
8f1f4946bf
test: send cookies via an embedded iframe ( #17036 )
2022-09-02 11:00:55 -07:00
Dmitry Gozman
3548f3f898
feat(firefox): roll ff to 1350, beta to 1353 ( #17006 )
2022-09-02 08:35:29 -07:00
Yury Semikhatsky
da19219323
fix: throw clear message when requested screenshot is too large ( #17025 )
2022-09-01 18:15:49 -07:00
Dmitry Gozman
1dc05bd4c6
test: unflake "should support boolean attribute with options" ( #17024 )
...
Timeout 100ms is too small.
2022-09-01 17:04:54 -07:00
Yury Semikhatsky
27ffdcc944
fix: accept post data for GET and HEAD http methods ( #17008 )
2022-09-01 08:36:08 -07:00
Andrey Lushnikov
fafd9837ba
feat: introduce the --ignore-snapshots option ( #17004 )
...
This patch introduces `--ignore-snapshots` Playwright Test CLI option,
and `ignoreSnapshots` configuration argument.
2022-09-01 05:34:36 -07:00
Yury Semikhatsky
5d6253f743
fix: stop har recording when APIRequestContext is disposed ( #17007 )
2022-08-31 21:51:38 -07:00
Yury Semikhatsky
aaa28394cd
feat(trace): include url into route.fulfill call params ( #16934 )
2022-08-31 12:37:49 -07:00
nate-ro
409bab59ea
chore: added starting time of test to the base json reporter ( #16885 )
2022-08-30 20:03:21 -07:00
Yury Semikhatsky
f30ac1d678
fix: support toHaveAttribute(name, options) ( #16941 )
2022-08-30 17:53:00 -07:00
Yury Semikhatsky
990167124f
test: enable link preload interception test ( #16935 )
2022-08-30 17:30:01 -07:00
Yury Semikhatsky
077b8a9289
test: link preload interception ( #16908 )
2022-08-30 10:35:55 -07:00
Yury Semikhatsky
11dfd31dd9
feat: --pass-with-no-tests option ( #16902 )
2022-08-29 15:46:34 -07:00
sand4rt
84888737e2
fix(ct): react build errors ( #16882 )
2022-08-29 09:17:01 -07:00
sand4rt
f68f464f56
chore(ct): react removed unused packages ( #16878 )
2022-08-29 09:16:38 -07:00
sand4rt
3af548604e
feat(ct): svelte default slot ( #16869 )
2022-08-29 09:11:51 -07:00
Yury Semikhatsky
1dcd756996
test: proper escaping for exact text match ( #16866 )
2022-08-26 22:16:04 -07:00
Yury Semikhatsky
67d5c13d65
test: text selector with double quotes ( #16865 )
2022-08-26 17:39:33 -07:00
sand4rt
849da28dc4
test(ct): solid hooks ( #16864 )
2022-08-26 15:48:41 -07:00
sand4rt
996468d4b7
feat(ct): solid default child ( #16839 )
2022-08-26 15:48:05 -07:00
sand4rt
c3f39faefc
test(ct): vue2 cli ( #16693 )
2022-08-26 15:47:28 -07:00
Dmitry Gozman
fea8772d95
fix: emit load/domcontentloaded events as reported by the browser ( #16861 )
...
Instead of requiring all frames in the subtree to receive a particular
event, we rely on the browser's definition of load and DOMContentLoaded.
This changes logic in a few edge cases:
- Some browsers do not emit load event upon window.stop() at all.
- DOMContentLoaded does not wait for subframes, so they might not be
ready when passing `{ waitUntil: 'domcontentloaded' }`.
`networkidle` preserves the old logic.
2022-08-26 13:48:05 -07:00
Yury Semikhatsky
0e95d66878
test: screenshot hides caret in shadow dom ( #16849 )
2022-08-26 12:33:07 -07:00
sand4rt
0972f1469a
feat(ct): solid unmount ( #16838 )
2022-08-26 11:51:36 -07:00
Dmitry Gozman
aac9df0542
test: update "page.goBack should work for file urls" to match status quo ( #16810 )
...
Chromium works correctly, WebKit mac has a security error, Firefox fails to go back.
2022-08-26 08:56:31 -07:00
sand4rt
a0f19a4f2d
test(ct): solid callbacks ( #16837 )
2022-08-25 13:02:55 -07:00
Pavel Feldman
a07a4a25a2
chore: make parent scope explicit ( #16819 )
2022-08-25 11:58:41 -07:00
sand4rt
8d4a94bfd3
feat(ct): solid set props ( #16813 )
2022-08-25 08:40:14 -07:00
Andrey Lushnikov
622c73cc1e
feat: expect(locator).toHaveAttribute to assert attribute presence ( #16767 )
...
This patch changes `expect(locator).toHaveAttribute()` so that the
`value` argument can be omitted. When done so, the method will
assert attribute existance.
Fixes #16517
2022-08-25 05:28:34 -07:00
Max Schmitt
74ab343e2b
feat(codegen): add NUnit/MSTest ( #16803 )
2022-08-25 11:58:58 +02:00
Max Schmitt
553ecce4f9
test: add test for PDF download per navigation ( #16687 )
...
* test: add test for PDF download per click
* Update download.spec.ts
2022-08-24 17:45:15 +02:00
sand4rt
ad46e980bc
feat(ct): initial solid ( #16703 )
2022-08-23 14:08:53 -07:00
Ross Wollman
f91e41ef40
test: cannot override cookie header in continue ( #16774 )
...
Repro for #16773 .
2022-08-23 14:06:25 -07:00
sand4rt
e194b2ae6b
feat(ct): vue2 rerender ( #16734 )
2022-08-23 11:37:55 -07:00
sand4rt
31a47d4273
test(ct): vue cli ( #16694 )
2022-08-23 11:35:43 -07:00
sand4rt
6d1a7f3315
test(ct): svelte ( #16761 )
2022-08-23 11:34:20 -07:00
sand4rt
d5c9774293
test(ct): svelte vite ( #16766 )
2022-08-23 11:33:31 -07:00
Dmitry Gozman
42491ecc08
test: unflake "should work with newBrowserCDPSession" ( #16765 )
...
There could be no targets in a freshly created browser.
2022-08-23 10:25:28 -07:00
Pavel Feldman
4d892475da
chore: do not use experimental loader for web server ( #16733 )
2022-08-23 10:22:05 -07:00
Pavel Feldman
d7be1fcca8
fix(esm): allow importing ts from esm ( #16735 )
2022-08-23 10:20:56 -07:00
Yury Semikhatsky
ff46d8ce8a
test: postBody content-type is inherited from original request ( #16738 )
2022-08-23 08:28:35 -07:00
Max Schmitt
26df4cc00e
test: skip tests for Electron / Android ( #16731 )
2022-08-22 22:20:45 +02:00
Max Schmitt
e344fe60e7
fix(pwt): compatibility in CWD with wrong casing ( #16636 )
2022-08-22 21:45:59 +02:00
Pavel Feldman
2142fde460
test(isVisible): add a couple of basic tests ( #16697 )
2022-08-19 17:40:13 -07:00
Sergio Freire
abe7cf23a7
fix(junit reporter): remove source location from classname attribute ( #16499 )
2022-08-19 16:42:21 -07:00
Max Schmitt
be33ec817b
feat(webkit): add forced colors media query override ( #16654 )
2022-08-19 14:19:54 +02:00
Playwright Service
1154fffd8b
feat(webkit): roll to r1707 ( #16668 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2022-08-19 11:09:39 +02:00
Yury Semikhatsky
52eca0550d
test: page.reload() works with cross-origin redirect ( #16655 )
2022-08-18 17:35:02 -07:00
Max Schmitt
7e2aec7454
chore: align more ESLint rules with VSCode formatting ( #16647 )
2022-08-18 20:12:33 +02:00
Andrey Lushnikov
59562de0ec
fix(pipe): do not store accumulated message as string ( #16641 )
...
Accumulated message must be stored raw; otherwise, unicode encoding
will break while trying to decode them.
Fixes #16367
2022-08-18 07:53:56 -07:00
Playwright Service
3843a15d5f
feat(webkit): roll to r1704 ( #16628 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2022-08-18 10:55:11 +02:00
Playwright Service
94c9db299d
feat(webkit): roll to r1703 ( #16604 )
2022-08-17 17:13:00 -07:00
Yury Semikhatsky
94c99314c6
test: mouse drag ( #16623 )
2022-08-17 15:36:14 -07:00
sand4rt
007e197e3d
test(ct): react rerender ( #16597 )
2022-08-16 22:01:37 -07:00
Yury Semikhatsky
8ebf9d7699
test: disable page/page-set-content.spec.ts:126 in webkit ( #16596 )
...
The test started failing on WebKit after WebKit/WebKit@7de67f9 The cause is the same as in other browsers - missing utility context. Disabling the test in WebKit similar to the other browsers in order to prepare for the next webkit roll.
Related: #16536
2022-08-16 15:31:30 -07:00
sand4rt
e6994b5dc1
chore(ct): react tests ( #16584 )
2022-08-16 11:25:55 -07:00
Pavel Feldman
93b4fa3537
chore(ct): svelte-kit is being a moving target, remove tests for now ( #16589 )
2022-08-16 11:13:27 -07:00
sand4rt
3785298ddf
fix(ct): react favicon path ( #16572 )
2022-08-16 10:48:41 -07:00
sand4rt
d9850e0e86
feat(ct): react rerender ( #16560 )
2022-08-16 10:47:33 -07:00
sand4rt
b41da08c1e
chore(ct): react vite tests ( #16525 )
2022-08-15 13:17:56 -07:00
Pavel Feldman
e64b09cc28
Revert "feat(ct): react rerender ( #16549 )"
...
This reverts commit a62accf8ae .
I'll reapply them in order.
2022-08-15 13:17:15 -07:00
sand4rt
a62accf8ae
feat(ct): react rerender ( #16549 )
2022-08-15 13:10:38 -07:00
Max Schmitt
13596b7be3
chore: language specific dropdowns in codegen ( #16452 )
2022-08-15 19:44:46 +02:00
Pavel Feldman
bd06d1604f
chore: render original exception location in error frame ( #16515 )
2022-08-15 09:28:55 -07:00
Dmitry Gozman
0d3b3d08ab
test: add more tests for retarget behavior ( #16513 )
2022-08-12 16:29:13 -07:00
Dmitry Gozman
3ae50861a3
fix(reload): make sure reload() does not pick same-document navigaiton ( #16504 )
...
We lack `documentId` when doing a reload over browser protocols, so
`reload()` waits for the next navigation to finish. Sometimes, the page
might issue a same-document navigation while reload is in progress,
which confuses the reload command.
To fix the issue, just ignore same-document navigations for reload,
because it is always a new document.
2022-08-12 13:48:47 -07:00
Dmitry Gozman
0ff00e5978
test: put existing retarget tests to a separate file ( #16510 )
2022-08-12 12:40:40 -07:00
Pavel Feldman
e1d3246d1c
fix(ct): pass local config to preview ( #16481 )
2022-08-12 10:37:35 -07:00
Dmitry Gozman
3dc1920ce8
feat(expect): toHaveText/toContainText work with text in shadow dom ( #16433 )
2022-08-11 14:10:12 -07:00
Max Schmitt
e911eead9b
test: unflake 'should fill japanese text' ( #16431 )
2022-08-11 08:48:55 +02:00
Ross Wollman
a3836de182
chore: relax npm version constraint in installation tests ( #16427 )
...
Resolves #16281 .
2022-08-10 15:33:47 -07:00
Dmitry Gozman
7acbd052e4
test: migrate some expect() tests to be more readable ( #16394 )
...
This moves some expect() matchers tests from test runner tests to page tests,
because these are implemented through a library call anyway.
Makes tests more readbable, faster and easier to test specific details.
2022-08-10 15:10:25 -07:00
Johannes Loher
3e67a7c836
feat(plugins): send accept header in webServer url checking ( #16251 )
2022-08-10 12:48:37 -07:00
Andrey Lushnikov
4cbb95e06d
test: fix firefox-beta tests ( #16278 )
2022-08-10 11:00:59 +02:00
Max Schmitt
699a52ec74
fix(codegen): make sure input recording with japanese IME Work ( #16400 )
...
Co-authored-by: kawasaki.taiga <kigtaiga@gmail.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2022-08-10 09:46:30 +02:00
Ross Wollman
e20baacc9c
test: fix large string expectations ( #16388 )
2022-08-09 21:39:13 -07:00
Dmitry Gozman
baa2ef2700
fix(test runner): show interrupted as yellow ( #16396 )
...
Drive-by: fix unreadable character in "duplicate titles" error.
2022-08-09 21:17:30 -07:00
Dmitry Gozman
f58c376443
fix(test runner): do not resolve relative imports through baseUrl ( #16395 )
2022-08-09 21:16:27 -07:00
Yury Semikhatsky
11391910e7
Revert "fix(codegen): make sure input recording with japanese IME Wor… ( #16393 )
...
Revert "fix(codegen): make sure input recording with japanese IME Work (#16210 )"
This reverts commit 925de8da2b .
2022-08-09 16:47:32 -07:00
Denis Sokolov
92aacb9345
test: another test for baseUrl/relative imports ( #16338 )
...
#15891
2022-08-10 01:05:48 +02:00
YA2KM
925de8da2b
fix(codegen): make sure input recording with japanese IME Work ( #16210 )
...
Co-authored-by: kawasaki.taiga <kigtaiga@gmail.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2022-08-10 01:02:42 +02:00
Ross Wollman
a3d99f1b4a
chore: trace viewer fallback error ( #16365 )
...
Fixes #16349 .
2022-08-09 15:53:11 -07:00
Max Schmitt
ff5f241b84
chore: set --allow-pre-commit-input flag on Android/Electron ( #16383 )
2022-08-09 23:18:15 +02:00
Max Schmitt
e725b5f8a9
fix(esm): fix TS type check with NodeNext mode ( #16340 )
2022-08-09 20:06:06 +02:00
Ross Wollman
5dea817355
test: corrupted large string repro ( #16369 )
...
Repro for #16367 .
2022-08-09 10:44:52 -07:00
Dmitry Gozman
0fa20d5d1e
fix(click): make it work for display:contents elements ( #16356 )
...
After protocol fixes in all browsers, we can now scroll and click display:contents elements.
The only problem is that `elementsFromPoint()` misbehaves in Chromium and Firefox, so we
need a workaround. Hopefully, it will be fixed upstream - shadow dom spec folks think
"it becomes a real compatibility concern".
This needs Chromium 105 roll.
2022-08-08 16:05:09 -07:00
Ross Wollman
36b92d8847
fix: toBeFocused should match shadow elements ( #16362 )
...
Fixes #16268 .
2022-08-08 15:34:58 -07:00
Max Schmitt
1ca6635bb8
fix(cli): store trace/storage/har on SIGINT ( #16339 )
2022-08-09 00:13:38 +02:00
Dmitry Gozman
f6d94f0ac9
chore: update "X fatal errors" message ( #16325 )
...
Also, exlude certain errors from triggering this message:
- `no tests found`
- `duplicate test titles are not allowed`
- `--forbid-only found a focused test`
- `Timed out waiting 3600s for the entire test run`
2022-08-05 21:21:43 -07:00
Pavel Feldman
8ed238843b
chore: allow inspecting element from server ( #16324 )
2022-08-05 19:34:57 -07:00
Dmitry Gozman
7a86e140f5
chore: remove TestProject.projectSetup ( #16321 )
...
There are better ideas to address this issue in more general manner.
2022-08-05 15:24:30 -07:00
Dmitry Gozman
cb30cb4eb7
feat(test runner): add --trace cli option ( #16277 )
2022-08-05 09:20:39 -07:00
Dmitry Gozman
919b1cbb22
fix(test runner): do not swallow afterEach errors after skipped tests ( #16276 )
...
Drive-by: add more test runner logging.
2022-08-04 18:49:23 -07:00
Pavel Feldman
97fa2518e9
fix(reuse): clear storage after stopping all scripts ( #16275 )
2022-08-04 16:39:18 -07:00
Pavel Feldman
3aa5710b49
feat(reuse): retain different browser types when reusing ( #16269 )
2022-08-04 15:04:00 -07:00
Pavel Feldman
b3d30a808f
fix(reuse): reset sw, db, storages ( #16265 )
2022-08-04 15:01:34 -07:00
sand4rt
bd5eddd62e
fix(ct): multi root vue components ( #16211 )
2022-08-04 10:43:43 -07:00