playwright 1.56.0-alpha-2025-09-26 → 1.56.0-alpha-2025-09-27

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # 🎭 Playwright
2
2
 
3
- [![npm version](https://img.shields.io/npm/v/playwright.svg)](https://www.npmjs.com/package/playwright) <!-- GEN:chromium-version-badge -->[![Chromium version](https://img.shields.io/badge/chromium-141.0.7390.16-blue.svg?logo=google-chrome)](https://www.chromium.org/Home)<!-- GEN:stop --> <!-- GEN:firefox-version-badge -->[![Firefox version](https://img.shields.io/badge/firefox-142.0.1-blue.svg?logo=firefoxbrowser)](https://www.mozilla.org/en-US/firefox/new/)<!-- GEN:stop --> <!-- GEN:webkit-version-badge -->[![WebKit version](https://img.shields.io/badge/webkit-26.0-blue.svg?logo=safari)](https://webkit.org/)<!-- GEN:stop --> [![Join Discord](https://img.shields.io/badge/join-discord-informational)](https://aka.ms/playwright/discord)
3
+ [![npm version](https://img.shields.io/npm/v/playwright.svg)](https://www.npmjs.com/package/playwright) <!-- GEN:chromium-version-badge -->[![Chromium version](https://img.shields.io/badge/chromium-141.0.7390.37-blue.svg?logo=google-chrome)](https://www.chromium.org/Home)<!-- GEN:stop --> <!-- GEN:firefox-version-badge -->[![Firefox version](https://img.shields.io/badge/firefox-142.0.1-blue.svg?logo=firefoxbrowser)](https://www.mozilla.org/en-US/firefox/new/)<!-- GEN:stop --> <!-- GEN:webkit-version-badge -->[![WebKit version](https://img.shields.io/badge/webkit-26.0-blue.svg?logo=safari)](https://webkit.org/)<!-- GEN:stop --> [![Join Discord](https://img.shields.io/badge/join-discord-informational)](https://aka.ms/playwright/discord)
4
4
 
5
5
  ## [Documentation](https://playwright.dev) | [API reference](https://playwright.dev/docs/api/class-playwright)
6
6
 
@@ -8,7 +8,7 @@ Playwright is a framework for Web Testing and Automation. It allows testing [Chr
8
8
 
9
9
  | | Linux | macOS | Windows |
10
10
  | :--- | :---: | :---: | :---: |
11
- | Chromium <!-- GEN:chromium-version -->141.0.7390.16<!-- GEN:stop --> | :white_check_mark: | :white_check_mark: | :white_check_mark: |
11
+ | Chromium <!-- GEN:chromium-version -->141.0.7390.37<!-- GEN:stop --> | :white_check_mark: | :white_check_mark: | :white_check_mark: |
12
12
  | WebKit <!-- GEN:webkit-version -->26.0<!-- GEN:stop --> | :white_check_mark: | :white_check_mark: | :white_check_mark: |
13
13
  | Firefox <!-- GEN:firefox-version -->142.0.1<!-- GEN:stop --> | :white_check_mark: | :white_check_mark: | :white_check_mark: |
14
14
 
@@ -241,6 +241,7 @@ async function initVSCodeRepo() {
241
241
  type: "stdio",
242
242
  command: commonMcpServers.playwrightTest.command,
243
243
  args: commonMcpServers.playwrightTest.args,
244
+ cwd: "${workspaceFolder}",
244
245
  env: { "PLAYWRIGHT_MCP_TOOL_PREFIX": vscodeToolPrefix }
245
246
  };
246
247
  await writeFile(mcpJsonPath, JSON.stringify(mcpJson, null, 2));
@@ -138,7 +138,7 @@ class Context {
138
138
  await promise.then(async ({ browserContext, close }) => {
139
139
  if (this.config.saveTrace)
140
140
  await browserContext.tracing.stop();
141
- const videos = browserContext.pages().map((page) => page.video()).filter((video) => !!video);
141
+ const videos = this.config.saveVideo ? browserContext.pages().map((page) => page.video()).filter((video) => !!video) : [];
142
142
  await close(async () => {
143
143
  for (const video of videos) {
144
144
  const name = await this.outputFile((0, import_utils.dateAsFileName)("webm"), { origin: "code", reason: "Saving video" });
@@ -150,7 +150,7 @@ test.describe('Test group', () => {
150
150
  const candidateFiles = [];
151
151
  candidateFiles.push(import_path.default.resolve(testDir, params.seedFile));
152
152
  candidateFiles.push(import_path.default.resolve(configDir, params.seedFile));
153
- candidateFiles.push(import_path.default.resolve(process.cwd(), params.seedFile));
153
+ candidateFiles.push(import_path.default.resolve(context.rootPath, params.seedFile));
154
154
  for (const candidateFile of candidateFiles) {
155
155
  if (await (0, import_util.fileExistsAsync)(candidateFile)) {
156
156
  seedFile = candidateFile;
@@ -169,7 +169,7 @@ ${seedFileContent}
169
169
  ` });
170
170
  const result = await testRunner.runTests(reporter, {
171
171
  headed: !context.options?.headless,
172
- locations: [seedFile],
172
+ locations: ["/" + (0, import_utils.escapeRegExp)(seedFile) + "/"],
173
173
  projects: params.project ? [params.project] : void 0,
174
174
  timeout: 0,
175
175
  workers: 1,
@@ -119,17 +119,10 @@ class HtmlReporter {
119
119
  else if (process.env.PLAYWRIGHT_HTML_NO_COPY_PROMPT)
120
120
  noCopyPrompt = true;
121
121
  noCopyPrompt = noCopyPrompt || this._options.noCopyPrompt;
122
- let noFiles;
123
- if (process.env.PLAYWRIGHT_HTML_NO_FILES === "false" || process.env.PLAYWRIGHT_HTML_NO_FILES === "0")
124
- noFiles = false;
125
- else if (process.env.PLAYWRIGHT_HTML_NO_FILES)
126
- noFiles = true;
127
- noFiles = noFiles || this._options.noFiles;
128
122
  const builder = new HtmlBuilder(this.config, this._outputFolder, this._attachmentsBaseURL, {
129
123
  title: process.env.PLAYWRIGHT_HTML_TITLE || this._options.title,
130
124
  noSnippets,
131
- noCopyPrompt,
132
- noFiles
125
+ noCopyPrompt
133
126
  });
134
127
  this._buildResult = await builder.build(this.config.metadata, projectSuites, result, this._topLevelErrors);
135
128
  }
@@ -229,20 +222,8 @@ class HtmlBuilder {
229
222
  for (const projectSuite of projectSuites) {
230
223
  const projectName = projectSuite.project().name;
231
224
  for (const fileSuite of projectSuite.suites) {
232
- if (this._options.noFiles) {
233
- for (const describeSuite of fileSuite.suites) {
234
- const groupName = describeSuite.title;
235
- this._createEntryForSuite(data, projectName, describeSuite, groupName, true);
236
- }
237
- const hasTestsOutsideGroups = fileSuite.tests.length > 0;
238
- if (hasTestsOutsideGroups) {
239
- const fileName = "<anonymous>";
240
- this._createEntryForSuite(data, projectName, fileSuite, fileName, false);
241
- }
242
- } else {
243
- const fileName = this._relativeLocation(fileSuite.location).file;
244
- this._createEntryForSuite(data, projectName, fileSuite, fileName, true);
245
- }
225
+ const fileName = this._relativeLocation(fileSuite.location).file;
226
+ this._createEntryForSuite(data, projectName, fileSuite, fileName, true);
246
227
  }
247
228
  }
248
229
  if (!this._options.noSnippets)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "playwright",
3
- "version": "1.56.0-alpha-2025-09-26",
3
+ "version": "1.56.0-alpha-2025-09-27",
4
4
  "description": "A high-level API to automate web browsers",
5
5
  "repository": {
6
6
  "type": "git",
@@ -64,7 +64,7 @@
64
64
  },
65
65
  "license": "Apache-2.0",
66
66
  "dependencies": {
67
- "playwright-core": "1.56.0-alpha-2025-09-26"
67
+ "playwright-core": "1.56.0-alpha-2025-09-27"
68
68
  },
69
69
  "optionalDependencies": {
70
70
  "fsevents": "2.3.2"
package/types/test.d.ts CHANGED
@@ -31,7 +31,6 @@ export type HtmlReporterOptions = {
31
31
  title?: string;
32
32
  noSnippets?: boolean;
33
33
  noCopyPrompt?: boolean;
34
- noFiles?: boolean;
35
34
  };
36
35
 
37
36
  export type ReporterDescription = Readonly<