Andrey Lushnikov
9287ef2dfb
test: skip test when run with PWTEST_TRACING ( #11999 )
...
This test tries to enable tracing itself; double-enabling
tracing throws an error.
This started failing after 284f76357f
2022-02-10 09:45:18 -08:00
Pavel Feldman
fbc05b74a7
chore: revert "fix(test-runner): escape backslashes in win cli ( #11763 )" ( #12004 )
2022-02-10 07:02:37 -08:00
Mateusz Burzyński
b0cd5b1420
feat(mouse): set .buttons
correctly for basic mouse commands in Chrome ( #10698 )
...
Co-authored-by: Andrey Lushnikov <aslushnikov@gmail.com>
2022-02-09 20:48:16 -08:00
Dmitry Gozman
284f76357f
test: unflake browsertype-connect.spec ( #11994 )
...
Consider the scenario:
- First test starts a remote server, connects to it and does not close.
- Remote server fixture stops the server in teardown. Meanwhile,
the connected browser did not get notified about disconnect just yet.
- Second test starts and sets up tracing in the old connected browser.
- Tracing fails because the browser now realises it has disconnected.
2022-02-09 17:00:33 -08:00
Andrey Lushnikov
6904b3294e
fix(test-runner): fix browser initialization in test modifiers ( #11984 )
...
Fixes #11985
2022-02-09 15:30:14 -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
Andrey Lushnikov
6f87955243
feat: introduce disableAnimations
option for screenshots ( #11870 )
...
This option stops all kinds of CSS animations while doing screenshot:
- CSS animations
- CSS transitions
- Web Animations
Animations get different treatment depending on animation duration:
- finite animations are fast-forwarded to its end, issuing the
`transitionend` event.
- Infinite animations are resetted to its beginning, and then
resumed after the screenshot.
References #9938 , fixes #11912
2022-02-09 12:52:11 -08:00
Darío Kondratiuk
48cc41f3e7
feat: add key support on react engine ( #11970 )
...
I've got [this question](https://stackoverflow.com/questions/71050193/react-locator-example/71052432#71052432 ) on StackOverflow. And although, in that case, the `key` was part of the `props` attributes. That might not always be true.
I am bringing this to the tell to see what you think about this.
I'm also fixing a typo :)
2022-02-09 11:33:15 -08:00
Andrey Lushnikov
439c8e9c40
test: fix tests for chromium-based browser channels ( #11974 )
2022-02-09 11:29:16 -08:00
Andrey Lushnikov
40b4218962
chore: roll stable test runner to Feb 9, 2022 ( #11971 )
2022-02-09 09:34:25 -08:00
Yury Semikhatsky
706c897031
feat(fixtures): respect tracing config for APIRequestContext ( #11954 )
2022-02-09 08:54:09 -08:00
Pavel Feldman
e9e5de2d57
feat(debug): allow preprocessing JS scripts as well ( #11953 )
2022-02-09 07:14:11 -08:00
Dmitry Gozman
19368e93af
feat(test runner): support connectOptions ( #11919 )
...
This allows to specify `connectOptions` in the config that
switch built-in `browser` to be remotely connected.
2022-02-08 20:45:42 -08:00
Dmitry Gozman
5881a46ecf
fix(test runner): skip beforeAll/afterAll when all tests are skipped ( #11952 )
...
There is a corner case where tests were skipped like this:
```js
test.skip('title', () => {});
```
2022-02-08 16:36:30 -08:00
Dmitry Gozman
e92caf01b3
fix(webServer): do not set baseURL equal to webServer.url ( #11951 )
2022-02-08 15:57:36 -08:00
Pavel Feldman
8dff2e35c8
chore: don't throw on no testDir ( #11950 )
2022-02-08 15:27:05 -08:00
Pavel Feldman
b2e15b8c60
chore: mute more test runner extension vars ( #11881 )
2022-02-08 09:22:45 -08:00
Dmitry Gozman
8a5c93436d
fix(reporter): do not report parallel tests as slow ( #11921 )
2022-02-07 20:10:13 -08:00
Yury Semikhatsky
1e00218ead
feat(tracing): suport loading multiple files in trace viewer ( #11880 )
2022-02-07 17:05:42 -08:00
Dmitry Gozman
4ef22d3387
test: enable "should record open in a new tab with url" on webkit ( #11917 )
2022-02-07 16:09:11 -08:00
Pavel Feldman
9116adc684
chore: allow opt-into the legacy global setup mode ( #11888 )
2022-02-07 10:41:56 -08:00
Dmitry Gozman
f82e09be04
feat(codegen): generate locators and frame locators ( #11873 )
2022-02-04 19:27:45 -08:00
Dmitry Gozman
1503264aca
test: decrease threshold for flaky "should play audio" ( #11878 )
2022-02-04 16:14:48 -08:00
Dmitry Gozman
af4944388f
test: skip "should support has:locator" on tracing bots ( #11876 )
2022-02-04 15:34:33 -08:00
Dmitry Gozman
c45dacc834
feat(codegen): make selector generator strict ( #11856 )
...
This is required to migrate to locators.
2022-02-04 07:34:23 -08:00
Andrey Lushnikov
547a32885b
feat: hide blinking cursor when making screenshots ( #11854 )
...
References #9938
2022-02-03 21:44:23 -08:00
Dmitry Gozman
c9e99d5d97
test: reenable "should intercept network activity from worker 2" ( #11851 )
2022-02-03 17:16:40 -08:00
Dmitry Gozman
d9a8bb057d
fix(test-fail): allow unhandled expects in test.fail ( #11850 )
...
Previously, we would consider this a worker error, but
we make an exception for "expect()" calls.
2022-02-03 17:14:12 -08:00
Yury Semikhatsky
d237ad76c1
test: mark cltr+click test as timing out on windows ( #11840 )
2022-02-03 09:09:38 -08:00
Pavel Feldman
fdda759a9d
feat(parallel): allow setting enclosing scope parallel mode ( #11822 )
2022-02-02 20:44:11 -08:00
Andrey Lushnikov
ba0c7e679b
feat(test-runner): support expect.soft ( #11800 )
...
Soft expects will still fail the test, but will not abort it's execution. As a consequence of this:
- `TestResult` now might have multiple errors, which is reflected with a new `testResult.erros: TestError[]` field.
- `TestInfo` now might have multiple errors as well, which is reflected with a new `testInfo.errors: TestError[]` field.
Fixes #7819
2022-02-02 18:33:51 -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
github-actions[bot]
fba523a9d0
feat(chromium): roll to r965416 ( #11802 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2022-02-02 11:39:10 +01:00
Max Schmitt
c752b28516
chore: pin production dependencies ( #11793 )
2022-02-02 11:14:41 +01:00
Andrey Lushnikov
b0daa7754f
feat: filter stack traces to exclude test runner frames ( #11795 )
...
Before:
```bash
Running 1 test using 1 worker
1) [chromium] › tests/example.spec.ts:3:1 › should work ==========================================
Error: expect(received).toBe(expected) // Object.is equality
Expected: 2
Received: 1
2 |
3 | test('should work', async({page}) => {
> 4 | expect(1).toBe(2);
| ^
5 | });
6 |
at Proxy.<anonymous> (/Users/andreylushnikov/prog/playwright/packages/playwright-test/src/expect.ts:151:30)
at /Users/andreylushnikov/tmp/tests/example.spec.ts:4:13
at /Users/andreylushnikov/prog/playwright/packages/playwright-test/src/workerRunner.ts:335:13
at runNextTicks (node:internal/process/task_queues:61:5)
at processImmediate (node:internal/timers:437:9)
at TestInfoImpl._runFn (/Users/andreylushnikov/prog/playwright/packages/playwright-test/src/testInfo.ts:164:7)
at WorkerRunner._runTestWithBeforeHooks (/Users/andreylushnikov/prog/playwright/packages/playwright-test/src/workerRunner.ts:317:24)
at TimeoutRunner.run (/Users/andreylushnikov/prog/playwright/packages/playwright-core/src/utils/async.ts:48:14)
at TestInfoImpl._runWithTimeout (/Users/andreylushnikov/prog/playwright/packages/playwright-test/src/testInfo.ts:151:7)
at WorkerRunner._runTestOrAllHook (/Users/andreylushnikov/prog/playwright/packages/playwright-test/src/workerRunner.ts:276:5)
at WorkerRunner._runSuite (/Users/andreylushnikov/prog/playwright/packages/playwright-test/src/workerRunner.ts:190:11)
at WorkerRunner.run (/Users/andreylushnikov/prog/playwright/packages/playwright-test/src/workerRunner.ts:137:9)
at process.<anonymous> (/Users/andreylushnikov/prog/playwright/packages/playwright-test/src/worker.ts:87:5)
```
after:
```
Running 1 test using 1 worker
1) [chromium] › tests/example.spec.ts:3:1 › should work ==========================================
Error: expect(received).toBe(expected) // Object.is equality
Expected: 2
Received: 1
2 |
3 | test('should work', async({page}) => {
> 4 | expect(1).toBe(2);
| ^
5 | });
6 |
at /Users/andreylushnikov/tmp/tests/example.spec.ts:4:13
```
2022-02-01 18:40:44 -08:00
Dmitry Gozman
a30bc171c5
chore: make playwright-test tests debuggable with extension ( #11798 )
2022-02-01 17:15:55 -08:00
Pavel Feldman
011d743f90
chore: roll test runner to ToT ( #11796 )
2022-02-01 15:34:09 -08:00
Pavel Feldman
f875ebe730
fix(test-runner): respect source maps when reporting test files ( #11770 )
2022-02-01 13:04:54 -08:00
Caio Agiani
b6b60decdf
fix: typos ( #11789 )
2022-02-01 11:09:41 -08:00
Pavel Feldman
3a5e8184b5
fix(html-reporter): open tests from required file ( #11784 )
2022-02-01 11:01:52 -08:00
Max Schmitt
e0c4e66272
chore: bump dev dependencies ( #11779 )
2022-02-01 17:12:11 +01:00
Pavel Feldman
c5d852f1bb
fix(test-runner): escape backslashes in win cli ( #11763 )
2022-01-31 17:48:05 -08:00
Andrey Lushnikov
2336692e8a
feat: support clarification message for expect ( #11735 )
...
The clarification message is displayed in the HTML report as the name of the step:
![image](https://user-images.githubusercontent.com/746130/151852652-48194140-5ea4-439d-afee-12583a8caf71.png )
It is also shown in terminal output:
![image](https://user-images.githubusercontent.com/746130/151852666-5c956ef1-6e94-4bc2-8e55-b58688dfc7e0.png )
Fixes #7816
2022-01-31 17:14:59 -08:00
Pavel Feldman
2b55adaafa
feat(breaking): always report onBegin/onEnd, report file errors ( #11758 )
2022-01-31 17:09:04 -08:00
Dmitry Gozman
0b04c7d504
fix(drag&drop): relax layout shift logic when dropping ( #11760 )
...
When element that is being dragged stays under the mouse,
it prevents the hit target check on drop from working,
because drop target is overlayed by the dragged element.
To workaround this, we perform a one-time hit target check
before moving for the drop, as we used to.
2022-01-31 16:21:35 -08:00
Andrey Lushnikov
b58b004f0f
fix: run reporter.onEnd after webserver teardown ( #11712 )
...
Fixes #11647
2022-01-31 06:19:33 -08:00
Yury Semikhatsky
401cd9c0ee
fix(fetch): do not throw on empty response body with br encoding ( #11708 )
2022-01-28 12:58:58 -08:00
Yury Semikhatsky
312ab57f02
test: ctrl+click during provisional load ( #11710 )
2022-01-28 11:47:14 -08:00
Dmitry Gozman
30f3cbd6da
fix(fixtures): make sure defaultLaunchOptions are always there ( #11713 )
2022-01-28 10:51:55 -08:00
Yury Semikhatsky
84248f6e48
fix(webkit): handle will/didCheckPolicyForNavigation ( #11631 )
2022-01-27 14:58:43 -08:00
Yury Semikhatsky
d305a2ab3f
fix: throw in route.continue if it is called twice ( #11701 )
2022-01-27 14:58:02 -08:00
Pavel Feldman
29a84b2df8
chore: allow pre-processing scripts ( #11702 )
2022-01-27 14:32:23 -08:00
Yury Semikhatsky
81a7b2488f
test: enable showDirectoryPicker test ( #11669 )
2022-01-27 11:40:06 -08:00
Dmitry Gozman
b1fbc4fdbe
fix(test runner): resolve tsconfig for each file ( #11662 )
...
This allows us to properly handle path mappings
that are not too ambiguous.
2022-01-26 18:28:42 -08:00
divdavem
512a245f13
feat(test-runner): wait for a url before starting tests ( #10138 )
...
The webServer configuration in @playwright/test now accepts a url as an
alternative to a port number to wait for a url to return a 2xx status code.
2022-01-26 16:32:58 -08:00
Yury Semikhatsky
ba86dab83a
test: enable filechooser test in chromium ( #11653 )
2022-01-26 12:39:59 -08:00
hackerman
872a4be752
fix(server): handle =
in cookie values correctly ( #11613 )
2022-01-26 11:27:43 -08:00
Dmitry Gozman
687a16b848
feat(locator): introduce locator.page() getter ( #11630 )
2022-01-26 07:58:58 -08:00
Dmitry Gozman
19820de7a9
fix(test runner): correctly save videos when running remotely ( #11633 )
2022-01-26 07:43:07 -08:00
Andrey Lushnikov
6a7a2971f2
fix(chromium): close all javascript dialogs when closing context ( #11614 )
...
Fixes #11581
2022-01-25 13:52:18 -08:00
Yury Semikhatsky
fc188ea16d
test: request tracing start/stop ( #11603 )
2022-01-25 12:04:03 -08:00
Dmitry Gozman
a8a81eba11
test: default to one worker on CI for tests/playwright-test ( #11618 )
2022-01-25 10:11:44 -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
Pavel Feldman
9542b007cf
fix(esm): don't emit module shorthand warning ( #11596 )
2022-01-24 11:22:56 -08:00
github-actions[bot]
5382a794fe
feat(chromium): roll to r960211 ( #11487 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Andrey Lushnikov <aslushnikov@gmail.com>
2022-01-24 08:40:45 -08: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
Yury Semikhatsky
8a7e4f9814
test: update wk win expectations for "should report raw headers" ( #11558 )
2022-01-21 21:49:28 -08:00
Yury Semikhatsky
295d0a65c3
fix(har): do not hang on cached resources ( #11556 )
2022-01-21 16:31:00 -08:00
Pavel Feldman
6b3e596fd8
fix(baseurl): support path-less baseurl ( #11527 )
2022-01-20 18:11:56 -08:00
Max Schmitt
fb139cefac
fix: playwright.locator.hasText RegExp flag serialisation in Console API ( #11516 )
2022-01-21 01:05:37 +01:00
Max Schmitt
5876799228
test: response event for cached img elements ( #11506 )
2022-01-20 14:38:19 +01:00
Pavel Feldman
a65f7066d5
fix(webkit): improve orientation detection ( #11481 )
2022-01-19 10:07:38 -08:00
campersau
4a9fc4d30b
test: fix visibility spelling in test ( #11476 )
2022-01-19 14:46:27 +01:00
Dmitry Gozman
6928c84ac2
chore: move some files out of server/common ( #11466 )
...
This is a directory for sharing code between Node and Web.
2022-01-18 19:13:51 -08:00
Pavel Feldman
db0cda9df5
chore: rename default config to match extension pattern ( #11446 )
2022-01-18 13:31:12 -08:00
Pavel Feldman
daa2f00bfb
chore: roll stable-test-runner to ToT ( #11445 )
2022-01-17 19:45:59 -08:00
Ross Wollman
33f32368e5
fix(test runner): dispatcher transformation of empty attachments ( #11414 )
2022-01-17 18:47:24 -08:00
Pavel Feldman
8ecf581b45
chore: focus by line should override only ( #11427 )
2022-01-16 08:47:09 -08:00
Yury Semikhatsky
cfb86a74fa
fix(webkit): filechooer interception after process swap ( #11415 )
2022-01-14 17:33:07 -08:00
Max Schmitt
fb22c859d6
chore: add browser like UA to browser fetcher ( #11006 )
...
Drive-by: unify all Playwright user agents across the board.
Co-authored-by: Andrey Lushnikov <lushnikov@chromium.org>
2022-01-14 02:46:17 -08:00
Dmitry Gozman
93a20ee419
test: add a failing test for filechooser after navigation ( #11381 )
2022-01-13 11:24:21 -08:00
Dmitry Gozman
9d5bf0e90d
fix(test runner): fixture teardown double error, testInfo.attach() ( #11365 )
...
- Use file path, not content to calculate the attachment hash.
- Always cleanup fixture from the list on teardown, to avoid reporting
teardown error multiple times: from the test, and from the cleanup.
2022-01-13 10:38:47 -08:00
Andrey Lushnikov
bd837b5863
test: enable autowaiting test on webkit ( #11343 )
...
Fixes #11219
2022-01-12 01:52:58 -08:00
Dmitry Gozman
359d523ec3
fix(selectors): allow :scope with additional css ( #11338 )
2022-01-11 18:40:29 -08:00
Dmitry Gozman
4efb30999f
feat(request): show request context methods as steps ( #11337 )
2022-01-11 17:33:41 -08:00
Dmitry Gozman
d36ff8a96c
fix(test runner): remove test output for failures ( #11308 )
2022-01-10 13:22:09 -08:00
Dmitry Gozman
14fd837e94
fix(test runner): hide beforeAll/afterAll hooks from the reporter api ( #11306 )
...
This api is not ready yet.
2022-01-10 12:09:51 -08:00
Andrey Lushnikov
7b1fecc009
fix: default to en-US locale in all browsers in Playwright Test ( #11133 )
...
It makes sense to default to en-US by default across all our browsers in Playwright Test.
Fixes #11127
2022-01-10 08:37:55 -08:00
github-actions[bot]
d31f13468a
feat(webkit): roll to r1592 ( #11261 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Andrey Lushnikov <aslushnikov@gmail.com>
2022-01-10 05:02:07 -08:00
Andrey Lushnikov
5a325a5a1d
test(gardening): disable mp4 capabilities test on firefox ( #11289 )
...
Firefox is unhappy with our mp4 file and crashes / moves to faulty
state.
Upstream bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1697004
2022-01-10 03:56:50 -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
Pavel Feldman
ee0ea82d46
test: improve click-during-navigation ( #11252 )
2022-01-07 12:12:24 -08:00
Yury Semikhatsky
37a97c4201
feat(tracing): capture network failures ( #11237 )
2022-01-07 11:22:01 -08:00
Dmitry Gozman
058f98d3dd
fix(test runner): revert error location from top frame ( #11250 )
...
This does not play nicely with some internal Playwright errors, so
it needs more tweaks.
2022-01-07 11:06:47 -08:00
Pavel Feldman
f0269e7144
test: gardening ( #11235 )
2022-01-07 09:11:54 -08:00
Pavel Feldman
eaf2507ec1
test(webkit): add a failing test for #11219 ( #11233 )
2022-01-06 17:13:55 -08:00
Pavel Feldman
e1772f15b5
fix(click): don't fail on stale context while clicking ( #11228 )
2022-01-06 15:15:11 -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
Pavel Feldman
5fa7d19f1c
feat(html): render inline attachments as monospace ( #11214 )
2022-01-06 09:29:55 -08:00
Pavel Feldman
373042ed89
chore: don't allow importing @playwright/test twice ( #11218 )
2022-01-06 09:29:05 -08:00
Yury Semikhatsky
2496355665
test: no crash in showDirectoryPicker ( #11213 )
2022-01-06 09:08:13 -08:00
Yury Semikhatsky
8b580110b7
test: mark video & audio test as passing on mac12 ( #11216 )
2022-01-06 09:08:00 -08:00
Yury Semikhatsky
2cc4dfc96f
test: set-cookie response header after route.fulfill ( #11044 )
2022-01-05 17:35:26 -08:00
Yury Semikhatsky
a96cb5aff5
test: mark test as failing until next wk roll ( #11215 )
2022-01-05 17:06:31 -08:00
Dmitry Gozman
be896848bb
fix(selectors): properly determine visibility of display:contents ( #11212 )
2022-01-05 16:54:15 -08:00
Dmitry Gozman
3ecac56cc0
fix(test runner): testInfo.attach api review changes ( #11211 )
...
Remove overload, require name, merge options.
2022-01-05 16:39:33 -08:00
Diego Pino
1857a16381
browser(webkit): roll to 23/12/21 ( #11105 )
2022-01-05 15:56:22 -08:00
Dmitry Gozman
f77c874e8a
feat(test runner): make _extendTest experimental ( #11210 )
...
Hidden from types and docs.
2022-01-05 15:54:00 -08:00
Pavel Feldman
913c9ab59f
test: add a failing test for #11202 ( #11206 )
2022-01-05 15:53:53 -08:00
Ross Wollman
3a4b7fa792
fix(html reporter): skip img bits with non-images ( #11188 )
2022-01-05 09:04:08 -08:00
Pavel Feldman
328f3e265e
test: add a failing canvas screenshot test ( #11180 )
2022-01-04 17:41:04 -08:00
Dmitry Gozman
1dbbcd1b37
fix(codegen): polyfill CSS.escape ( #11181 )
...
Some site (for example, fb.com) delete CSS.escape, so we should use the polyfill.
2022-01-04 17:24:53 -08:00
Dmitry Gozman
16a779a5ff
fix(test runner): show codeframe and location from the error top stack frame ( #11179 )
...
Previously, reporter would look for a stack frame directly in the test file.
Often times, that is not a top stack frame, especially when the test uses
some helper functions.
This changes error snippets and locations to use the top frame. When top
frame does not match the test file, we additionally show the location
to avoid confusion:
```
1) a.spec.ts:7:7 › foobar ========================================================================
Error: oh my
at helper.ts:5
3 |
4 | export function ohMy() {
> 5 | throw new Error('oh my');
| ^
6 | }
7 |
at ohMy (.../reporter-base-should-print-codeframe-from-a-helper/helper.ts:5:15)
at .../reporter-base-should-print-codeframe-from-a-helper/a.spec.ts:8:9
at FixtureRunner.resolveParametersAndRunHookOrTest (.../src/fixtures.ts:281:12)
```
2022-01-04 16:00:55 -08:00
Dmitry Gozman
9fcb8ace4e
test: reenable Chromium Windows cookies test ( #11176 )
2022-01-04 12:14:35 -08:00
Pavel Feldman
7bfa6f9b5f
feat(html): group similar items in the report ( #11160 )
2022-01-03 21:17:17 -08:00
Dmitry Gozman
976dedda45
feat(input): restore modified layout shift check ( #11032 )
...
This changes previous layout shift attempt (see #9546 )
to account for more valid usecases:
- On the first event that is intercepted we enforce the hit target. This
is similar to the current mode that checks hit target before the action,
but is better timed.
- On subsequent events we assume that everything is fine. This covers more
scenarios like react rerender, glass pane on mousedown, detach on mouseup.
This check is enabled by default, with `process.env.PLAYWRIGHT_NO_LAYOUT_SHIFT_CHECK`
to opt out.
2022-01-03 17:46:04 -08:00
Pavel Feldman
a0aeaeb929
test: expose repeatEachIndex ( #11158 )
2022-01-03 17:29:54 -08:00
Andrey Lushnikov
e8263b8f48
test: skip fill tests for android ( #11155 )
...
This will drastically speedup our Android bots and free compute faster.
2022-01-03 15:02:31 -08:00
Pavel Feldman
38801a3b85
test: add a test for leading and trailing spaces ( #11156 )
2022-01-03 12:51:58 -08:00
Andrey Lushnikov
b6c2b32b53
test: introduce #smoke tests ( #11135 )
...
This patch introduces 109 "#smoke" tests - a subset of tests that makes
sure that basic Playwright functionality works. This set is loosely
defined; feel free to add/remove tests to the set. The only goal is to
keep this set minimal & fast to run.
I tried to pick tests so that various parts of Playwright functionality
are exercised.
2021-12-29 18:51:28 -08:00
Ross Wollman
dadb5cbc30
fix(html reporter): fix too much strikethrough in diffs ( #11115 )
...
Textual snapshot diffs were previously broken in the HTML Report. The strikethrough'd text extended beyond the intended region.
HTML Report Before:
<img width="693" alt="Screen Shot 2021-12-27 at 4 43 35 PM" src="https://user-images.githubusercontent.com/11915034/147518750-a60f9002-6eed-48a1-a412-20fabd076fa6.png ">
HTML Report After:
<img width="206" alt="Screen Shot 2021-12-27 at 4 48 37 PM" src="https://user-images.githubusercontent.com/11915034/147518762-19a4c8f9-ccc3-4a3c-a962-5a42edc6fc5d.png ">
This now matches what's expected and shown in the terminal (which has always been correct):
<img width="1384" alt="Screen Shot 2021-12-27 at 4 36 29 PM" src="https://user-images.githubusercontent.com/11915034/147518799-f538259e-5a45-4d6f-916c-a12ccb620c5b.png ">
NB: This MR is a workaround, but not a root cause fix. It works, but I never fully got to the root cause so a bug upstream may be required. It's unclear whether it's (1) in [`colors`](https://www.npmjs.com/package/colors ), (2) in [`ansi-to-html`](https://www.npmjs.com/package/ansi-to-html ), or (3) Playwright's use of the two. Since the terminal output is correct, I suspect it is in `ansi-to-html`. For example:
```js
const colors = require("colors");
const Convert = require('ansi-to-html');
const convert = new Convert();
// original (strike incorrectly wraps everything in the HTML)
console.log(convert.toHtml(colors.strikethrough("crossed out") + ' ' + colors.red("red")))
// prints: <strike>crossed out <span style="color:#A00">red<span style="color:#FFF"></span></span></strike>
// workaround
console.log(convert.toHtml(colors.reset(colors.strikethrough("crossed out")) + ' ' + colors.red("red")))
// prints: <strike>crossed out</strike> <span style="color:#A00">red<span style="color:#FFF"></span></span>
```
Fixes #11116
2021-12-28 09:56:34 -08:00
Dmitry Gozman
0514ecc1af
test: mark trace-viewer tests as slow, unflake resource order ( #11070 )
2021-12-22 11:17:43 -08:00
Dmitry Gozman
af153b9826
test: unflake some websocket tests ( #11069 )
2021-12-22 11:17:34 -08:00
Andrey Lushnikov
1ee2d01f1c
test: unflake page-click.spec.ts test ( #11050 )
2021-12-21 17:31:13 -08:00
Dmitry Gozman
f5304e3bda
fix(fixtures): await fixture teardown when shutting down the worker ( #11033 )
2021-12-20 16:19:21 -08:00
Yury Semikhatsky
ea1948fabb
test: can open page with mp4 video ( #11030 )
2021-12-20 12:44:06 -08:00
Dmitry Gozman
e48231655f
chore: roll stable-test-runner to dec-18-2021 ( #11008 )
2021-12-18 10:12:35 -08:00
Dmitry Gozman
2d00836f0e
fix(test runner): show the location of afterAll timeout ( #11007 )
2021-12-18 09:32:41 -08:00
Dmitry Gozman
c9ba49936f
feat(reporters): show retry #x when running a test ( #11003 )
2021-12-17 21:07:04 -08:00
Pavel Feldman
8f98074fc8
chore: add blink-diff third party library ( #10984 )
2021-12-17 15:53:37 -08:00
Dmitry Gozman
b6aad54b9f
fix(test runner): test.setTimeout whould not break debugging ( #11004 )
...
We ignore test.setTimeout() when timeout is already zero for debugging.
2021-12-17 15:17:48 -08:00
Dmitry Gozman
f5780be41b
fix(list reporter): make sure that duration suffix survives truncation ( #11002 )
2021-12-17 13:08:02 -08:00
musou1500
7d39d345c2
fix(tracing): trace frame ( #10846 )
2021-12-17 10:43:19 -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
707befd6f7
fix(fetch): basic authentication without realm ( #10979 )
2021-12-16 13:40:52 -08:00
Yury Semikhatsky
921aa02ce4
feat(webkit): roll to r1588 ( #10976 )
2021-12-16 12:43:57 -08:00
Yury Semikhatsky
fee98947d6
test(tracing): skip test in ff and wk ( #10955 )
2021-12-15 17:40:34 -08:00
Andrey Lushnikov
2957b7b013
feat(firefox-beta): roll to r1310 ( #10954 )
2021-12-15 17:33:09 -08:00
Dmitry Gozman
192071d5bc
feat(test runner): save traces for beforeAll/afterAll hooks ( #10950 )
2021-12-15 16:06:10 -08:00
Yury Semikhatsky
230e0b7049
fix(wheel): throw on wheel access in mobile WebKit ( #10946 )
2021-12-15 11:57:28 -08:00
github-actions[bot]
0b86fbde90
feat(chromium): roll to r950899 ( #10930 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2021-12-15 11:23:01 -08:00
Yury Semikhatsky
ce225e50f4
test: lower screenshot count expectation ( #10945 )
2021-12-15 10:40:18 -08:00
Dmitry Gozman
0d54afab9c
feat(test runner): show beforeAll/afterAll hooks similar to tests ( #10923 )
...
Reporters now get notified about hooks start/end/steps.
2021-12-15 10:39:49 -08:00
Pavel Feldman
04e82ce71c
feat(api): make withText an option ( #10922 )
2021-12-14 15:37:31 -08:00
Dmitry Gozman
34b84841b0
chore(test runner): create TestResult instances lazily in dispatcher ( #10921 )
...
This prepares for beforeAll/afterAll hooks to be handled in the same way.
Since we do not know in advance whether a hook will run, we must create
TestResults lazily.
2021-12-14 14:10:56 -08:00
Dmitry Gozman
5c4ebdce54
fix(line reporter): clarify about retries when going over total counter ( #10901 )
2021-12-13 19:06:13 -08:00
Max Schmitt
40bd156173
test: add test for playing audio ( #10890 )
2021-12-13 15:02:06 -08:00
Yury Semikhatsky
a436cc8aa0
test: wait for screenshots to get into trace before stopping ( #10891 )
2021-12-13 14:37:44 -08:00
Dmitry Gozman
9491f6652d
fix(steps): do not show unnecessary steps for internal waitForEventInfo ( #10889 )
2021-12-13 13:32:53 -08:00