playwright 1.58.2 → 1.59.1

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.
Files changed (109) hide show
  1. package/README.md +7 -5
  2. package/ThirdPartyNotices.txt +10 -1133
  3. package/lib/agents/generateAgents.js +2 -4
  4. package/lib/common/config.js +4 -5
  5. package/lib/common/expectBundleImpl.js +221 -221
  6. package/lib/common/process.js +1 -0
  7. package/lib/common/test.js +10 -1
  8. package/lib/common/testType.js +3 -0
  9. package/lib/common/validators.js +38 -38
  10. package/lib/errorContext.js +121 -0
  11. package/lib/index.js +98 -60
  12. package/lib/isomorphic/teleReceiver.js +26 -9
  13. package/lib/isomorphic/testServerConnection.js +3 -5
  14. package/lib/matchers/matchers.js +2 -0
  15. package/lib/matchers/toMatchAriaSnapshot.js +5 -1
  16. package/lib/matchers/toMatchSnapshot.js +42 -35
  17. package/lib/mcp/test/browserBackend.js +45 -22
  18. package/lib/mcp/test/generatorTools.js +9 -9
  19. package/lib/mcp/test/plannerTools.js +17 -17
  20. package/lib/mcp/test/testBackend.js +27 -27
  21. package/lib/mcp/test/testContext.js +6 -8
  22. package/lib/mcp/test/testTools.js +9 -9
  23. package/lib/plugins/webServerPlugin.js +2 -1
  24. package/lib/program.js +34 -212
  25. package/lib/reportActions.js +80 -0
  26. package/lib/reporters/base.js +4 -5
  27. package/lib/reporters/blob.js +2 -2
  28. package/lib/reporters/github.js +1 -2
  29. package/lib/reporters/html.js +64 -31
  30. package/lib/reporters/junit.js +104 -15
  31. package/lib/reporters/line.js +1 -1
  32. package/lib/reporters/list.js +2 -3
  33. package/lib/reporters/merge.js +47 -26
  34. package/lib/reporters/multiplexer.js +6 -2
  35. package/lib/reporters/teleEmitter.js +2 -0
  36. package/lib/runner/dispatcher.js +6 -14
  37. package/lib/runner/loadUtils.js +11 -5
  38. package/lib/runner/projectUtils.js +1 -1
  39. package/lib/runner/reporters.js +5 -0
  40. package/lib/runner/tasks.js +11 -8
  41. package/lib/runner/testRunner.js +2 -2
  42. package/lib/runner/workerHost.js +0 -3
  43. package/lib/testActions.js +220 -0
  44. package/lib/transform/babelBundle.js +0 -3
  45. package/lib/transform/babelBundleImpl.js +134 -134
  46. package/lib/transform/compilationCache.js +0 -2
  47. package/lib/transform/esmLoader.js +8 -6
  48. package/lib/transform/transform.js +3 -10
  49. package/lib/utilsBundle.js +0 -7
  50. package/lib/utilsBundleImpl.js +48 -51
  51. package/lib/worker/fixtureRunner.js +2 -2
  52. package/lib/worker/testInfo.js +10 -14
  53. package/lib/worker/testTracing.js +12 -6
  54. package/lib/worker/timeoutManager.js +14 -3
  55. package/lib/worker/workerMain.js +24 -21
  56. package/package.json +2 -6
  57. package/types/test.d.ts +83 -12
  58. package/lib/mcp/browser/browserContextFactory.js +0 -329
  59. package/lib/mcp/browser/browserServerBackend.js +0 -84
  60. package/lib/mcp/browser/config.js +0 -421
  61. package/lib/mcp/browser/context.js +0 -244
  62. package/lib/mcp/browser/response.js +0 -278
  63. package/lib/mcp/browser/sessionLog.js +0 -75
  64. package/lib/mcp/browser/tab.js +0 -343
  65. package/lib/mcp/browser/tools/common.js +0 -65
  66. package/lib/mcp/browser/tools/console.js +0 -46
  67. package/lib/mcp/browser/tools/dialogs.js +0 -60
  68. package/lib/mcp/browser/tools/evaluate.js +0 -61
  69. package/lib/mcp/browser/tools/files.js +0 -58
  70. package/lib/mcp/browser/tools/form.js +0 -63
  71. package/lib/mcp/browser/tools/install.js +0 -72
  72. package/lib/mcp/browser/tools/keyboard.js +0 -107
  73. package/lib/mcp/browser/tools/mouse.js +0 -107
  74. package/lib/mcp/browser/tools/navigate.js +0 -71
  75. package/lib/mcp/browser/tools/network.js +0 -63
  76. package/lib/mcp/browser/tools/open.js +0 -57
  77. package/lib/mcp/browser/tools/pdf.js +0 -49
  78. package/lib/mcp/browser/tools/runCode.js +0 -78
  79. package/lib/mcp/browser/tools/screenshot.js +0 -93
  80. package/lib/mcp/browser/tools/snapshot.js +0 -173
  81. package/lib/mcp/browser/tools/tabs.js +0 -67
  82. package/lib/mcp/browser/tools/tool.js +0 -47
  83. package/lib/mcp/browser/tools/tracing.js +0 -74
  84. package/lib/mcp/browser/tools/utils.js +0 -94
  85. package/lib/mcp/browser/tools/verify.js +0 -143
  86. package/lib/mcp/browser/tools/wait.js +0 -63
  87. package/lib/mcp/browser/tools.js +0 -84
  88. package/lib/mcp/browser/watchdog.js +0 -44
  89. package/lib/mcp/config.d.js +0 -16
  90. package/lib/mcp/extension/cdpRelay.js +0 -351
  91. package/lib/mcp/extension/extensionContextFactory.js +0 -76
  92. package/lib/mcp/extension/protocol.js +0 -28
  93. package/lib/mcp/index.js +0 -61
  94. package/lib/mcp/log.js +0 -35
  95. package/lib/mcp/program.js +0 -111
  96. package/lib/mcp/sdk/exports.js +0 -28
  97. package/lib/mcp/sdk/http.js +0 -152
  98. package/lib/mcp/sdk/inProcessTransport.js +0 -71
  99. package/lib/mcp/sdk/server.js +0 -223
  100. package/lib/mcp/sdk/tool.js +0 -47
  101. package/lib/mcp/terminal/cli.js +0 -296
  102. package/lib/mcp/terminal/command.js +0 -56
  103. package/lib/mcp/terminal/commands.js +0 -333
  104. package/lib/mcp/terminal/daemon.js +0 -129
  105. package/lib/mcp/terminal/help.json +0 -32
  106. package/lib/mcp/terminal/helpGenerator.js +0 -88
  107. package/lib/mcp/terminal/socketConnection.js +0 -80
  108. package/lib/runner/storage.js +0 -91
  109. package/lib/transform/md.js +0 -221
