From 34014638da377ee28275261accb8f782412f9a67 Mon Sep 17 00:00:00 2001 From: Playwright Service <89237858+playwrightmachine@users.noreply.github.com> Date: Mon, 15 Aug 2022 00:43:33 -0700 Subject: [PATCH] chery-pick(docs): sync with ToT docs (#16533) This PR cherry-picks the following commits: - b089d0a5aa295b5e612790b8b4db89df49773bd8 - 13f210a1e8b0372b4099d27dc932b68c3860028d - 2bdf51d284613a189282b39b9cb35f5e46e2e286 - 32adf50e6514046e7ee3dd5f315648b409b4098c - 435272248fb1b4f9fc52c199c3a7d1e55311b3b7 - 8170432fabd51bec26e833ec7a4a1bb55dcf37d4 --- docs/src/browsers.md | 38 +++--- docs/src/ci.md | 2 +- docs/src/cli.md | 38 +++--- docs/src/codegen-intro.md | 2 +- docs/src/codegen.md | 16 +-- docs/src/debug.md | 2 +- docs/src/intro-csharp.md | 4 +- docs/src/library-csharp.md | 2 +- docs/src/mock-js.md | 2 +- docs/src/network.md | 2 +- docs/src/release-notes-csharp.md | 52 +++++++- docs/src/release-notes-java.md | 22 ++++ docs/src/release-notes-python.md | 19 +++ docs/src/running-tests-csharp.md | 23 +--- docs/src/test-runners-csharp.md | 111 +++++++++--------- .../trace-viewer-intro-csharp-java-python.md | 2 +- docs/src/trace-viewer.md | 4 +- packages/playwright-core/src/cli/cli.ts | 2 +- .../src/server/registry/index.ts | 2 +- 19 files changed, 212 insertions(+), 133 deletions(-) diff --git a/docs/src/browsers.md b/docs/src/browsers.md index 8be8e97002..9f5bfe7cba 100644 --- a/docs/src/browsers.md +++ b/docs/src/browsers.md @@ -134,27 +134,27 @@ you can still opt into stable channels on the bots that are typically free of su To invoke Playwright CLI commands, you need to invoke a PowerShell script: ```bash -pwsh bin\Debug\netX\playwright.ps1 --help +pwsh bin/Debug/netX/playwright.ps1 --help ``` Playwright can install supported browsers by means of the CLI tool. ```bash csharp # Running without arguments will install all browsers -pwsh bin\Debug\netX\playwright.ps1 install +pwsh bin/Debug/netX/playwright.ps1 install ``` You can also install specific browsers by providing an argument: ```bash csharp # Install WebKit -pwsh bin\Debug\netX\playwright.ps1 install webkit +pwsh bin/Debug/netX/playwright.ps1 install webkit ``` See all supported browsers: ```bash csharp -pwsh bin\Debug\netX\playwright.ps1 install --help +pwsh bin/Debug/netX/playwright.ps1 install --help ``` ## Install browsers via API @@ -236,17 +236,17 @@ mvn test ```bash tab=bash-bash lang=csharp PLAYWRIGHT_BROWSERS_PATH=$HOME/pw-browsers -pwsh bin\Debug\netX\playwright.ps1 install +pwsh bin/Debug/netX/playwright.ps1 install ``` ```batch tab=bash-batch lang=csharp set PLAYWRIGHT_BROWSERS_PATH=%USERPROFILE%\pw-browsers -pwsh bin\Debug\netX\playwright.ps1 install +pwsh bin/Debug/netX/playwright.ps1 install ``` ```powershell tab=bash-powershell lang=csharp $env:PLAYWRIGHT_BROWSERS_PATH="$env:USERPROFILE\pw-browsers" -pwsh bin\Debug\netX\playwright.ps1 install +pwsh bin/Debug/netX/playwright.ps1 install ``` When running Playwright scripts, ask it to search for browsers in a shared location. @@ -405,17 +405,17 @@ mvn test ``` ```bash tab=bash-bash lang=csharp -HTTPS_PROXY=https://192.0.2.1 pwsh bin\Debug\netX\playwright.ps1 install +HTTPS_PROXY=https://192.0.2.1 pwsh bin/Debug/netX/playwright.ps1 install ``` ```batch tab=bash-batch lang=csharp set HTTPS_PROXY=https://192.0.2.1 -pwsh bin\Debug\netX\playwright.ps1 install +pwsh bin/Debug/netX/playwright.ps1 install ``` ```powershell tab=bash-powershell lang=csharp $env:HTTPS_PROXY="https://192.0.2.1" -pwsh bin\Debug\netX\playwright.ps1 install +pwsh bin/Debug/netX/playwright.ps1 install ``` If the requests of the proxy get intercepted with a custom untrusted certificate authority (CA) and it yields to `Error: self signed certificate in certificate chain` while downloading the browsers, you must set your custom root certificates via the [`NODE_EXTRA_CA_CERTS`](https://nodejs.org/api/cli.html#node_extra_ca_certsfile) environment variable before installing the browsers: @@ -500,17 +500,17 @@ mvn test ``` ```bash tab=bash-bash lang=csharp -PLAYWRIGHT_DOWNLOAD_HOST=192.0.2.1 pwsh bin\Debug\netX\playwright.ps1 install +PLAYWRIGHT_DOWNLOAD_HOST=192.0.2.1 pwsh bin/Debug/netX/playwright.ps1 install ``` ```batch tab=bash-batch lang=csharp set PLAYWRIGHT_DOWNLOAD_HOST=192.0.2.1 -pwsh bin\Debug\netX\playwright.ps1 install +pwsh bin/Debug/netX/playwright.ps1 install ``` ```powershell tab=bash-powershell lang=csharp $env:PLAYWRIGHT_DOWNLOAD_HOST="192.0.2.1" -pwsh bin\Debug\netX\playwright.ps1 install +pwsh bin/Debug/netX/playwright.ps1 install ``` It is also possible to use a per-browser download hosts using `PLAYWRIGHT_CHROMIUM_DOWNLOAD_HOST`, `PLAYWRIGHT_FIREFOX_DOWNLOAD_HOST` and `PLAYWRIGHT_WEBKIT_DOWNLOAD_HOST` env variables that @@ -584,19 +584,19 @@ mvn test ``` ```bash tab=bash-bash lang=csharp -PLAYWRIGHT_FIREFOX_DOWNLOAD_HOST=203.0.113.3 PLAYWRIGHT_DOWNLOAD_HOST=192.0.2.1 pwsh bin\Debug\netX\playwright.ps1 install +PLAYWRIGHT_FIREFOX_DOWNLOAD_HOST=203.0.113.3 PLAYWRIGHT_DOWNLOAD_HOST=192.0.2.1 pwsh bin/Debug/netX/playwright.ps1 install ``` ```batch tab=bash-batch lang=csharp set PLAYWRIGHT_FIREFOX_DOWNLOAD_HOST=203.0.113.3 set PLAYWRIGHT_DOWNLOAD_HOST=192.0.2.1 -pwsh bin\Debug\netX\playwright.ps1 install +pwsh bin/Debug/netX/playwright.ps1 install ``` ```powershell tab=bash-powershell lang=csharp $env:PLAYWRIGHT_DOWNLOAD_HOST="192.0.2.1" $env:PLAYWRIGHT_FIREFOX_DOWNLOAD_HOST="203.0.113.3" -pwsh bin\Debug\netX\playwright.ps1 install +pwsh bin/Debug/netX/playwright.ps1 install ``` ## Skip browser downloads @@ -638,17 +638,17 @@ mvn test ``` ```bash tab=bash-bash lang=csharp -PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1 pwsh bin\Debug\netX\playwright.ps1 install +PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1 pwsh bin/Debug/netX/playwright.ps1 install ``` ```batch tab=bash-batch lang=csharp set PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1 -pwsh bin\Debug\netX\playwright.ps1 install +pwsh bin/Debug/netX/playwright.ps1 install ``` ```powershell tab=bash-powershell lang=csharp $env:PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1 -pwsh bin\Debug\netX\playwright.ps1 install +pwsh bin/Debug/netX/playwright.ps1 install ``` ## Download single browser binary diff --git a/docs/src/ci.md b/docs/src/ci.md index 070da50180..3804b96766 100644 --- a/docs/src/ci.md +++ b/docs/src/ci.md @@ -32,7 +32,7 @@ configurations for common CI providers. mvn exec:java -e -Dexec.mainClass=com.microsoft.playwright.CLI -Dexec.args="install --with-deps" ``` ```bash csharp - pwsh bin\Debug\netX\playwright.ps1 install --with-deps + pwsh bin/Debug/netX/playwright.ps1 install --with-deps ``` 1. **Run your tests**: diff --git a/docs/src/cli.md b/docs/src/cli.md index c34781b4b4..3485cc0ea8 100644 --- a/docs/src/cli.md +++ b/docs/src/cli.md @@ -23,7 +23,7 @@ playwright ```bash csharp # Use the tools. -pwsh bin\Debug\netX\playwright.ps1 --help +pwsh bin/Debug/netX/playwright.ps1 --help ``` ```json js @@ -56,7 +56,7 @@ playwright install ```bash csharp # Running without arguments will install default browsers -pwsh bin\Debug\netX\playwright.ps1 install +pwsh bin/Debug/netX/playwright.ps1 install ``` You can also install specific browsers by providing an argument: @@ -78,7 +78,7 @@ playwright install webkit ```bash csharp # Install WebKit -pwsh bin\Debug\netX\playwright.ps1 install webkit +pwsh bin/Debug/netX/playwright.ps1 install webkit ``` See all supported browsers: @@ -96,7 +96,7 @@ playwright install --help ``` ```bash csharp -pwsh bin\Debug\netX\playwright.ps1 install --help +pwsh bin/Debug/netX/playwright.ps1 install --help ``` ## Install system dependencies @@ -120,7 +120,7 @@ playwright install-deps ```bash csharp # See command help -pwsh bin\Debug\netX\playwright.ps1 install-deps +pwsh bin/Debug/netX/playwright.ps1 install-deps ``` You can also install the dependencies for a single browser only by passing it as an argument: @@ -138,7 +138,7 @@ playwright install-deps chromium ``` ```bash csharp -pwsh bin\Debug\netX\playwright.ps1 install-deps chromium +pwsh bin/Debug/netX/playwright.ps1 install-deps chromium ``` It's also possible to combine `install-deps` with `install` and install by that the browsers and OS dependencies with a single command. This would do both for Chromium, but you can also leave it out. @@ -156,7 +156,7 @@ playwright install --with-deps chromium ``` ```bash csharp -pwsh bin\Debug\netX\playwright.ps1 install --with-deps chromium +pwsh bin/Debug/netX/playwright.ps1 install --with-deps chromium ``` ## Generate code @@ -174,7 +174,7 @@ playwright codegen wikipedia.org ``` ```bash csharp -pwsh bin\Debug\netX\playwright.ps1 codegen wikipedia.org +pwsh bin/Debug/netX/playwright.ps1 codegen wikipedia.org ``` Run `codegen` and perform actions in the browser. Playwright CLI will generate JavaScript code for the user interactions. `codegen` will attempt to generate resilient text-based selectors. @@ -204,7 +204,7 @@ playwright codegen --save-storage=auth.json ``` ```bash csharp -pwsh bin\Debug\netX\playwright.ps1 codegen --save-storage=auth.json +pwsh bin/Debug/netX/playwright.ps1 codegen --save-storage=auth.json # Perform authentication and exit. # auth.json will contain the storage state. ``` @@ -231,8 +231,8 @@ playwright codegen --load-storage=auth.json my.web.app ``` ```bash csharp -pwsh bin\Debug\netX\playwright.ps1 open --load-storage=auth.json my.web.app -pwsh bin\Debug\netX\playwright.ps1 codegen --load-storage=auth.json my.web.app +pwsh bin/Debug/netX/playwright.ps1 open --load-storage=auth.json my.web.app +pwsh bin/Debug/netX/playwright.ps1 codegen --load-storage=auth.json my.web.app # Perform actions in authenticated state. ``` @@ -351,7 +351,7 @@ playwright open example.com ```bash csharp # Open page in Chromium -pwsh bin\Debug\netX\playwright.ps1 open example.com +pwsh bin/Debug/netX/playwright.ps1 open example.com ``` ```bash js @@ -371,7 +371,7 @@ playwright wk example.com ```bash csharp # Open page in WebKit -pwsh bin\Debug\netX\playwright.ps1 wk example.com +pwsh bin/Debug/netX/playwright.ps1 wk example.com ``` ### Emulate devices @@ -394,7 +394,7 @@ playwright open --device="iPhone 11" wikipedia.org ```bash csharp # Emulate iPhone 11. -pwsh bin\Debug\netX\playwright.ps1 open --device="iPhone 11" wikipedia.org +pwsh bin/Debug/netX/playwright.ps1 open --device="iPhone 11" wikipedia.org ``` ### Emulate color scheme and viewport size @@ -416,7 +416,7 @@ playwright open --viewport-size=800,600 --color-scheme=dark twitter.com ```bash csharp # Emulate screen size and color scheme. -pwsh bin\Debug\netX\playwright.ps1 open --viewport-size=800,600 --color-scheme=dark twitter.com +pwsh bin/Debug/netX/playwright.ps1 open --viewport-size=800,600 --color-scheme=dark twitter.com ``` ### Emulate geolocation, language and timezone @@ -442,7 +442,7 @@ playwright open --timezone="Europe/Rome" --geolocation="41.890221,12.492348" --l ```bash csharp # Emulate timezone, language & location # Once page opens, click the "my location" button to see geolocation in action -pwsh bin\Debug\netX\playwright.ps1 open --timezone="Europe/Rome" --geolocation="41.890221,12.492348" --lang="it-IT" maps.google.com +pwsh bin/Debug/netX/playwright.ps1 open --timezone="Europe/Rome" --geolocation="41.890221,12.492348" --lang="it-IT" maps.google.com ``` ## Inspect selectors @@ -542,7 +542,7 @@ playwright screenshot \ ```bash csharp # Wait 3 seconds before capturing a screenshot after page loads ('load' event fires) -pwsh bin\Debug\netX\playwright.ps1 screenshot \ +pwsh bin/Debug/netX/playwright.ps1 screenshot \ --device="iPhone 11" \ --color-scheme=dark \ --wait-for-timeout=3000 \ @@ -566,7 +566,7 @@ playwright screenshot --full-page en.wikipedia.org wiki-full.png ```bash csharp # Capture a full page screenshot -pwsh bin\Debug\netX\playwright.ps1 screenshot --full-page en.wikipedia.org wiki-full.png +pwsh bin/Debug/netX/playwright.ps1 screenshot --full-page en.wikipedia.org wiki-full.png ``` ## Generate PDF @@ -590,5 +590,5 @@ playwright pdf https://en.wikipedia.org/wiki/PDF wiki.pdf ```bash csharp # See command help -pwsh bin\Debug\netX\playwright.ps1 pdf https://en.wikipedia.org/wiki/PDF wiki.pdf +pwsh bin/Debug/netX/playwright.ps1 pdf https://en.wikipedia.org/wiki/PDF wiki.pdf ``` diff --git a/docs/src/codegen-intro.md b/docs/src/codegen-intro.md index c8e6247fe4..6d715d44c7 100644 --- a/docs/src/codegen-intro.md +++ b/docs/src/codegen-intro.md @@ -25,7 +25,7 @@ playwright codegen playwright.dev ``` ```bash csharp -pwsh bin\Debug\netX\playwright.ps1 codegen playwright.dev +pwsh bin/Debug/netX/playwright.ps1 codegen playwright.dev ``` Run `codegen` and perform actions in the browser. Playwright will generate the code for the user interactions. `Codegen` will attempt to generate resilient text-based selectors. diff --git a/docs/src/codegen.md b/docs/src/codegen.md index 79d74f1b5f..7f374dff38 100644 --- a/docs/src/codegen.md +++ b/docs/src/codegen.md @@ -20,7 +20,7 @@ playwright codegen playwright.dev ``` ```bash csharp -pwsh bin\Debug\netX\playwright.ps1 codegen playwright.dev +pwsh bin/Debug/netX/playwright.ps1 codegen playwright.dev ``` Run `codegen` and perform actions in the browser. Playwright will generate the code for the user interactions. `Codegen` will attempt to generate resilient text-based selectors. @@ -45,7 +45,7 @@ playwright codegen --viewport-size=800,600 playwright.dev ``` ```bash csharp -pwsh bin\Debug\netX\playwright.ps1 codegen --viewport-size=800,600 playwright.dev +pwsh bin/Debug/netX/playwright.ps1 codegen --viewport-size=800,600 playwright.dev ``` @@ -69,7 +69,7 @@ playwright codegen --device="iPhone 11" playwright.dev ``` ```bash csharp -pwsh bin\Debug\netX\playwright.ps1 codegen --device="iPhone 11" playwright.dev +pwsh bin/Debug/netX/playwright.ps1 codegen --device="iPhone 11" playwright.dev ``` Codegen generating code for tests for playwright.dev website emulated for iPhone 11 @@ -92,7 +92,7 @@ playwright codegen --color-scheme=dark playwright.dev ``` ```bash csharp -pwsh bin\Debug\netX\playwright.ps1 codegen --color-scheme=dark playwright.dev +pwsh bin/Debug/netX/playwright.ps1 codegen --color-scheme=dark playwright.dev ``` Codegen generating code for tests for playwright.dev website in dark mode @@ -114,7 +114,7 @@ playwright codegen --timezone="Europe/Rome" --geolocation="41.890221,12.492348" ``` ```bash csharp -pwsh bin\Debug\netX\playwright.ps1 codegen --timezone="Europe/Rome" --geolocation="41.890221,12.492348" --lang="it-IT" maps.google.com +pwsh bin/Debug/netX/playwright.ps1 codegen --timezone="Europe/Rome" --geolocation="41.890221,12.492348" --lang="it-IT" maps.google.com ``` Codegen generating code for tests for google maps showing timezone, geoloation as Rome, Italy and in Italian language @@ -138,7 +138,7 @@ playwright codegen --save-storage=auth.json ``` ```bash csharp -pwsh bin\Debug\netX\playwright.ps1 codegen --save-storage=auth.json +pwsh bin/Debug/netX/playwright.ps1 codegen --save-storage=auth.json ``` Screenshot 2022-08-03 at 13 28 02 @@ -158,7 +158,7 @@ playwright codegen --load-storage=auth.json github.com/microsoft/playwright ``` ```bash csharp -pwsh bin\Debug\netX\playwright.ps1 codegen --load-storage=auth.json github.com/microsoft/playwright +pwsh bin/Debug/netX/playwright.ps1 codegen --load-storage=auth.json github.com/microsoft/playwright ``` Screenshot 2022-08-03 at 13 33 40 @@ -178,7 +178,7 @@ playwright open --load-storage=auth.json github.com/microsoft/playwright ``` ```bash csharp -pwsh bin\Debug\netX\playwright.ps1 open --load-storage=auth.json github.com/microsoft/playwright +pwsh bin/Debug/netX/playwright.ps1 open --load-storage=auth.json github.com/microsoft/playwright ``` diff --git a/docs/src/debug.md b/docs/src/debug.md index daaec2ab09..970fc2b23b 100644 --- a/docs/src/debug.md +++ b/docs/src/debug.md @@ -193,7 +193,7 @@ playwright codegen wikipedia.org ``` ```bash csharp -pwsh bin\Debug\netX\playwright.ps1 codegen wikipedia.org +pwsh bin/Debug/netX/playwright.ps1 codegen wikipedia.org ``` ### Stepping through the Playwright script diff --git a/docs/src/intro-csharp.md b/docs/src/intro-csharp.md index bc0258cfe4..6f5aeb6a44 100644 --- a/docs/src/intro-csharp.md +++ b/docs/src/intro-csharp.md @@ -70,9 +70,11 @@ dotnet build 4. Install required browsers by replacing `netX` with the actual output folder name, e.g. `net6.0`: ```bash -pwsh bin\Debug\netX\playwright.ps1 install +pwsh bin/Debug/netX/playwright.ps1 install ``` +If `pwsh` is not available, you have to [install PowerShell](https://docs.microsoft.com/powershell/scripting/install/installing-powershell). + ## Add Example Tests Edit the `UnitTest1.cs` file with the code below to create an example end-to-end test: diff --git a/docs/src/library-csharp.md b/docs/src/library-csharp.md index f0ddc9d0ae..e0f737c492 100644 --- a/docs/src/library-csharp.md +++ b/docs/src/library-csharp.md @@ -19,7 +19,7 @@ dotnet add package Microsoft.Playwright # Build the project dotnet build # Install required browsers - replace netX with actual output folder name, e.g. net6.0. -pwsh bin\Debug\netX\playwright.ps1 install +pwsh bin/Debug/netX/playwright.ps1 install # If the pwsh command does not work (throws TypeNotFound), make sure to use an up-to-date version of PowerShell. dotnet tool update --global PowerShell diff --git a/docs/src/mock-js.md b/docs/src/mock-js.md index a7e1c626c6..ce8726ad3f 100644 --- a/docs/src/mock-js.md +++ b/docs/src/mock-js.md @@ -5,7 +5,7 @@ title: "Mock APIs" Playwright provides native support for most of the browser features. However, there are some experimental APIs and APIs which are not (yet) fully supported by all browsers. Playwright usually doesn't provide dedicated -atomation APIs in such cases. You can use mocks to test behavior of your application in such cases. This guide +automation APIs in such cases. You can use mocks to test behavior of your application in such cases. This guide gives a few examples. diff --git a/docs/src/network.md b/docs/src/network.md index d4bde2508a..4fea6546c8 100644 --- a/docs/src/network.md +++ b/docs/src/network.md @@ -719,7 +719,7 @@ playwright open --save-har=example.har --save-har-glob="**/api/**" https://examp ```bash csharp # Save API requests from example.com as "example.har" archive. -pwsh bin\Debug\netX\playwright.ps1 open --save-har=example.har --save-har-glob="**/api/**" https://example.com +pwsh bin/Debug/netX/playwright.ps1 open --save-har=example.har --save-har-glob="**/api/**" https://example.com ``` ### Recording HAR with a script diff --git a/docs/src/release-notes-csharp.md b/docs/src/release-notes-csharp.md index 95743663d4..0380ab4cfa 100644 --- a/docs/src/release-notes-csharp.md +++ b/docs/src/release-notes-csharp.md @@ -4,6 +4,52 @@ title: "Release notes" toc_max_heading_level: 2 --- +## Version 1.25 + +### New .runsettings file support + +`Microsoft.Playwright.NUnit` and `Microsoft.Playwright.MSTest` will now consider the `.runsettings` file and passed settings via the CLI when running end-to-end tests. See in the [documentation](https://playwright.dev/dotnet/docs/test-runners) for a full list of supported settings. + +The following does now work: + +```xml + + + + + chromium + 5000 + + true + msedge + + + + + + + pw:api + + + +``` + +### Announcements + +* 🪦 This is the last release with macOS 10.15 support (deprecated as of 1.21). +* ⚠️ Ubuntu 18 is now deprecated and will not be supported as of Dec 2022. + +### Browser Versions + +* Chromium 105.0.5195.19 +* Mozilla Firefox 103.0 +* WebKit 16.0 + +This version was also tested against the following stable channels: + +* Google Chrome 104 +* Microsoft Edge 104 + ## Version 1.24
@@ -60,7 +106,7 @@ Now you can record network traffic into a HAR file and re-use this traffic in yo To record network into HAR file: ```bash -pwsh bin\Debug\netX\playwright.ps1 open --save-har=example.har --save-har-glob="**/api/**" https://example.com +pwsh bin/Debug/netX/playwright.ps1 open --save-har=example.har --save-har-glob="**/api/**" https://example.com ``` Alternatively, you can record HAR programmatically: @@ -354,7 +400,7 @@ Playwright Trace Viewer is now **available online** at https://trace.playwright. - Playwright now supports **Ubuntu 20.04 ARM64**. You can now run Playwright tests inside Docker on Apple M1 and on Raspberry Pi. - You can now use Playwright to install stable version of Edge on Linux: ```bash - pwsh bin\Debug\netX\playwright.ps1 install msedge + pwsh bin/Debug/netX/playwright.ps1 install msedge ``` @@ -381,7 +427,7 @@ Read more about [`method: Locator.waitFor`]. ### 🎭 Playwright Trace Viewer -- run trace viewer with `pwsh bin\Debug\netX\playwright.ps1 show-trace` and drop trace files to the trace viewer PWA +- run trace viewer with `pwsh bin/Debug/netX/playwright.ps1 show-trace` and drop trace files to the trace viewer PWA - better visual attribution of action targets Read more about [Trace Viewer](./trace-viewer). diff --git a/docs/src/release-notes-java.md b/docs/src/release-notes-java.md index 139ebe9bd9..d127f5c99c 100644 --- a/docs/src/release-notes-java.md +++ b/docs/src/release-notes-java.md @@ -4,6 +4,28 @@ title: "Release notes" toc_max_heading_level: 2 --- +## Version 1.25 + +### New APIs & changes + +- Default assertions timeout now can be changed with [`'setDefaultAssertionTimeout'`](./test-assertions#playwright-assertions-set-default-assertion-timeout). + +### Announcements + +* 🪦 This is the last release with macOS 10.15 support (deprecated as of 1.21). +* ⚠️ Ubuntu 18 is now deprecated and will not be supported as of Dec 2022. + +### Browser Versions + +* Chromium 105.0.5195.19 +* Mozilla Firefox 103.0 +* WebKit 16.0 + +This version was also tested against the following stable channels: + +* Google Chrome 104 +* Microsoft Edge 104 + ## Version 1.24
diff --git a/docs/src/release-notes-python.md b/docs/src/release-notes-python.md index a4fe3882ed..4ce70e9811 100644 --- a/docs/src/release-notes-python.md +++ b/docs/src/release-notes-python.md @@ -4,6 +4,25 @@ title: "Release notes" toc_max_heading_level: 2 --- +## Version 1.25 + +### Announcements + +* 🎁 We now ship Ubuntu 22.04 Jammy Jellyfish docker image: `mcr.microsoft.com/playwright/python:v1.25.0-jammy`. +* 🪦 This is the last release with macOS 10.15 support (deprecated as of 1.21). +* ⚠️ Ubuntu 18 is now deprecated and will not be supported as of Dec 2022. + +### Browser Versions + +* Chromium 105.0.5195.19 +* Mozilla Firefox 103.0 +* WebKit 16.0 + +This version was also tested against the following stable channels: + +* Google Chrome 104 +* Microsoft Edge 104 + ## Version 1.24
diff --git a/docs/src/running-tests-csharp.md b/docs/src/running-tests-csharp.md index a76ece265e..b5129b2042 100644 --- a/docs/src/running-tests-csharp.md +++ b/docs/src/running-tests-csharp.md @@ -31,23 +31,13 @@ You can run a single test, a set of tests or all tests. Tests can be run on diff - Running Tests on specific browsers - ```bash tab=bash-bash - BROWSER=webkit dotnet test - ``` - - ```batch tab=bash-batch - set BROWSER=webkit - dotnet test - ``` - - ```powershell tab=bash-powershell - $env:BROWSER="webkit" - dotnet test + ```bash + dotnet test -- Playwright.BrowserName=webkit ``` - Running Tests on multiple browsers - To run your test on multiple browsers or configurations you need to invoke the `dotnet test` command multiple times. There you can then either specify the `BROWSER` environment variable (like the previous) or pass the `browser` via the runsettings file: + To run your test on multiple browsers or configurations you need to invoke the `dotnet test` command multiple times. There you can then either specify the `BROWSER` environment variable or set the `Playwright.BrowserName` via the runsettings file: ```bash dotnet test --settings:chromium.runsettings @@ -58,10 +48,9 @@ You can run a single test, a set of tests or all tests. Tests can be run on diff ```xml - - - - + + chromium + ``` diff --git a/docs/src/test-runners-csharp.md b/docs/src/test-runners-csharp.md index c967c0b82c..b05cbfa21b 100644 --- a/docs/src/test-runners-csharp.md +++ b/docs/src/test-runners-csharp.md @@ -24,11 +24,13 @@ Playwright provides base classes to write tests with NUnit via the [`Microsoft.P # Create a new project dotnet new nunit -n PlaywrightTests cd PlaywrightTests + # Add the required reference dotnet add package Microsoft.Playwright.NUnit dotnet build + # Install the required browsers and operating system dependencies -pwsh bin\Debug\netX\playwright.ps1 install --with-deps +pwsh bin/Debug/netX/playwright.ps1 install --with-deps ``` Modify the UnitTest1.cs: @@ -104,7 +106,8 @@ dotnet test --filter "Name~Slogan" ### Running NUnit tests in Parallel -By default NUnit will run all test files in parallel, while running tests inside each file sequentially. It will create as many processes as there are cores on the host system. You can adjust this behavior using the NUnit.NumberOfTestWorkers parameter. +By default NUnit will run all test files in parallel, while running tests inside each file sequentially (`ParallelScope.Self`). It will create as many processes as there are cores on the host system. You can adjust this behavior using the NUnit.NumberOfTestWorkers parameter. +Running test in parallel using `ParallelScope.All` or `ParallelScope.Fixtures` is not supported. For CPU-bound tests, we recommend using as many workers as there are cores on your system, divided by 2. For IO-bound tests you can use as many workers as you have cores. @@ -151,24 +154,18 @@ CLI. See the following example: ```xml - - - - - + + chromium + + false + msedge + + ``` -```bash tab=bash-bash -dotnet test -- TestRunParameters.Parameter\(name=\"browser\", value=\"chromium\"\) TestRunParameters.Parameter\(name=\"headless\", value=\"false\"\) TestRunParameters.Parameter\(name=\"channel\", value=\"msedge\"\) -``` - -```batch tab=bash-batch -dotnet test -- TestRunParameters.Parameter(name=\"browser\", value=\"chromium\") TestRunParameters.Parameter(name=\"headless\", value=\"false\") TestRunParameters.Parameter(name=\"channel\", value=\"msedge\") -``` - -```powershell tab=bash-powershell -dotnet test -- TestRunParameters.Parameter(name=\"browser\", value=\"chromium\") TestRunParameters.Parameter(name=\"headless\", value=\"false\") TestRunParameters.Parameter(name=\"channel\", value=\"msedge\") +```bash +dotnet test -- Playwright.BrowserName=chromium Playwright.LaunchOptions.Headless=false Playwright.LaunchOptions.Channel=msedge ``` ### Using Verbose API Logs @@ -177,29 +174,33 @@ When you have enabled the [verbose API log](./debug.md#verbose-api-logs), via th ### Using the .runsettings file -When running tests from Visual Studio, you can take advantage of the `.runsettings` file. +When running tests from Visual Studio, you can take advantage of the `.runsettings` file. The following shows a reference of the supported values. -For example, to specify the amount of workers (`NUnit.NumberOfTestWorkers`), you can use the following snippet: +For example, to specify the amount of workers you can use `NUnit.NumberOfTestWorkers` or to enable `DEBUG` logs `RunConfiguration.EnvironmentVariables`. ```xml + 24 - -``` - -If you want to enable debugging, you can set the `DEBUG` variable to `pw:api` as documented, by doing: - -```xml - - + + pw:api + + + chromium + 5000 + + false + msedge + + ``` @@ -224,11 +225,13 @@ Playwright provides base classes to write tests with MSTest via the [`Microsoft. # Create a new project dotnet new mstest -n PlaywrightTests cd PlaywrightTests + # Add the required reference dotnet add package Microsoft.Playwright.MSTest dotnet build + # Install the required browsers and operating system dependencies -pwsh bin\Debug\netX\playwright.ps1 install --with-deps +pwsh bin/Debug/netX/playwright.ps1 install --with-deps ``` Modify the UnitTest1.cs: @@ -304,7 +307,8 @@ dotnet test --filter "Name~Slogan" ### Running MSTest tests in Parallel -By default MSTest will run all classes in parallel, while running tests inside each class sequentially. It will create as many processes as there are cores on the host system. You can adjust this behavior by using the following CLI parameter or using a `.runsettings` file, see below. +By default MSTest will run all classes in parallel, while running tests inside each class sequentially (`ExecutionScope.ClassLevel`). It will create as many processes as there are cores on the host system. You can adjust this behavior by using the following CLI parameter or using a `.runsettings` file, see below. +Running tests in parallel at the method level (`ExecutionScope.MethodLevel`) is not supported. ```bash dotnet test --settings:.runsettings -- MSTest.Parallelize.Workers=4 @@ -357,24 +361,18 @@ CLI. See the following example: ```xml - - - - - + + chromium + + false + msedge + + ``` -```bash tab=bash-bash -dotnet test -- TestRunParameters.Parameter\(name=\"browser\", value=\"chromium\"\) TestRunParameters.Parameter\(name=\"headless\", value=\"false\"\) TestRunParameters.Parameter\(name=\"channel\", value=\"msedge\"\) -``` - -```batch tab=bash-batch -dotnet test -- TestRunParameters.Parameter(name=\"browser\", value=\"chromium\") TestRunParameters.Parameter(name=\"headless\", value=\"false\") TestRunParameters.Parameter(name=\"channel\", value=\"msedge\") -``` - -```powershell tab=bash-powershell -dotnet test -- TestRunParameters.Parameter(name=\"browser\", value=\"chromium\") TestRunParameters.Parameter(name=\"headless\", value=\"false\") TestRunParameters.Parameter(name=\"channel\", value=\"msedge\") +```bash +dotnet test -- Playwright.BrowserName=chromium Playwright.LaunchOptions.Headless=false Playwright.LaunchOptions.Channel=msedge ``` ### Using Verbose API Logs @@ -383,32 +381,35 @@ When you have enabled the [verbose API log](./debug.md#verbose-api-logs), via th ### Using the .runsettings file -When running tests from Visual Studio, you can take advantage of the `.runsettings` file. +When running tests from Visual Studio, you can take advantage of the `.runsettings` file. The following shows a reference of the supported values. -For example, to specify the amount of workers (`MSTest.Parallelize.Workers`), you can use the following snippet: +For example, to specify the number of workers, you can use `MSTest.Parallelize.Workers`. You can also enable `DEBUG` logs using `RunConfiguration.EnvironmentVariables`. ```xml - + 4 ClassLevel - -``` - -If you want to enable debugging, you can set the `DEBUG` variable to `pw:api` as documented, by doing: - -```xml - - + + pw:api + + + chromium + 5000 + + false + msedge + + ``` diff --git a/docs/src/trace-viewer-intro-csharp-java-python.md b/docs/src/trace-viewer-intro-csharp-java-python.md index 409a565083..8fba36f8f9 100644 --- a/docs/src/trace-viewer-intro-csharp-java-python.md +++ b/docs/src/trace-viewer-intro-csharp-java-python.md @@ -101,7 +101,7 @@ playwright show-trace trace.zip ``` ```bash csharp -pwsh bin\Debug\netX\playwright.ps1 show-trace trace.zip +pwsh bin/Debug/netX/playwright.ps1 show-trace trace.zip ``` diff --git a/docs/src/trace-viewer.md b/docs/src/trace-viewer.md index 0f3bc3f270..4afe692df7 100644 --- a/docs/src/trace-viewer.md +++ b/docs/src/trace-viewer.md @@ -153,7 +153,7 @@ playwright show-trace trace.zip ``` ```bash csharp -pwsh bin\Debug\netX\playwright.ps1 show-trace trace.zip +pwsh bin/Debug/netX/playwright.ps1 show-trace trace.zip ``` ## Actions @@ -220,7 +220,7 @@ playwright show-trace https://example.com/trace.zip ``` ```bash csharp -pwsh bin\Debug\netX\playwright.ps1 show-trace https://example.com/trace.zip +pwsh bin/Debug/netX/playwright.ps1 show-trace https://example.com/trace.zip ``` ## Using [trace.playwright.dev](https://trace.playwright.dev) diff --git a/packages/playwright-core/src/cli/cli.ts b/packages/playwright-core/src/cli/cli.ts index fe9bbca945..6b138d63ee 100755 --- a/packages/playwright-core/src/cli/cli.ts +++ b/packages/playwright-core/src/cli/cli.ts @@ -715,7 +715,7 @@ function buildBasePlaywrightCLICommand(cliTargetLang: string | undefined): strin case 'java': return `mvn exec:java -e -Dexec.mainClass=com.microsoft.playwright.CLI -Dexec.args="...options.."`; case 'csharp': - return `pwsh bin\\Debug\\netX\\playwright.ps1`; + return `pwsh bin/Debug/netX/playwright.ps1`; default: return `npx playwright`; } diff --git a/packages/playwright-core/src/server/registry/index.ts b/packages/playwright-core/src/server/registry/index.ts index 2dd7922ecb..cdc6de680d 100644 --- a/packages/playwright-core/src/server/registry/index.ts +++ b/packages/playwright-core/src/server/registry/index.ts @@ -853,7 +853,7 @@ export function buildPlaywrightCLICommand(sdkLanguage: string, parameters: strin case 'java': return `mvn exec:java -e -Dexec.mainClass=com.microsoft.playwright.CLI -Dexec.args="${parameters}"`; case 'csharp': - return `pwsh bin\\Debug\\netX\\playwright.ps1 ${parameters}`; + return `pwsh bin/Debug/netX/playwright.ps1 ${parameters}`; default: return `npx playwright ${parameters}`; }