Dmitry Gozman 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							47cc7c4ae8 
							
						 
					 
					
						
						
							
							chore: refactor internal cli commands to use commander ( #12146 )  
						
						
						
						
					 
					
						2022-02-16 09:54:12 -08:00 
						 
				 
			
				
					
						
							
							
								Yury Semikhatsky 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							08fd8d0762 
							
						 
					 
					
						
						
							
							fix(tracing): do not capture iframes in head ( #12126 )  
						
						
						
						
					 
					
						2022-02-16 09:09:15 -08:00 
						 
				 
			
				
					
						
							
							
								Pavel Feldman 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							d4deefbad3 
							
						 
					 
					
						
						
							
							feat(firefox): roll to r1317 ( #12120 )  
						
						
						
						
					 
					
						2022-02-15 21:55:52 -08:00 
						 
				 
			
				
					
						
							
							
								pierscowburn 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							5db7ce5964 
							
						 
					 
					
						
						
							
							fix: propagate exit code in experimental mode ( #12070 )  
						
						... 
						
						
						
						In experimental ESM mode a child process is forked in order to run the tests. Currently the exit code of this child process is not propagated to the exit code of the parent process, which means that the process exits with a status code of `0` even if some of the tests failed.
This makes it difficult to use Playwright in CI in experimental mode, as the CI pipeline as a whole will pass despite the test failures.
This change addresses this by propagating the exit code in the case where it is non-zero. 
						
						
					 
					
						2022-02-15 13:10:35 -08:00 
						 
				 
			
				
					
						
							
							
								Andrey Lushnikov 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							e6d79a4f10 
							
						 
					 
					
						
						
							
							fix(docker): add missing dependency to the docker 1.19 ( #12124 )  
						
						... 
						
						
						
						The `libxtst6` is required in both amd64 and arm64.
Fixes  #12075  
						
						
					 
					
						2022-02-15 10:25:59 -08:00 
						 
				 
			
				
					
						
							
							
								Yury Semikhatsky 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							f15610b874 
							
						 
					 
					
						
						
							
							fix(fetch): always return non-empty body regardless of request method ( #12102 )  
						
						
						
						
					 
					
						2022-02-15 09:06:21 -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 
						 
				 
			
				
					
						
							
							
								Andrey Lushnikov 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							6c89f160e8 
							
						 
					 
					
						
						
							
							fix(highlight): drive-by fixes to selector highlight ( #12083 )  
						
						
						
						
					 
					
						2022-02-14 10:32:18 -08:00 
						 
				 
			
				
					
						
							
							
								Dmitry Gozman 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							fb00991a78 
							
						 
					 
					
						
						
							
							chore: intercept socks proxy in the driver ( #12021 )  
						
						
						
						
					 
					
						2022-02-13 14:03:47 -08:00 
						 
				 
			
				
					
						
							
							
								Dmitry Gozman 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							ccb09acdba 
							
						 
					 
					
						
						
							
							fix(remote): make playwright server work with firefox-beta ( #12039 )  
						
						... 
						
						
						
						It is not considered "channel", but rather a "tool". 
						
						
					 
					
						2022-02-11 14:02:02 -08:00 
						 
				 
			
				
					
						
							
							
								Max Schmitt 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							7e7996a7b7 
							
						 
					 
					
						
						
							
							chore(dotnet): do not use global CLI and use ps1 instead ( #12025 )  
						
						... 
						
						
						
						Fixes https://github.com/microsoft/playwright-dotnet/issues/2005  
						
						
					 
					
						2022-02-11 11:26:16 -08:00 
						 
				 
			
				
					
						
							
							
								Joel Einbinder 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							c6641321a0 
							
						 
					 
					
						
						
							
							chore: fix spelling error in comment ( #12038 )  
						
						
						
						
					 
					
						2022-02-11 09:51:13 -08:00 
						 
				 
			
				
					
						
							
							
								Yury Semikhatsky 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							abd7084bcc 
							
						 
					 
					
						
						
							
							fix: match default font families in headless chromium ( #11340 )  
						
						
						
						
					 
					
						2022-02-11 09:06:17 -08:00 
						 
				 
			
				
					
						
							
							
								Pavel Feldman 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							da2cecbea0 
							
						 
					 
					
						
						
							
							chore: don't close page in generated test ( #12022 )  
						
						
						
						
					 
					
						2022-02-11 08:11:24 -08:00 
						 
				 
			
				
					
						
							
							
								Pavel Feldman 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							5ab7bc3a59 
							
						 
					 
					
						
						
							
							chore: headless mode for codegen ( #12020 )  
						
						
						
						
					 
					
						2022-02-10 21:23:16 -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 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							2bc19ae076 
							
						 
					 
					
						
						
							
							chore: extract SocksProxy to a spearate file ( #12011 )  
						
						
						
						
					 
					
						2022-02-10 13:04:19 -08:00 
						 
				 
			
				
					
						
							
							
								Dmitry Gozman 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							9c66068971 
							
						 
					 
					
						
						
							
							fix(connect): make route.fulfill({ response }) work ( #12006 )  
						
						
						
						
					 
					
						2022-02-10 12:05:04 -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 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							1f6b84f445 
							
						 
					 
					
						
						
							
							fix(mac): avoid printing empty line to stderr on mac ( #11991 )  
						
						... 
						
						
						
						It turns out, `sw_vers` prints an empty stderr line and we inherit it. 
						
						
					 
					
						2022-02-09 15:34:10 -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 
						 
				 
			
				
					
						
							
							
								Yury Semikhatsky 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							f2773fbb3a 
							
						 
					 
					
						
						
							
							fix: include call log into browerType.launchServer TimeoutError ( #11956 )  
						
						
						
						
					 
					
						2022-02-09 09:54:16 -08:00 
						 
				 
			
				
					
						
							
							
								Yury Semikhatsky 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							706c897031 
							
						 
					 
					
						
						
							
							feat(fixtures): respect tracing config for APIRequestContext ( #11954 )  
						
						
						
						
					 
					
						2022-02-09 08:54:09 -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 
						 
				 
			
				
					
						
							
							
								Pavel Feldman 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							9ce8572c78 
							
						 
					 
					
						
						
							
							chore: don't run debugger on pause() ( #11948 )  
						
						
						
						
					 
					
						2022-02-08 14:24:13 -08:00 
						 
				 
			
				
					
						
							
							
								Yury Semikhatsky 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							985f932033 
							
						 
					 
					
						
						
							
							chore(trace-viewer): introduce MultiTraceModel ( #11922 )  
						
						
						
						
					 
					
						2022-02-08 12:27:29 -08:00 
						 
				 
			
				
					
						
							
							
								Pavel Feldman 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							1b3c7c03b6 
							
						 
					 
					
						
						
							
							chore: fix(stack): ignore stack frames inside whole core ( #11935 )  
						
						
						
						
					 
					
						2022-02-08 10:33:50 -08:00 
						 
				 
			
				
					
						
							
							
								Pavel Feldman 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							9f35a97a55 
							
						 
					 
					
						
						
							
							chore(chrome): tolerate unknown target types ( #11936 )  
						
						
						
						
					 
					
						2022-02-08 09:46:05 -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 
						 
				 
			
				
					
						
							
							
								Yury Semikhatsky 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							1e00218ead 
							
						 
					 
					
						
						
							
							feat(tracing): suport loading multiple files in trace viewer ( #11880 )  
						
						
						
						
					 
					
						2022-02-07 17:05:42 -08:00 
						 
				 
			
				
					
						
							
							
								Pavel Feldman 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							c3c99a5f66 
							
						 
					 
					
						
						
							
							chore: shift left the inspector window.  
						
						
						
						
					 
					
						2022-02-07 10:41:33 -08:00 
						 
				 
			
				
					
						
							
							
								Dmitry Gozman 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							f82e09be04 
							
						 
					 
					
						
						
							
							feat(codegen): generate locators and frame locators ( #11873 )  
						
						
						
						
					 
					
						2022-02-04 19:27:45 -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 
						 
				 
			
				
					
						
							
							
								github-actions[bot] 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							f96b1dd43b 
							
						 
					 
					
						
						
							
							feat(webkit): roll to r1609 ( #11824 )  
						
						
						
						
					 
					
						2022-02-03 08:20:39 -08:00 
						 
				 
			
				
					
						
							
							
								Pavel Feldman 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							1215057ca1 
							
						 
					 
					
						
						
							
							chore: use ipc transport for out-of-process driver ( #11826 )  
						
						
						
						
					 
					
						2022-02-02 21:26:45 -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 
						 
				 
			
				
					
						
							
							
								Max Schmitt 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							028afb167b 
							
						 
					 
					
						
						
							
							chore: bump production dependencies ( #11787 )  
						
						
						
						
					 
					
						2022-02-01 21:27:34 +01:00 
						 
				 
			
				
					
						
							
							
								Caio Agiani 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							b6b60decdf 
							
						 
					 
					
						
						
							
							fix: typos ( #11789 )  
						
						
						
						
					 
					
						2022-02-01 11:09:41 -08:00 
						 
				 
			
				
					
						
							
							
								Yury Semikhatsky 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							c2f6462a6b 
							
						 
					 
					
						
						
							
							fix(trace-viewer): info message for actions without snapshots ( #11765 )  
						
						
						
						
					 
					
						2022-02-01 09:26:38 -08:00 
						 
				 
			
				
					
						
							
							
								Pavel Feldman 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							c82f2641d7 
							
						 
					 
					
						
						
							
							fet(list-files): report per-project test dir and filters ( #11764 )  
						
						
						
						
					 
					
						2022-02-01 08:08:56 -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:

It is also shown in terminal output:

Fixes  #7816  
						
						
					 
					
						2022-01-31 17:14:59 -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