diff --git a/docs/src/release-notes-csharp.md b/docs/src/release-notes-csharp.md
index 3ed66a102a33e..442ac04698290 100644
--- a/docs/src/release-notes-csharp.md
+++ b/docs/src/release-notes-csharp.md
@@ -4,6 +4,32 @@ title: "Release notes"
toc_max_heading_level: 2
---
+## Version 1.37
+
+### 📚 Debian 12 Bookworm Support
+
+Playwright now supports Debian 12 Bookworm on both x86_64 and arm64 for Chromium, Firefox and WebKit.
+Let us know if you encounter any issues!
+
+Linux support looks like this:
+
+| | Ubuntu 20.04 | Ubuntu 22.04 | Debian 11 | Debian 12 |
+| :--- | :---: | :---: | :---: | :---: |
+| Chromium | ✅ | ✅ | ✅ | ✅ |
+| WebKit | ✅ | ✅ | ✅ | ✅ |
+| Firefox | ✅ | ✅ | ✅ | ✅ |
+
+### Browser Versions
+
+* Chromium 116.0.5845.82
+* Mozilla Firefox 115.0
+* WebKit 17.0
+
+This version was also tested against the following stable channels:
+
+* Google Chrome 115
+* Microsoft Edge 115
+
## Version 1.36
🏝️ Summer maintenance release.
diff --git a/docs/src/release-notes-java.md b/docs/src/release-notes-java.md
index 92e2bacdcb1ae..d34b3f09766a9 100644
--- a/docs/src/release-notes-java.md
+++ b/docs/src/release-notes-java.md
@@ -12,6 +12,48 @@ toc_max_heading_level: 2
import LiteYouTube from '@site/src/components/LiteYouTube';
+## Version 1.37
+
+### New APIs
+
+- New methods [`method: BrowserContext.newCDPSession`] and [`method: Browser.newBrowserCDPSession`] create a [Chrome DevTools Protocol](https://chromedevtools.github.io/devtools-protocol/) session for the page and browser respectively.
+
+ ```java
+ CDPSession cdpSession = page.context().newCDPSession(page);
+ cdpSession.send("Runtime.enable");
+
+ JsonObject params = new JsonObject();
+ params.addProperty("expression", "window.foo = 'bar'");
+ cdpSession.send("Runtime.evaluate", params);
+
+ Object foo = page.evaluate("window['foo']");
+ assertEquals("bar", foo);
+ ```
+
+### 📚 Debian 12 Bookworm Support
+
+Playwright now supports Debian 12 Bookworm on both x86_64 and arm64 for Chromium, Firefox and WebKit.
+Let us know if you encounter any issues!
+
+Linux support looks like this:
+
+| | Ubuntu 20.04 | Ubuntu 22.04 | Debian 11 | Debian 12 |
+| :--- | :---: | :---: | :---: | :---: |
+| Chromium | ✅ | ✅ | ✅ | ✅ |
+| WebKit | ✅ | ✅ | ✅ | ✅ |
+| Firefox | ✅ | ✅ | ✅ | ✅ |
+
+### Browser Versions
+
+* Chromium 116.0.5845.82
+* Mozilla Firefox 115.0
+* WebKit 17.0
+
+This version was also tested against the following stable channels:
+
+* Google Chrome 115
+* Microsoft Edge 115
+
## Version 1.36
🏝️ Summer maintenance release.
diff --git a/docs/src/release-notes-js.md b/docs/src/release-notes-js.md
index 163de375e0879..dc9f5a6cd2a25 100644
--- a/docs/src/release-notes-js.md
+++ b/docs/src/release-notes-js.md
@@ -8,6 +8,11 @@ import LiteYouTube from '@site/src/components/LiteYouTube';
## Version 1.37
+
+
### New `npx playwright merge-reports` tool
If you run tests on multiple shards, you can now merge all reports in a single HTML report (or any other report)
@@ -42,8 +47,8 @@ Let us know if you encounter any issues!
Linux support looks like this:
-| | Ubuntu 20.04 | Ubuntu 22.04 | Debian 11 | Debian 12
-| :--- | :---: | :---: | :---: | :---: | :---: |
+| | Ubuntu 20.04 | Ubuntu 22.04 | Debian 11 | Debian 12 |
+| :--- | :---: | :---: | :---: | :---: |
| Chromium | ✅ | ✅ | ✅ | ✅ |
| WebKit | ✅ | ✅ | ✅ | ✅ |
| Firefox | ✅ | ✅ | ✅ | ✅ |
diff --git a/docs/src/release-notes-python.md b/docs/src/release-notes-python.md
index 33be07c97bce5..a48e39b6cc164 100644
--- a/docs/src/release-notes-python.md
+++ b/docs/src/release-notes-python.md
@@ -4,6 +4,41 @@ title: "Release notes"
toc_max_heading_level: 2
---
+## Version 1.37
+
+### Highlights
+
+* New [--full-page-screenshot](./test-runners.md#cli-arguments) command line flag allows taking a
+full page screenshot on failure.
+
+* It is now possible to override the context options for a single test by using the [browser_context_args](./test-runners.md#fixtures) marker.
+
+* `pytest-playwright` is now also getting published [on Anaconda](https://anaconda.org/Microsoft/pytest-playwright/)
+
+### 📚 Debian 12 Bookworm Support
+
+Playwright now supports Debian 12 Bookworm on both x86_64 and arm64 for Chromium, Firefox and WebKit.
+Let us know if you encounter any issues!
+
+Linux support looks like this:
+
+| | Ubuntu 20.04 | Ubuntu 22.04 | Debian 11 | Debian 12 |
+| :--- | :---: | :---: | :---: | :---: |
+| Chromium | ✅ | ✅ | ✅ | ✅ |
+| WebKit | ✅ | ✅ | ✅ | ✅ |
+| Firefox | ✅ | ✅ | ✅ | ✅ |
+
+### Browser Versions
+
+* Chromium 116.0.5845.82
+* Mozilla Firefox 115.0
+* WebKit 17.0
+
+This version was also tested against the following stable channels:
+
+* Google Chrome 115
+* Microsoft Edge 115
+
## Version 1.36
🏝️ Summer maintenance release.
diff --git a/docs/src/test-sharding-js.md b/docs/src/test-sharding-js.md
index fbc9ea9ab33a4..87048be8b9cd2 100644
--- a/docs/src/test-sharding-js.md
+++ b/docs/src/test-sharding-js.md
@@ -48,15 +48,16 @@ This will produce a standard HTML report into `playwright-report` directory.
One of the easiest ways to shard Playwright tests across multiple machines is by using GitHub Actions matrix strategy. For example, you can configure a job to run your tests on four machines in parallel like this:
```yaml title=".github/workflows/playwright.yml"
-name: "Playwright Tests"
-
+name: Playwright Tests
on:
push:
- branches:
- - main
-
+ branches: [ main, master ]
+ pull_request:
+ branches: [ main, master ]
jobs:
playwright-tests:
+ timeout-minutes: 60
+ runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
@@ -65,10 +66,12 @@ jobs:
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
+ with:
+ node-version: 18
- name: Install dependencies
run: npm ci
- name: Install Playwright browsers
- run: npx playwright install
+ run: npx playwright install --with-deps
- name: Run Playwright tests
run: npx playwright test --shard ${{ matrix.shard }}
@@ -96,6 +99,8 @@ jobs:
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
+ with:
+ node-version: 18
- name: Install dependencies
run: npm ci
@@ -118,6 +123,8 @@ jobs:
To ensure the execution order, we make `merge-reports` job [depend](https://docs.github.com/en/actions/using-jobs/using-jobs-in-a-workflow#defining-prerequisite-jobs) on our sharded `playwright-tests` job.
+
+
## Publishing report on the web
In the previous example, the HTML report is uploaded to GitHub Actions Artifacts. This is easy to configure, but downloading HTML report as a zip file is not very convenient.
@@ -147,6 +154,7 @@ We can utilize Azure Storage's static websites hosting capabilities to easily an
run: |
REPORT_DIR='run-${{ github.run_id }}-${{ github.run_attempt }}'
azcopy cp --recursive "./playwright-report/*" "https://.blob.core.windows.net/\$web/$REPORT_DIR"
+ echo "::notice title=HTML report url::https://.z1.web.core.windows.net/$REPORT_DIR/index.html"
env:
AZCOPY_AUTO_LOGIN_TYPE: SPN
AZCOPY_SPA_APPLICATION_ID: '${{ secrets.AZCOPY_SPA_APPLICATION_ID }}'
diff --git a/package-lock.json b/package-lock.json
index 20ea01d243643..064e8215f38a4 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "playwright-internal",
- "version": "1.37.0",
+ "version": "1.37.1",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "playwright-internal",
- "version": "1.37.0",
+ "version": "1.37.1",
"license": "Apache-2.0",
"workspaces": [
"packages/*"
@@ -6325,11 +6325,11 @@
}
},
"packages/playwright": {
- "version": "1.37.0",
+ "version": "1.37.1",
"hasInstallScript": true,
"license": "Apache-2.0",
"dependencies": {
- "playwright-core": "1.37.0"
+ "playwright-core": "1.37.1"
},
"bin": {
"playwright": "cli.js"
@@ -6339,11 +6339,11 @@
}
},
"packages/playwright-chromium": {
- "version": "1.37.0",
+ "version": "1.37.1",
"hasInstallScript": true,
"license": "Apache-2.0",
"dependencies": {
- "playwright-core": "1.37.0"
+ "playwright-core": "1.37.1"
},
"bin": {
"playwright": "cli.js"
@@ -6353,7 +6353,7 @@
}
},
"packages/playwright-core": {
- "version": "1.37.0",
+ "version": "1.37.1",
"license": "Apache-2.0",
"bin": {
"playwright-core": "cli.js"
@@ -6364,11 +6364,11 @@
},
"packages/playwright-ct-core": {
"name": "@playwright/experimental-ct-core",
- "version": "1.37.0",
+ "version": "1.37.1",
"license": "Apache-2.0",
"dependencies": {
- "@playwright/test": "1.37.0",
- "playwright-core": "1.37.0",
+ "@playwright/test": "1.37.1",
+ "playwright-core": "1.37.1",
"vite": "^4.3.9"
},
"bin": {
@@ -6380,10 +6380,10 @@
},
"packages/playwright-ct-react": {
"name": "@playwright/experimental-ct-react",
- "version": "1.37.0",
+ "version": "1.37.1",
"license": "Apache-2.0",
"dependencies": {
- "@playwright/experimental-ct-core": "1.37.0",
+ "@playwright/experimental-ct-core": "1.37.1",
"@vitejs/plugin-react": "^4.0.0"
},
"bin": {
@@ -6412,10 +6412,10 @@
},
"packages/playwright-ct-react17": {
"name": "@playwright/experimental-ct-react17",
- "version": "1.37.0",
+ "version": "1.37.1",
"license": "Apache-2.0",
"dependencies": {
- "@playwright/experimental-ct-core": "1.37.0",
+ "@playwright/experimental-ct-core": "1.37.1",
"@vitejs/plugin-react": "^4.0.0"
},
"bin": {
@@ -6444,10 +6444,10 @@
},
"packages/playwright-ct-solid": {
"name": "@playwright/experimental-ct-solid",
- "version": "1.37.0",
+ "version": "1.37.1",
"license": "Apache-2.0",
"dependencies": {
- "@playwright/experimental-ct-core": "1.37.0",
+ "@playwright/experimental-ct-core": "1.37.1",
"vite-plugin-solid": "^2.7.0"
},
"bin": {
@@ -6462,10 +6462,10 @@
},
"packages/playwright-ct-svelte": {
"name": "@playwright/experimental-ct-svelte",
- "version": "1.37.0",
+ "version": "1.37.1",
"license": "Apache-2.0",
"dependencies": {
- "@playwright/experimental-ct-core": "1.37.0",
+ "@playwright/experimental-ct-core": "1.37.1",
"@sveltejs/vite-plugin-svelte": "^2.1.1"
},
"bin": {
@@ -6480,10 +6480,10 @@
},
"packages/playwright-ct-vue": {
"name": "@playwright/experimental-ct-vue",
- "version": "1.37.0",
+ "version": "1.37.1",
"license": "Apache-2.0",
"dependencies": {
- "@playwright/experimental-ct-core": "1.37.0",
+ "@playwright/experimental-ct-core": "1.37.1",
"@vitejs/plugin-vue": "^4.2.1"
},
"bin": {
@@ -6531,10 +6531,10 @@
},
"packages/playwright-ct-vue2": {
"name": "@playwright/experimental-ct-vue2",
- "version": "1.37.0",
+ "version": "1.37.1",
"license": "Apache-2.0",
"dependencies": {
- "@playwright/experimental-ct-core": "1.37.0",
+ "@playwright/experimental-ct-core": "1.37.1",
"@vitejs/plugin-vue2": "^2.2.0"
},
"bin": {
@@ -6548,11 +6548,11 @@
}
},
"packages/playwright-firefox": {
- "version": "1.37.0",
+ "version": "1.37.1",
"hasInstallScript": true,
"license": "Apache-2.0",
"dependencies": {
- "playwright-core": "1.37.0"
+ "playwright-core": "1.37.1"
},
"bin": {
"playwright": "cli.js"
@@ -6604,11 +6604,11 @@
},
"packages/playwright-test": {
"name": "@playwright/test",
- "version": "1.37.0",
+ "version": "1.37.1",
"license": "Apache-2.0",
"dependencies": {
"@types/node": "*",
- "playwright-core": "1.37.0"
+ "playwright-core": "1.37.1"
},
"bin": {
"playwright": "cli.js"
@@ -6621,11 +6621,11 @@
}
},
"packages/playwright-webkit": {
- "version": "1.37.0",
+ "version": "1.37.1",
"hasInstallScript": true,
"license": "Apache-2.0",
"dependencies": {
- "playwright-core": "1.37.0"
+ "playwright-core": "1.37.1"
},
"bin": {
"playwright": "cli.js"
@@ -7471,15 +7471,15 @@
"@playwright/experimental-ct-core": {
"version": "file:packages/playwright-ct-core",
"requires": {
- "@playwright/test": "1.37.0",
- "playwright-core": "1.37.0",
+ "@playwright/test": "1.37.1",
+ "playwright-core": "1.37.1",
"vite": "^4.3.9"
}
},
"@playwright/experimental-ct-react": {
"version": "file:packages/playwright-ct-react",
"requires": {
- "@playwright/experimental-ct-core": "1.37.0",
+ "@playwright/experimental-ct-core": "1.37.1",
"@vitejs/plugin-react": "^4.0.0"
},
"dependencies": {
@@ -7499,7 +7499,7 @@
"@playwright/experimental-ct-react17": {
"version": "file:packages/playwright-ct-react17",
"requires": {
- "@playwright/experimental-ct-core": "1.37.0",
+ "@playwright/experimental-ct-core": "1.37.1",
"@vitejs/plugin-react": "^4.0.0"
},
"dependencies": {
@@ -7519,7 +7519,7 @@
"@playwright/experimental-ct-solid": {
"version": "file:packages/playwright-ct-solid",
"requires": {
- "@playwright/experimental-ct-core": "1.37.0",
+ "@playwright/experimental-ct-core": "1.37.1",
"solid-js": "^1.7.0",
"vite-plugin-solid": "^2.7.0"
}
@@ -7527,7 +7527,7 @@
"@playwright/experimental-ct-svelte": {
"version": "file:packages/playwright-ct-svelte",
"requires": {
- "@playwright/experimental-ct-core": "1.37.0",
+ "@playwright/experimental-ct-core": "1.37.1",
"@sveltejs/vite-plugin-svelte": "^2.1.1",
"svelte": "^3.55.1"
}
@@ -7535,7 +7535,7 @@
"@playwright/experimental-ct-vue": {
"version": "file:packages/playwright-ct-vue",
"requires": {
- "@playwright/experimental-ct-core": "1.37.0",
+ "@playwright/experimental-ct-core": "1.37.1",
"@vitejs/plugin-vue": "^4.2.1"
},
"dependencies": {
@@ -7569,7 +7569,7 @@
"@playwright/experimental-ct-vue2": {
"version": "file:packages/playwright-ct-vue2",
"requires": {
- "@playwright/experimental-ct-core": "1.37.0",
+ "@playwright/experimental-ct-core": "1.37.1",
"@vitejs/plugin-vue2": "^2.2.0",
"vue": "^2.7.14"
}
@@ -7603,7 +7603,7 @@
"requires": {
"@types/node": "*",
"fsevents": "2.3.2",
- "playwright-core": "1.37.0"
+ "playwright-core": "1.37.1"
}
},
"@sindresorhus/is": {
@@ -9942,13 +9942,13 @@
"playwright": {
"version": "file:packages/playwright",
"requires": {
- "playwright-core": "1.37.0"
+ "playwright-core": "1.37.1"
}
},
"playwright-chromium": {
"version": "file:packages/playwright-chromium",
"requires": {
- "playwright-core": "1.37.0"
+ "playwright-core": "1.37.1"
}
},
"playwright-core": {
@@ -9957,13 +9957,13 @@
"playwright-firefox": {
"version": "file:packages/playwright-firefox",
"requires": {
- "playwright-core": "1.37.0"
+ "playwright-core": "1.37.1"
}
},
"playwright-webkit": {
"version": "file:packages/playwright-webkit",
"requires": {
- "playwright-core": "1.37.0"
+ "playwright-core": "1.37.1"
}
},
"postcss": {
diff --git a/package.json b/package.json
index a539b0af66a7d..0566befcb0537 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
{
"name": "playwright-internal",
"private": true,
- "version": "1.37.0",
+ "version": "1.37.1",
"description": "A high-level API to automate web browsers",
"repository": "github:Microsoft/playwright",
"homepage": "https://playwright.dev",
diff --git a/packages/playwright-chromium/package.json b/packages/playwright-chromium/package.json
index 837ba4804f5b4..cac70d1880ccf 100644
--- a/packages/playwright-chromium/package.json
+++ b/packages/playwright-chromium/package.json
@@ -1,6 +1,6 @@
{
"name": "playwright-chromium",
- "version": "1.37.0",
+ "version": "1.37.1",
"description": "A high-level API to automate Chromium",
"repository": "github:Microsoft/playwright",
"homepage": "https://playwright.dev",
@@ -27,6 +27,6 @@
"install": "node install.js"
},
"dependencies": {
- "playwright-core": "1.37.0"
+ "playwright-core": "1.37.1"
}
}
diff --git a/packages/playwright-core/package.json b/packages/playwright-core/package.json
index 01b0daeb81a20..64b894f1cad9b 100644
--- a/packages/playwright-core/package.json
+++ b/packages/playwright-core/package.json
@@ -1,6 +1,6 @@
{
"name": "playwright-core",
- "version": "1.37.0",
+ "version": "1.37.1",
"description": "A high-level API to automate web browsers",
"repository": "github:Microsoft/playwright",
"homepage": "https://playwright.dev",
diff --git a/packages/playwright-ct-core/package.json b/packages/playwright-ct-core/package.json
index cfab170e8f059..9b3ce2b8f1eef 100644
--- a/packages/playwright-ct-core/package.json
+++ b/packages/playwright-ct-core/package.json
@@ -1,6 +1,6 @@
{
"name": "@playwright/experimental-ct-core",
- "version": "1.37.0",
+ "version": "1.37.1",
"description": "Playwright Component Testing Helpers",
"repository": "github:Microsoft/playwright",
"homepage": "https://playwright.dev",
@@ -21,9 +21,9 @@
"./lib/vitePlugin": "./lib/vitePlugin.js"
},
"dependencies": {
- "playwright-core": "1.37.0",
+ "playwright-core": "1.37.1",
"vite": "^4.3.9",
- "@playwright/test": "1.37.0"
+ "@playwright/test": "1.37.1"
},
"bin": {
"playwright": "./cli.js"
diff --git a/packages/playwright-ct-react/package.json b/packages/playwright-ct-react/package.json
index 6ccc00be95321..691b1fd22cc0e 100644
--- a/packages/playwright-ct-react/package.json
+++ b/packages/playwright-ct-react/package.json
@@ -1,6 +1,6 @@
{
"name": "@playwright/experimental-ct-react",
- "version": "1.37.0",
+ "version": "1.37.1",
"description": "Playwright Component Testing for React",
"repository": "github:Microsoft/playwright",
"homepage": "https://playwright.dev",
@@ -26,7 +26,7 @@
}
},
"dependencies": {
- "@playwright/experimental-ct-core": "1.37.0",
+ "@playwright/experimental-ct-core": "1.37.1",
"@vitejs/plugin-react": "^4.0.0"
},
"bin": {
diff --git a/packages/playwright-ct-react17/package.json b/packages/playwright-ct-react17/package.json
index 041428be0ad2c..0205c513854c4 100644
--- a/packages/playwright-ct-react17/package.json
+++ b/packages/playwright-ct-react17/package.json
@@ -1,6 +1,6 @@
{
"name": "@playwright/experimental-ct-react17",
- "version": "1.37.0",
+ "version": "1.37.1",
"description": "Playwright Component Testing for React",
"repository": "github:Microsoft/playwright",
"homepage": "https://playwright.dev",
@@ -26,7 +26,7 @@
}
},
"dependencies": {
- "@playwright/experimental-ct-core": "1.37.0",
+ "@playwright/experimental-ct-core": "1.37.1",
"@vitejs/plugin-react": "^4.0.0"
},
"bin": {
diff --git a/packages/playwright-ct-solid/package.json b/packages/playwright-ct-solid/package.json
index 68495b7cb16c6..3684d9ca2973a 100644
--- a/packages/playwright-ct-solid/package.json
+++ b/packages/playwright-ct-solid/package.json
@@ -1,6 +1,6 @@
{
"name": "@playwright/experimental-ct-solid",
- "version": "1.37.0",
+ "version": "1.37.1",
"description": "Playwright Component Testing for Solid",
"repository": "github:Microsoft/playwright",
"homepage": "https://playwright.dev",
@@ -26,7 +26,7 @@
}
},
"dependencies": {
- "@playwright/experimental-ct-core": "1.37.0",
+ "@playwright/experimental-ct-core": "1.37.1",
"vite-plugin-solid": "^2.7.0"
},
"devDependencies": {
diff --git a/packages/playwright-ct-svelte/package.json b/packages/playwright-ct-svelte/package.json
index 0576a381c4353..e31d174186ae6 100644
--- a/packages/playwright-ct-svelte/package.json
+++ b/packages/playwright-ct-svelte/package.json
@@ -1,6 +1,6 @@
{
"name": "@playwright/experimental-ct-svelte",
- "version": "1.37.0",
+ "version": "1.37.1",
"description": "Playwright Component Testing for Svelte",
"repository": "github:Microsoft/playwright",
"homepage": "https://playwright.dev",
@@ -26,7 +26,7 @@
}
},
"dependencies": {
- "@playwright/experimental-ct-core": "1.37.0",
+ "@playwright/experimental-ct-core": "1.37.1",
"@sveltejs/vite-plugin-svelte": "^2.1.1"
},
"devDependencies": {
diff --git a/packages/playwright-ct-vue/package.json b/packages/playwright-ct-vue/package.json
index 7df8c62af666d..eafea9f94d9d5 100644
--- a/packages/playwright-ct-vue/package.json
+++ b/packages/playwright-ct-vue/package.json
@@ -1,6 +1,6 @@
{
"name": "@playwright/experimental-ct-vue",
- "version": "1.37.0",
+ "version": "1.37.1",
"description": "Playwright Component Testing for Vue",
"repository": "github:Microsoft/playwright",
"homepage": "https://playwright.dev",
@@ -26,7 +26,7 @@
}
},
"dependencies": {
- "@playwright/experimental-ct-core": "1.37.0",
+ "@playwright/experimental-ct-core": "1.37.1",
"@vitejs/plugin-vue": "^4.2.1"
},
"bin": {
diff --git a/packages/playwright-ct-vue2/package.json b/packages/playwright-ct-vue2/package.json
index da1694f6d39ae..d428bf01b4f26 100644
--- a/packages/playwright-ct-vue2/package.json
+++ b/packages/playwright-ct-vue2/package.json
@@ -1,6 +1,6 @@
{
"name": "@playwright/experimental-ct-vue2",
- "version": "1.37.0",
+ "version": "1.37.1",
"description": "Playwright Component Testing for Vue2",
"repository": "github:Microsoft/playwright",
"homepage": "https://playwright.dev",
@@ -26,7 +26,7 @@
}
},
"dependencies": {
- "@playwright/experimental-ct-core": "1.37.0",
+ "@playwright/experimental-ct-core": "1.37.1",
"@vitejs/plugin-vue2": "^2.2.0"
},
"devDependencies": {
diff --git a/packages/playwright-firefox/package.json b/packages/playwright-firefox/package.json
index c676915dc9158..b7b5a6b150d49 100644
--- a/packages/playwright-firefox/package.json
+++ b/packages/playwright-firefox/package.json
@@ -1,6 +1,6 @@
{
"name": "playwright-firefox",
- "version": "1.37.0",
+ "version": "1.37.1",
"description": "A high-level API to automate Firefox",
"repository": "github:Microsoft/playwright",
"homepage": "https://playwright.dev",
@@ -27,6 +27,6 @@
"install": "node install.js"
},
"dependencies": {
- "playwright-core": "1.37.0"
+ "playwright-core": "1.37.1"
}
}
diff --git a/packages/playwright-test/package.json b/packages/playwright-test/package.json
index 017b70a7a4c20..63628a1fa77e3 100644
--- a/packages/playwright-test/package.json
+++ b/packages/playwright-test/package.json
@@ -1,6 +1,6 @@
{
"name": "@playwright/test",
- "version": "1.37.0",
+ "version": "1.37.1",
"description": "A high-level API to automate web browsers",
"repository": "github:Microsoft/playwright",
"homepage": "https://playwright.dev",
@@ -41,7 +41,7 @@
"license": "Apache-2.0",
"dependencies": {
"@types/node": "*",
- "playwright-core": "1.37.0"
+ "playwright-core": "1.37.1"
},
"optionalDependencies": {
"fsevents": "2.3.2"
diff --git a/packages/playwright-test/src/plugins/webServerPlugin.ts b/packages/playwright-test/src/plugins/webServerPlugin.ts
index cfff7ad4416dd..ea7f079e032cb 100644
--- a/packages/playwright-test/src/plugins/webServerPlugin.ts
+++ b/packages/playwright-test/src/plugins/webServerPlugin.ts
@@ -117,7 +117,6 @@ export class WebServerPlugin implements TestRunnerPlugin {
this._reporter!.onStdErr?.(colors.dim('[WebServer] ') + line.toString());
});
launchedProcess.stdout!.on('data', line => {
- process.stdout.write(line);
if (debugWebServer.enabled || this._options.stdout === 'pipe')
this._reporter!.onStdOut?.(colors.dim('[WebServer] ') + line.toString());
});
diff --git a/packages/playwright-test/src/runner/projectUtils.ts b/packages/playwright-test/src/runner/projectUtils.ts
index b0af7ffeb4939..4469be3744285 100644
--- a/packages/playwright-test/src/runner/projectUtils.ts
+++ b/packages/playwright-test/src/runner/projectUtils.ts
@@ -70,8 +70,7 @@ export function buildProjectsClosure(projects: FullProjectInternal[], hasTests?:
throw error;
}
- const projectHasTests = hasTests ? hasTests(project) : true;
- if (!projectHasTests && depth === 0)
+ if (depth === 0 && hasTests && !hasTests(project))
return;
if (result.get(project) !== 'dependency')
diff --git a/packages/playwright-webkit/package.json b/packages/playwright-webkit/package.json
index 928ea2f44ab96..c76caf2c26772 100644
--- a/packages/playwright-webkit/package.json
+++ b/packages/playwright-webkit/package.json
@@ -1,6 +1,6 @@
{
"name": "playwright-webkit",
- "version": "1.37.0",
+ "version": "1.37.1",
"description": "A high-level API to automate WebKit",
"repository": "github:Microsoft/playwright",
"homepage": "https://playwright.dev",
@@ -27,6 +27,6 @@
"install": "node install.js"
},
"dependencies": {
- "playwright-core": "1.37.0"
+ "playwright-core": "1.37.1"
}
}
diff --git a/packages/playwright/package.json b/packages/playwright/package.json
index 2ddb0ac2429e4..ebb6a32c59eda 100644
--- a/packages/playwright/package.json
+++ b/packages/playwright/package.json
@@ -1,6 +1,6 @@
{
"name": "playwright",
- "version": "1.37.0",
+ "version": "1.37.1",
"description": "A high-level API to automate web browsers",
"repository": "github:Microsoft/playwright",
"homepage": "https://playwright.dev",
@@ -28,6 +28,6 @@
"install": "node install.js"
},
"dependencies": {
- "playwright-core": "1.37.0"
+ "playwright-core": "1.37.1"
}
}
diff --git a/tests/playwright-test/deps.spec.ts b/tests/playwright-test/deps.spec.ts
index 4e97cb4d09920..f2a4852c7032f 100644
--- a/tests/playwright-test/deps.spec.ts
+++ b/tests/playwright-test/deps.spec.ts
@@ -643,3 +643,50 @@ test('should not run deps for projects filtered with grep', async ({ runInlineTe
expect(result.passed).toBe(3);
expect(result.outputLines).toEqual(['setupB', 'projectB', 'teardownB']);
});
+
+test('should allow only in dependent', async ({ runInlineTest }) => {
+ const result = await runInlineTest({
+ 'playwright.config.ts': `
+ module.exports = {
+ projects: [
+ { name: 'setup', testMatch: '**/setup.ts' },
+ { name: 'project', dependencies: ['setup'] },
+ ],
+ };`,
+ 'setup.ts': `
+ import { test, expect } from '@playwright/test';
+ test('setup', async ({}) => {});
+ `,
+ 'a.spec.ts': `
+ import { test, expect } from '@playwright/test';
+ test.only('test', async ({}) => {
+ });
+ test('test 2', async ({}) => { expect(1).toBe(2); });
+ `,
+ });
+ expect(result.exitCode).toBe(0);
+ expect(result.passed).toBe(2);
+});
+
+test('should allow only in dependent (2)', async ({ runInlineTest }) => {
+ const result = await runInlineTest({
+ 'playwright.config.ts': `
+ module.exports = {
+ projects: [
+ { name: 'setup', testMatch: '**/setup.ts' },
+ { name: 'project', dependencies: ['setup'] },
+ ],
+ };`,
+ 'setup.ts': `
+ import { test, expect } from '@playwright/test';
+ test.only('setup', async ({}) => {});
+ `,
+ 'a.spec.ts': `
+ import { test, expect } from '@playwright/test';
+ test('test', async ({}) => { expect(1).toBe(2); });
+ test('test 2', async ({}) => { expect(1).toBe(2); });
+ `,
+ });
+ expect(result.exitCode).toBe(0);
+ expect(result.passed).toBe(1);
+});