@@ -53,12 +53,10 @@ class ClaudeGenerator {
53
53
  await import_fs.default.promises.mkdir(".claude/agents", { recursive: true });
54
54
  for (const agent of agents)
55
55
  await writeFile(`.claude/agents/${agent.name}.md`, ClaudeGenerator.agentSpec(agent), "\u{1F916}", "agent definition");
56
+ const mcpServer = process.platform === "win32" ? { command: "cmd", args: ["/c", "npx", "playwright", "run-test-mcp-server"] } : { command: "npx", args: ["playwright", "run-test-mcp-server"] };
56
57
  await writeFile(".mcp.json", JSON.stringify({
57
58
  mcpServers: {
58
- "playwright-test": {
59
- command: "npx",
60
- args: ["playwright", "run-test-mcp-server"]
61
- }
59
+ "playwright-test": mcpServer
62
60
  }
63
61
  }, null, 2), "\u{1F527}", "mcp configuration");
64
62
  initRepoDone();
@@ -49,6 +49,7 @@ class FullConfigInternal {
49
49
  this.projects = [];
50
50
  this.cliArgs = [];
51
51
  this.cliListOnly = false;
52
+ this.loadFileFilters = [];
52
53
  this.preOnlyTestFilters = [];
53
54
  this.postShardTestFilters = [];
54
55
  this.defineConfigWasUsed = false;
@@ -95,8 +96,6 @@ class FullConfigInternal {
95
96
  threshold: 3e5
96
97
  /* 5 minutes */
97
98
  }),
98
- // @ts-expect-error runAgents is hidden
99
- runAgents: takeFirst(configCLIOverrides.runAgents, "none"),
100
99
  shard: takeFirst(configCLIOverrides.shard, userConfig.shard, null),
101
100
  tags: globalTags,
102
101
  updateSnapshots: takeFirst(configCLIOverrides.updateSnapshots, userConfig.updateSnapshots, "missing"),
@@ -163,10 +162,11 @@ class FullProjectInternal {
163
162
  snapshotDir: takeFirst(pathResolve(configDir, projectConfig.snapshotDir), pathResolve(configDir, config.snapshotDir), testDir),
164
163
  testIgnore: takeFirst(projectConfig.testIgnore, config.testIgnore, []),
165
164
  testMatch: takeFirst(projectConfig.testMatch, config.testMatch, "**/*.@(spec|test).?(c|m)[jt]s?(x)"),
166
- timeout: takeFirst(configCLIOverrides.debug ? 0 : void 0, configCLIOverrides.timeout, projectConfig.timeout, config.timeout, defaultTimeout),
165
+ timeout: takeFirst(configCLIOverrides.debug === "inspector" ? 0 : void 0, configCLIOverrides.timeout, projectConfig.timeout, config.timeout, defaultTimeout),
167
166
  use: (0, import_util.mergeObjects)(config.use, projectConfig.use, configCLIOverrides.use),
168
167
  dependencies: projectConfig.dependencies || [],
169
- teardown: projectConfig.teardown
168
+ teardown: projectConfig.teardown,
169
+ ignoreSnapshots: takeFirst(configCLIOverrides.ignoreSnapshots, projectConfig.ignoreSnapshots, config.ignoreSnapshots, false)
170
170
  };
171
171
  this.fullyParallel = takeFirst(configCLIOverrides.fullyParallel, projectConfig.fullyParallel, config.fullyParallel, void 0);
172
172
  this.expect = takeFirst(projectConfig.expect, config.expect, {});
@@ -175,7 +175,6 @@ class FullProjectInternal {
175
175
  this.expect.toHaveScreenshot.stylePath = stylePaths.map((stylePath) => import_path.default.resolve(configDir, stylePath));
176
176
  }
177
177
  this.respectGitIgnore = takeFirst(projectConfig.respectGitIgnore, config.respectGitIgnore, !projectConfig.testDir && !config.testDir);
178
- this.ignoreSnapshots = takeFirst(configCLIOverrides.ignoreSnapshots, projectConfig.ignoreSnapshots, config.ignoreSnapshots, false);
179
178
  this.workers = projectConfig.workers ? resolveWorkers(projectConfig.workers) : void 0;
180
179
  if (configCLIOverrides.debug && this.workers)
181
180
  this.workers = 1;