@zohodesk/testinglibrary 3.2.11 → 3.2.13

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 (529) hide show
  1. package/build/common/searchFake/steps/searchFake.spec.js +2 -2
  2. package/npm-shrinkwrap.json +265 -253
  3. package/package.json +3 -3
  4. package/playwright-mcp-test/node_modules/.package-lock.json +54 -0
  5. package/playwright-mcp-test/node_modules/@playwright/mcp/LICENSE +202 -0
  6. package/playwright-mcp-test/node_modules/@playwright/mcp/README.md +907 -0
  7. package/playwright-mcp-test/node_modules/@playwright/mcp/cli.js +24 -0
  8. package/playwright-mcp-test/node_modules/@playwright/mcp/config.d.ts +174 -0
  9. package/playwright-mcp-test/node_modules/@playwright/mcp/index.d.ts +23 -0
  10. package/playwright-mcp-test/node_modules/@playwright/mcp/index.js +19 -0
  11. package/playwright-mcp-test/node_modules/@playwright/mcp/package.json +52 -0
  12. package/playwright-mcp-test/node_modules/playwright/LICENSE +202 -0
  13. package/playwright-mcp-test/node_modules/playwright/NOTICE +5 -0
  14. package/playwright-mcp-test/node_modules/playwright/README.md +168 -0
  15. package/playwright-mcp-test/node_modules/playwright/ThirdPartyNotices.txt +6277 -0
  16. package/playwright-mcp-test/node_modules/playwright/cli.js +19 -0
  17. package/playwright-mcp-test/node_modules/playwright/index.d.ts +17 -0
  18. package/playwright-mcp-test/node_modules/playwright/index.js +17 -0
  19. package/playwright-mcp-test/node_modules/playwright/index.mjs +18 -0
  20. package/playwright-mcp-test/node_modules/playwright/jsx-runtime.js +42 -0
  21. package/playwright-mcp-test/node_modules/playwright/jsx-runtime.mjs +21 -0
  22. package/playwright-mcp-test/node_modules/playwright/lib/agents/generateAgents.js +368 -0
  23. package/playwright-mcp-test/node_modules/playwright/lib/agents/generator.agent.md +101 -0
  24. package/playwright-mcp-test/node_modules/playwright/lib/agents/healer.agent.md +77 -0
  25. package/playwright-mcp-test/node_modules/playwright/lib/agents/planner.agent.md +138 -0
  26. package/playwright-mcp-test/node_modules/playwright/lib/agents/test-coverage.prompt.md +31 -0
  27. package/playwright-mcp-test/node_modules/playwright/lib/agents/test-generate.prompt.md +8 -0
  28. package/playwright-mcp-test/node_modules/playwright/lib/agents/test-heal.prompt.md +6 -0
  29. package/playwright-mcp-test/node_modules/playwright/lib/agents/test-plan.prompt.md +9 -0
  30. package/playwright-mcp-test/node_modules/playwright/lib/common/config.js +280 -0
  31. package/playwright-mcp-test/node_modules/playwright/lib/common/configLoader.js +344 -0
  32. package/playwright-mcp-test/node_modules/playwright/lib/common/esmLoaderHost.js +102 -0
  33. package/playwright-mcp-test/node_modules/playwright/lib/common/expectBundle.js +52 -0
  34. package/playwright-mcp-test/node_modules/playwright/lib/common/expectBundleImpl.js +389 -0
  35. package/playwright-mcp-test/node_modules/playwright/lib/common/fixtures.js +302 -0
  36. package/playwright-mcp-test/node_modules/playwright/lib/common/globals.js +58 -0
  37. package/playwright-mcp-test/node_modules/playwright/lib/common/ipc.js +60 -0
  38. package/playwright-mcp-test/node_modules/playwright/lib/common/poolBuilder.js +85 -0
  39. package/playwright-mcp-test/node_modules/playwright/lib/common/process.js +104 -0
  40. package/playwright-mcp-test/node_modules/playwright/lib/common/suiteUtils.js +140 -0
  41. package/playwright-mcp-test/node_modules/playwright/lib/common/test.js +321 -0
  42. package/playwright-mcp-test/node_modules/playwright/lib/common/testLoader.js +101 -0
  43. package/playwright-mcp-test/node_modules/playwright/lib/common/testType.js +298 -0
  44. package/playwright-mcp-test/node_modules/playwright/lib/common/validators.js +68 -0
  45. package/playwright-mcp-test/node_modules/playwright/lib/fsWatcher.js +67 -0
  46. package/playwright-mcp-test/node_modules/playwright/lib/index.js +682 -0
  47. package/playwright-mcp-test/node_modules/playwright/lib/internalsForTest.js +42 -0
  48. package/playwright-mcp-test/node_modules/playwright/lib/isomorphic/events.js +77 -0
  49. package/playwright-mcp-test/node_modules/playwright/lib/isomorphic/folders.js +30 -0
  50. package/playwright-mcp-test/node_modules/playwright/lib/isomorphic/stringInternPool.js +69 -0
  51. package/playwright-mcp-test/node_modules/playwright/lib/isomorphic/teleReceiver.js +508 -0
  52. package/playwright-mcp-test/node_modules/playwright/lib/isomorphic/teleSuiteUpdater.js +137 -0
  53. package/playwright-mcp-test/node_modules/playwright/lib/isomorphic/testServerConnection.js +211 -0
  54. package/playwright-mcp-test/node_modules/playwright/lib/isomorphic/testServerInterface.js +16 -0
  55. package/playwright-mcp-test/node_modules/playwright/lib/isomorphic/testTree.js +334 -0
  56. package/playwright-mcp-test/node_modules/playwright/lib/isomorphic/types.d.js +16 -0
  57. package/playwright-mcp-test/node_modules/playwright/lib/loader/loaderMain.js +59 -0
  58. package/playwright-mcp-test/node_modules/playwright/lib/matchers/expect.js +325 -0
  59. package/playwright-mcp-test/node_modules/playwright/lib/matchers/matcherHint.js +87 -0
  60. package/playwright-mcp-test/node_modules/playwright/lib/matchers/matchers.js +366 -0
  61. package/playwright-mcp-test/node_modules/playwright/lib/matchers/toBeTruthy.js +73 -0
  62. package/playwright-mcp-test/node_modules/playwright/lib/matchers/toEqual.js +99 -0
  63. package/playwright-mcp-test/node_modules/playwright/lib/matchers/toHaveURL.js +102 -0
  64. package/playwright-mcp-test/node_modules/playwright/lib/matchers/toMatchAriaSnapshot.js +159 -0
  65. package/playwright-mcp-test/node_modules/playwright/lib/matchers/toMatchSnapshot.js +341 -0
  66. package/playwright-mcp-test/node_modules/playwright/lib/matchers/toMatchText.js +99 -0
  67. package/playwright-mcp-test/node_modules/playwright/lib/mcp/browser/actions.d.js +16 -0
  68. package/playwright-mcp-test/node_modules/playwright/lib/mcp/browser/browserContextFactory.js +296 -0
  69. package/playwright-mcp-test/node_modules/playwright/lib/mcp/browser/browserServerBackend.js +76 -0
  70. package/playwright-mcp-test/node_modules/playwright/lib/mcp/browser/codegen.js +66 -0
  71. package/playwright-mcp-test/node_modules/playwright/lib/mcp/browser/config.js +385 -0
  72. package/playwright-mcp-test/node_modules/playwright/lib/mcp/browser/context.js +287 -0
  73. package/playwright-mcp-test/node_modules/playwright/lib/mcp/browser/response.js +228 -0
  74. package/playwright-mcp-test/node_modules/playwright/lib/mcp/browser/sessionLog.js +160 -0
  75. package/playwright-mcp-test/node_modules/playwright/lib/mcp/browser/tab.js +280 -0
  76. package/playwright-mcp-test/node_modules/playwright/lib/mcp/browser/tools/common.js +63 -0
  77. package/playwright-mcp-test/node_modules/playwright/lib/mcp/browser/tools/console.js +44 -0
  78. package/playwright-mcp-test/node_modules/playwright/lib/mcp/browser/tools/dialogs.js +60 -0
  79. package/playwright-mcp-test/node_modules/playwright/lib/mcp/browser/tools/evaluate.js +69 -0
  80. package/playwright-mcp-test/node_modules/playwright/lib/mcp/browser/tools/files.js +58 -0
  81. package/playwright-mcp-test/node_modules/playwright/lib/mcp/browser/tools/form.js +73 -0
  82. package/playwright-mcp-test/node_modules/playwright/lib/mcp/browser/tools/install.js +69 -0
  83. package/playwright-mcp-test/node_modules/playwright/lib/mcp/browser/tools/keyboard.js +84 -0
  84. package/playwright-mcp-test/node_modules/playwright/lib/mcp/browser/tools/mouse.js +107 -0
  85. package/playwright-mcp-test/node_modules/playwright/lib/mcp/browser/tools/navigate.js +62 -0
  86. package/playwright-mcp-test/node_modules/playwright/lib/mcp/browser/tools/network.js +54 -0
  87. package/playwright-mcp-test/node_modules/playwright/lib/mcp/browser/tools/pdf.js +59 -0
  88. package/playwright-mcp-test/node_modules/playwright/lib/mcp/browser/tools/screenshot.js +106 -0
  89. package/playwright-mcp-test/node_modules/playwright/lib/mcp/browser/tools/snapshot.js +181 -0
  90. package/playwright-mcp-test/node_modules/playwright/lib/mcp/browser/tools/tabs.js +67 -0
  91. package/playwright-mcp-test/node_modules/playwright/lib/mcp/browser/tools/tool.js +49 -0
  92. package/playwright-mcp-test/node_modules/playwright/lib/mcp/browser/tools/tracing.js +74 -0
  93. package/playwright-mcp-test/node_modules/playwright/lib/mcp/browser/tools/utils.js +89 -0
  94. package/playwright-mcp-test/node_modules/playwright/lib/mcp/browser/tools/verify.js +153 -0
  95. package/playwright-mcp-test/node_modules/playwright/lib/mcp/browser/tools/wait.js +63 -0
  96. package/playwright-mcp-test/node_modules/playwright/lib/mcp/browser/tools.js +80 -0
  97. package/playwright-mcp-test/node_modules/playwright/lib/mcp/browser/watchdog.js +44 -0
  98. package/playwright-mcp-test/node_modules/playwright/lib/mcp/config.d.js +16 -0
  99. package/playwright-mcp-test/node_modules/playwright/lib/mcp/extension/cdpRelay.js +351 -0
  100. package/playwright-mcp-test/node_modules/playwright/lib/mcp/extension/extensionContextFactory.js +75 -0
  101. package/playwright-mcp-test/node_modules/playwright/lib/mcp/extension/protocol.js +28 -0
  102. package/playwright-mcp-test/node_modules/playwright/lib/mcp/index.js +61 -0
  103. package/playwright-mcp-test/node_modules/playwright/lib/mcp/log.js +35 -0
  104. package/playwright-mcp-test/node_modules/playwright/lib/mcp/program.js +96 -0
  105. package/playwright-mcp-test/node_modules/playwright/lib/mcp/sdk/bundle.js +81 -0
  106. package/playwright-mcp-test/node_modules/playwright/lib/mcp/sdk/exports.js +32 -0
  107. package/playwright-mcp-test/node_modules/playwright/lib/mcp/sdk/http.js +187 -0
  108. package/playwright-mcp-test/node_modules/playwright/lib/mcp/sdk/inProcessTransport.js +71 -0
  109. package/playwright-mcp-test/node_modules/playwright/lib/mcp/sdk/mdb.js +206 -0
  110. package/playwright-mcp-test/node_modules/playwright/lib/mcp/sdk/proxyBackend.js +128 -0
  111. package/playwright-mcp-test/node_modules/playwright/lib/mcp/sdk/server.js +189 -0
  112. package/playwright-mcp-test/node_modules/playwright/lib/mcp/sdk/tool.js +51 -0
  113. package/playwright-mcp-test/node_modules/playwright/lib/mcp/test/browserBackend.js +98 -0
  114. package/playwright-mcp-test/node_modules/playwright/lib/mcp/test/generatorTools.js +122 -0
  115. package/playwright-mcp-test/node_modules/playwright/lib/mcp/test/plannerTools.js +46 -0
  116. package/playwright-mcp-test/node_modules/playwright/lib/mcp/test/seed.js +82 -0
  117. package/playwright-mcp-test/node_modules/playwright/lib/mcp/test/streams.js +39 -0
  118. package/playwright-mcp-test/node_modules/playwright/lib/mcp/test/testBackend.js +97 -0
  119. package/playwright-mcp-test/node_modules/playwright/lib/mcp/test/testContext.js +176 -0
  120. package/playwright-mcp-test/node_modules/playwright/lib/mcp/test/testTool.js +30 -0
  121. package/playwright-mcp-test/node_modules/playwright/lib/mcp/test/testTools.js +115 -0
  122. package/playwright-mcp-test/node_modules/playwright/lib/mcpBundleImpl.js +41 -0
  123. package/playwright-mcp-test/node_modules/playwright/lib/plugins/gitCommitInfoPlugin.js +198 -0
  124. package/playwright-mcp-test/node_modules/playwright/lib/plugins/index.js +28 -0
  125. package/playwright-mcp-test/node_modules/playwright/lib/plugins/webServerPlugin.js +209 -0
  126. package/playwright-mcp-test/node_modules/playwright/lib/program.js +411 -0
  127. package/playwright-mcp-test/node_modules/playwright/lib/reporters/base.js +609 -0
  128. package/playwright-mcp-test/node_modules/playwright/lib/reporters/blob.js +135 -0
  129. package/playwright-mcp-test/node_modules/playwright/lib/reporters/dot.js +82 -0
  130. package/playwright-mcp-test/node_modules/playwright/lib/reporters/empty.js +32 -0
  131. package/playwright-mcp-test/node_modules/playwright/lib/reporters/github.js +128 -0
  132. package/playwright-mcp-test/node_modules/playwright/lib/reporters/html.js +623 -0
  133. package/playwright-mcp-test/node_modules/playwright/lib/reporters/internalReporter.js +130 -0
  134. package/playwright-mcp-test/node_modules/playwright/lib/reporters/json.js +254 -0
  135. package/playwright-mcp-test/node_modules/playwright/lib/reporters/junit.js +232 -0
  136. package/playwright-mcp-test/node_modules/playwright/lib/reporters/line.js +113 -0
  137. package/playwright-mcp-test/node_modules/playwright/lib/reporters/list.js +235 -0
  138. package/playwright-mcp-test/node_modules/playwright/lib/reporters/listModeReporter.js +69 -0
  139. package/playwright-mcp-test/node_modules/playwright/lib/reporters/markdown.js +144 -0
  140. package/playwright-mcp-test/node_modules/playwright/lib/reporters/merge.js +541 -0
  141. package/playwright-mcp-test/node_modules/playwright/lib/reporters/multiplexer.js +104 -0
  142. package/playwright-mcp-test/node_modules/playwright/lib/reporters/reporterV2.js +102 -0
  143. package/playwright-mcp-test/node_modules/playwright/lib/reporters/teleEmitter.js +298 -0
  144. package/playwright-mcp-test/node_modules/playwright/lib/reporters/versions/blobV1.js +16 -0
  145. package/playwright-mcp-test/node_modules/playwright/lib/runner/dispatcher.js +491 -0
  146. package/playwright-mcp-test/node_modules/playwright/lib/runner/failureTracker.js +72 -0
  147. package/playwright-mcp-test/node_modules/playwright/lib/runner/lastRun.js +77 -0
  148. package/playwright-mcp-test/node_modules/playwright/lib/runner/loadUtils.js +334 -0
  149. package/playwright-mcp-test/node_modules/playwright/lib/runner/loaderHost.js +89 -0
  150. package/playwright-mcp-test/node_modules/playwright/lib/runner/processHost.js +161 -0
  151. package/playwright-mcp-test/node_modules/playwright/lib/runner/projectUtils.js +241 -0
  152. package/playwright-mcp-test/node_modules/playwright/lib/runner/rebase.js +189 -0
  153. package/playwright-mcp-test/node_modules/playwright/lib/runner/reporters.js +139 -0
  154. package/playwright-mcp-test/node_modules/playwright/lib/runner/sigIntWatcher.js +96 -0
  155. package/playwright-mcp-test/node_modules/playwright/lib/runner/taskRunner.js +127 -0
  156. package/playwright-mcp-test/node_modules/playwright/lib/runner/tasks.js +410 -0
  157. package/playwright-mcp-test/node_modules/playwright/lib/runner/testGroups.js +117 -0
  158. package/playwright-mcp-test/node_modules/playwright/lib/runner/testRunner.js +390 -0
  159. package/playwright-mcp-test/node_modules/playwright/lib/runner/testServer.js +264 -0
  160. package/playwright-mcp-test/node_modules/playwright/lib/runner/uiModeReporter.js +30 -0
  161. package/playwright-mcp-test/node_modules/playwright/lib/runner/vcs.js +72 -0
  162. package/playwright-mcp-test/node_modules/playwright/lib/runner/watchMode.js +395 -0
  163. package/playwright-mcp-test/node_modules/playwright/lib/runner/workerHost.js +95 -0
  164. package/playwright-mcp-test/node_modules/playwright/lib/third_party/pirates.js +62 -0
  165. package/playwright-mcp-test/node_modules/playwright/lib/third_party/tsconfig-loader.js +103 -0
  166. package/playwright-mcp-test/node_modules/playwright/lib/transform/babelBundle.js +43 -0
  167. package/playwright-mcp-test/node_modules/playwright/lib/transform/babelBundleImpl.js +461 -0
  168. package/playwright-mcp-test/node_modules/playwright/lib/transform/compilationCache.js +272 -0
  169. package/playwright-mcp-test/node_modules/playwright/lib/transform/esmLoader.js +104 -0
  170. package/playwright-mcp-test/node_modules/playwright/lib/transform/portTransport.js +67 -0
  171. package/playwright-mcp-test/node_modules/playwright/lib/transform/transform.js +293 -0
  172. package/playwright-mcp-test/node_modules/playwright/lib/util.js +403 -0
  173. package/playwright-mcp-test/node_modules/playwright/lib/utilsBundle.js +43 -0
  174. package/playwright-mcp-test/node_modules/playwright/lib/utilsBundleImpl.js +100 -0
  175. package/playwright-mcp-test/node_modules/playwright/lib/worker/fixtureRunner.js +258 -0
  176. package/playwright-mcp-test/node_modules/playwright/lib/worker/testInfo.js +514 -0
  177. package/playwright-mcp-test/node_modules/playwright/lib/worker/testTracing.js +344 -0
  178. package/playwright-mcp-test/node_modules/playwright/lib/worker/timeoutManager.js +174 -0
  179. package/playwright-mcp-test/node_modules/playwright/lib/worker/util.js +31 -0
  180. package/playwright-mcp-test/node_modules/playwright/lib/worker/workerMain.js +520 -0
  181. package/playwright-mcp-test/node_modules/playwright/package.json +72 -0
  182. package/playwright-mcp-test/node_modules/playwright/test.d.ts +18 -0
  183. package/playwright-mcp-test/node_modules/playwright/test.js +24 -0
  184. package/playwright-mcp-test/node_modules/playwright/test.mjs +33 -0
  185. package/playwright-mcp-test/node_modules/playwright/types/test.d.ts +10185 -0
  186. package/playwright-mcp-test/node_modules/playwright/types/testReporter.d.ts +821 -0
  187. package/playwright-mcp-test/node_modules/playwright-core/LICENSE +202 -0
  188. package/playwright-mcp-test/node_modules/playwright-core/NOTICE +5 -0
  189. package/playwright-mcp-test/node_modules/playwright-core/README.md +3 -0
  190. package/playwright-mcp-test/node_modules/playwright-core/ThirdPartyNotices.txt +1161 -0
  191. package/playwright-mcp-test/node_modules/playwright-core/bin/install_media_pack.ps1 +5 -0
  192. package/playwright-mcp-test/node_modules/playwright-core/bin/install_webkit_wsl.ps1 +35 -0
  193. package/playwright-mcp-test/node_modules/playwright-core/bin/reinstall_chrome_beta_linux.sh +42 -0
  194. package/playwright-mcp-test/node_modules/playwright-core/bin/reinstall_chrome_beta_mac.sh +13 -0
  195. package/playwright-mcp-test/node_modules/playwright-core/bin/reinstall_chrome_beta_win.ps1 +24 -0
  196. package/playwright-mcp-test/node_modules/playwright-core/bin/reinstall_chrome_stable_linux.sh +42 -0
  197. package/playwright-mcp-test/node_modules/playwright-core/bin/reinstall_chrome_stable_mac.sh +12 -0
  198. package/playwright-mcp-test/node_modules/playwright-core/bin/reinstall_chrome_stable_win.ps1 +24 -0
  199. package/playwright-mcp-test/node_modules/playwright-core/bin/reinstall_msedge_beta_linux.sh +48 -0
  200. package/playwright-mcp-test/node_modules/playwright-core/bin/reinstall_msedge_beta_mac.sh +11 -0
  201. package/playwright-mcp-test/node_modules/playwright-core/bin/reinstall_msedge_beta_win.ps1 +23 -0
  202. package/playwright-mcp-test/node_modules/playwright-core/bin/reinstall_msedge_dev_linux.sh +48 -0
  203. package/playwright-mcp-test/node_modules/playwright-core/bin/reinstall_msedge_dev_mac.sh +11 -0
  204. package/playwright-mcp-test/node_modules/playwright-core/bin/reinstall_msedge_dev_win.ps1 +23 -0
  205. package/playwright-mcp-test/node_modules/playwright-core/bin/reinstall_msedge_stable_linux.sh +48 -0
  206. package/playwright-mcp-test/node_modules/playwright-core/bin/reinstall_msedge_stable_mac.sh +11 -0
  207. package/playwright-mcp-test/node_modules/playwright-core/bin/reinstall_msedge_stable_win.ps1 +24 -0
  208. package/playwright-mcp-test/node_modules/playwright-core/browsers.json +80 -0
  209. package/playwright-mcp-test/node_modules/playwright-core/cli.js +18 -0
  210. package/playwright-mcp-test/node_modules/playwright-core/index.d.ts +17 -0
  211. package/playwright-mcp-test/node_modules/playwright-core/index.js +32 -0
  212. package/playwright-mcp-test/node_modules/playwright-core/index.mjs +28 -0
  213. package/playwright-mcp-test/node_modules/playwright-core/lib/androidServerImpl.js +65 -0
  214. package/playwright-mcp-test/node_modules/playwright-core/lib/browserServerImpl.js +120 -0
  215. package/playwright-mcp-test/node_modules/playwright-core/lib/cli/driver.js +97 -0
  216. package/playwright-mcp-test/node_modules/playwright-core/lib/cli/program.js +634 -0
  217. package/playwright-mcp-test/node_modules/playwright-core/lib/cli/programWithTestStub.js +74 -0
  218. package/playwright-mcp-test/node_modules/playwright-core/lib/client/accessibility.js +49 -0
  219. package/playwright-mcp-test/node_modules/playwright-core/lib/client/android.js +361 -0
  220. package/playwright-mcp-test/node_modules/playwright-core/lib/client/api.js +137 -0
  221. package/playwright-mcp-test/node_modules/playwright-core/lib/client/artifact.js +79 -0
  222. package/playwright-mcp-test/node_modules/playwright-core/lib/client/browser.js +163 -0
  223. package/playwright-mcp-test/node_modules/playwright-core/lib/client/browserContext.js +529 -0
  224. package/playwright-mcp-test/node_modules/playwright-core/lib/client/browserType.js +184 -0
  225. package/playwright-mcp-test/node_modules/playwright-core/lib/client/cdpSession.js +51 -0
  226. package/playwright-mcp-test/node_modules/playwright-core/lib/client/channelOwner.js +194 -0
  227. package/playwright-mcp-test/node_modules/playwright-core/lib/client/clientHelper.js +64 -0
  228. package/playwright-mcp-test/node_modules/playwright-core/lib/client/clientInstrumentation.js +55 -0
  229. package/playwright-mcp-test/node_modules/playwright-core/lib/client/clientStackTrace.js +69 -0
  230. package/playwright-mcp-test/node_modules/playwright-core/lib/client/clock.js +68 -0
  231. package/playwright-mcp-test/node_modules/playwright-core/lib/client/connection.js +314 -0
  232. package/playwright-mcp-test/node_modules/playwright-core/lib/client/consoleMessage.js +54 -0
  233. package/playwright-mcp-test/node_modules/playwright-core/lib/client/coverage.js +44 -0
  234. package/playwright-mcp-test/node_modules/playwright-core/lib/client/dialog.js +56 -0
  235. package/playwright-mcp-test/node_modules/playwright-core/lib/client/download.js +62 -0
  236. package/playwright-mcp-test/node_modules/playwright-core/lib/client/electron.js +138 -0
  237. package/playwright-mcp-test/node_modules/playwright-core/lib/client/elementHandle.js +281 -0
  238. package/playwright-mcp-test/node_modules/playwright-core/lib/client/errors.js +77 -0
  239. package/playwright-mcp-test/node_modules/playwright-core/lib/client/eventEmitter.js +314 -0
  240. package/playwright-mcp-test/node_modules/playwright-core/lib/client/events.js +99 -0
  241. package/playwright-mcp-test/node_modules/playwright-core/lib/client/fetch.js +369 -0
  242. package/playwright-mcp-test/node_modules/playwright-core/lib/client/fileChooser.js +46 -0
  243. package/playwright-mcp-test/node_modules/playwright-core/lib/client/fileUtils.js +34 -0
  244. package/playwright-mcp-test/node_modules/playwright-core/lib/client/frame.js +408 -0
  245. package/playwright-mcp-test/node_modules/playwright-core/lib/client/harRouter.js +87 -0
  246. package/playwright-mcp-test/node_modules/playwright-core/lib/client/input.js +84 -0
  247. package/playwright-mcp-test/node_modules/playwright-core/lib/client/jsHandle.js +109 -0
  248. package/playwright-mcp-test/node_modules/playwright-core/lib/client/jsonPipe.js +39 -0
  249. package/playwright-mcp-test/node_modules/playwright-core/lib/client/localUtils.js +60 -0
  250. package/playwright-mcp-test/node_modules/playwright-core/lib/client/locator.js +369 -0
  251. package/playwright-mcp-test/node_modules/playwright-core/lib/client/network.js +747 -0
  252. package/playwright-mcp-test/node_modules/playwright-core/lib/client/page.js +721 -0
  253. package/playwright-mcp-test/node_modules/playwright-core/lib/client/platform.js +74 -0
  254. package/playwright-mcp-test/node_modules/playwright-core/lib/client/playwright.js +71 -0
  255. package/playwright-mcp-test/node_modules/playwright-core/lib/client/selectors.js +55 -0
  256. package/playwright-mcp-test/node_modules/playwright-core/lib/client/stream.js +39 -0
  257. package/playwright-mcp-test/node_modules/playwright-core/lib/client/timeoutSettings.js +79 -0
  258. package/playwright-mcp-test/node_modules/playwright-core/lib/client/tracing.js +117 -0
  259. package/playwright-mcp-test/node_modules/playwright-core/lib/client/types.js +28 -0
  260. package/playwright-mcp-test/node_modules/playwright-core/lib/client/video.js +59 -0
  261. package/playwright-mcp-test/node_modules/playwright-core/lib/client/waiter.js +142 -0
  262. package/playwright-mcp-test/node_modules/playwright-core/lib/client/webError.js +39 -0
  263. package/playwright-mcp-test/node_modules/playwright-core/lib/client/webSocket.js +93 -0
  264. package/playwright-mcp-test/node_modules/playwright-core/lib/client/worker.js +63 -0
  265. package/playwright-mcp-test/node_modules/playwright-core/lib/client/writableStream.js +39 -0
  266. package/playwright-mcp-test/node_modules/playwright-core/lib/generated/bindingsControllerSource.js +28 -0
  267. package/playwright-mcp-test/node_modules/playwright-core/lib/generated/clockSource.js +28 -0
  268. package/playwright-mcp-test/node_modules/playwright-core/lib/generated/injectedScriptSource.js +28 -0
  269. package/playwright-mcp-test/node_modules/playwright-core/lib/generated/pollingRecorderSource.js +28 -0
  270. package/playwright-mcp-test/node_modules/playwright-core/lib/generated/storageScriptSource.js +28 -0
  271. package/playwright-mcp-test/node_modules/playwright-core/lib/generated/utilityScriptSource.js +28 -0
  272. package/playwright-mcp-test/node_modules/playwright-core/lib/generated/webSocketMockSource.js +336 -0
  273. package/playwright-mcp-test/node_modules/playwright-core/lib/inProcessFactory.js +60 -0
  274. package/playwright-mcp-test/node_modules/playwright-core/lib/inprocess.js +3 -0
  275. package/playwright-mcp-test/node_modules/playwright-core/lib/outofprocess.js +76 -0
  276. package/playwright-mcp-test/node_modules/playwright-core/lib/protocol/serializers.js +192 -0
  277. package/playwright-mcp-test/node_modules/playwright-core/lib/protocol/validator.js +2912 -0
  278. package/playwright-mcp-test/node_modules/playwright-core/lib/protocol/validatorPrimitives.js +193 -0
  279. package/playwright-mcp-test/node_modules/playwright-core/lib/remote/playwrightConnection.js +129 -0
  280. package/playwright-mcp-test/node_modules/playwright-core/lib/remote/playwrightServer.js +335 -0
  281. package/playwright-mcp-test/node_modules/playwright-core/lib/server/accessibility.js +69 -0
  282. package/playwright-mcp-test/node_modules/playwright-core/lib/server/android/android.js +465 -0
  283. package/playwright-mcp-test/node_modules/playwright-core/lib/server/android/backendAdb.js +177 -0
  284. package/playwright-mcp-test/node_modules/playwright-core/lib/server/artifact.js +127 -0
  285. package/playwright-mcp-test/node_modules/playwright-core/lib/server/bidi/bidiBrowser.js +490 -0
  286. package/playwright-mcp-test/node_modules/playwright-core/lib/server/bidi/bidiChromium.js +153 -0
  287. package/playwright-mcp-test/node_modules/playwright-core/lib/server/bidi/bidiConnection.js +212 -0
  288. package/playwright-mcp-test/node_modules/playwright-core/lib/server/bidi/bidiExecutionContext.js +221 -0
  289. package/playwright-mcp-test/node_modules/playwright-core/lib/server/bidi/bidiFirefox.js +130 -0
  290. package/playwright-mcp-test/node_modules/playwright-core/lib/server/bidi/bidiInput.js +146 -0
  291. package/playwright-mcp-test/node_modules/playwright-core/lib/server/bidi/bidiNetworkManager.js +383 -0
  292. package/playwright-mcp-test/node_modules/playwright-core/lib/server/bidi/bidiOverCdp.js +102 -0
  293. package/playwright-mcp-test/node_modules/playwright-core/lib/server/bidi/bidiPage.js +554 -0
  294. package/playwright-mcp-test/node_modules/playwright-core/lib/server/bidi/bidiPdf.js +106 -0
  295. package/playwright-mcp-test/node_modules/playwright-core/lib/server/bidi/third_party/bidiCommands.d.js +22 -0
  296. package/playwright-mcp-test/node_modules/playwright-core/lib/server/bidi/third_party/bidiDeserializer.js +98 -0
  297. package/playwright-mcp-test/node_modules/playwright-core/lib/server/bidi/third_party/bidiKeyboard.js +256 -0
  298. package/playwright-mcp-test/node_modules/playwright-core/lib/server/bidi/third_party/bidiProtocol.js +24 -0
  299. package/playwright-mcp-test/node_modules/playwright-core/lib/server/bidi/third_party/bidiProtocolCore.js +179 -0
  300. package/playwright-mcp-test/node_modules/playwright-core/lib/server/bidi/third_party/bidiProtocolPermissions.js +42 -0
  301. package/playwright-mcp-test/node_modules/playwright-core/lib/server/bidi/third_party/bidiSerializer.js +148 -0
  302. package/playwright-mcp-test/node_modules/playwright-core/lib/server/bidi/third_party/firefoxPrefs.js +259 -0
  303. package/playwright-mcp-test/node_modules/playwright-core/lib/server/browser.js +149 -0
  304. package/playwright-mcp-test/node_modules/playwright-core/lib/server/browserContext.js +695 -0
  305. package/playwright-mcp-test/node_modules/playwright-core/lib/server/browserType.js +328 -0
  306. package/playwright-mcp-test/node_modules/playwright-core/lib/server/callLog.js +82 -0
  307. package/playwright-mcp-test/node_modules/playwright-core/lib/server/chromium/appIcon.png +0 -0
  308. package/playwright-mcp-test/node_modules/playwright-core/lib/server/chromium/chromium.js +402 -0
  309. package/playwright-mcp-test/node_modules/playwright-core/lib/server/chromium/chromiumSwitches.js +95 -0
  310. package/playwright-mcp-test/node_modules/playwright-core/lib/server/chromium/crAccessibility.js +263 -0
  311. package/playwright-mcp-test/node_modules/playwright-core/lib/server/chromium/crBrowser.js +502 -0
  312. package/playwright-mcp-test/node_modules/playwright-core/lib/server/chromium/crConnection.js +202 -0
  313. package/playwright-mcp-test/node_modules/playwright-core/lib/server/chromium/crCoverage.js +235 -0
  314. package/playwright-mcp-test/node_modules/playwright-core/lib/server/chromium/crDevTools.js +113 -0
  315. package/playwright-mcp-test/node_modules/playwright-core/lib/server/chromium/crDragDrop.js +131 -0
  316. package/playwright-mcp-test/node_modules/playwright-core/lib/server/chromium/crExecutionContext.js +146 -0
  317. package/playwright-mcp-test/node_modules/playwright-core/lib/server/chromium/crInput.js +187 -0
  318. package/playwright-mcp-test/node_modules/playwright-core/lib/server/chromium/crNetworkManager.js +666 -0
  319. package/playwright-mcp-test/node_modules/playwright-core/lib/server/chromium/crPage.js +1069 -0
  320. package/playwright-mcp-test/node_modules/playwright-core/lib/server/chromium/crPdf.js +121 -0
  321. package/playwright-mcp-test/node_modules/playwright-core/lib/server/chromium/crProtocolHelper.js +145 -0
  322. package/playwright-mcp-test/node_modules/playwright-core/lib/server/chromium/crServiceWorker.js +123 -0
  323. package/playwright-mcp-test/node_modules/playwright-core/lib/server/chromium/defaultFontFamilies.js +162 -0
  324. package/playwright-mcp-test/node_modules/playwright-core/lib/server/chromium/protocol.d.js +16 -0
  325. package/playwright-mcp-test/node_modules/playwright-core/lib/server/chromium/videoRecorder.js +113 -0
  326. package/playwright-mcp-test/node_modules/playwright-core/lib/server/clock.js +149 -0
  327. package/playwright-mcp-test/node_modules/playwright-core/lib/server/codegen/csharp.js +327 -0
  328. package/playwright-mcp-test/node_modules/playwright-core/lib/server/codegen/java.js +274 -0
  329. package/playwright-mcp-test/node_modules/playwright-core/lib/server/codegen/javascript.js +270 -0
  330. package/playwright-mcp-test/node_modules/playwright-core/lib/server/codegen/jsonl.js +52 -0
  331. package/playwright-mcp-test/node_modules/playwright-core/lib/server/codegen/language.js +132 -0
  332. package/playwright-mcp-test/node_modules/playwright-core/lib/server/codegen/languages.js +68 -0
  333. package/playwright-mcp-test/node_modules/playwright-core/lib/server/codegen/python.js +279 -0
  334. package/playwright-mcp-test/node_modules/playwright-core/lib/server/codegen/types.js +16 -0
  335. package/playwright-mcp-test/node_modules/playwright-core/lib/server/console.js +53 -0
  336. package/playwright-mcp-test/node_modules/playwright-core/lib/server/cookieStore.js +206 -0
  337. package/playwright-mcp-test/node_modules/playwright-core/lib/server/debugController.js +191 -0
  338. package/playwright-mcp-test/node_modules/playwright-core/lib/server/debugger.js +119 -0
  339. package/playwright-mcp-test/node_modules/playwright-core/lib/server/deviceDescriptors.js +39 -0
  340. package/playwright-mcp-test/node_modules/playwright-core/lib/server/deviceDescriptorsSource.json +1779 -0
  341. package/playwright-mcp-test/node_modules/playwright-core/lib/server/dialog.js +116 -0
  342. package/playwright-mcp-test/node_modules/playwright-core/lib/server/dispatchers/androidDispatcher.js +325 -0
  343. package/playwright-mcp-test/node_modules/playwright-core/lib/server/dispatchers/artifactDispatcher.js +118 -0
  344. package/playwright-mcp-test/node_modules/playwright-core/lib/server/dispatchers/browserContextDispatcher.js +364 -0
  345. package/playwright-mcp-test/node_modules/playwright-core/lib/server/dispatchers/browserDispatcher.js +118 -0
  346. package/playwright-mcp-test/node_modules/playwright-core/lib/server/dispatchers/browserTypeDispatcher.js +64 -0
  347. package/playwright-mcp-test/node_modules/playwright-core/lib/server/dispatchers/cdpSessionDispatcher.js +44 -0
  348. package/playwright-mcp-test/node_modules/playwright-core/lib/server/dispatchers/debugControllerDispatcher.js +78 -0
  349. package/playwright-mcp-test/node_modules/playwright-core/lib/server/dispatchers/dialogDispatcher.js +47 -0
  350. package/playwright-mcp-test/node_modules/playwright-core/lib/server/dispatchers/dispatcher.js +371 -0
  351. package/playwright-mcp-test/node_modules/playwright-core/lib/server/dispatchers/electronDispatcher.js +89 -0
  352. package/playwright-mcp-test/node_modules/playwright-core/lib/server/dispatchers/elementHandlerDispatcher.js +181 -0
  353. package/playwright-mcp-test/node_modules/playwright-core/lib/server/dispatchers/frameDispatcher.js +227 -0
  354. package/playwright-mcp-test/node_modules/playwright-core/lib/server/dispatchers/jsHandleDispatcher.js +85 -0
  355. package/playwright-mcp-test/node_modules/playwright-core/lib/server/dispatchers/jsonPipeDispatcher.js +58 -0
  356. package/playwright-mcp-test/node_modules/playwright-core/lib/server/dispatchers/localUtilsDispatcher.js +149 -0
  357. package/playwright-mcp-test/node_modules/playwright-core/lib/server/dispatchers/networkDispatchers.js +213 -0
  358. package/playwright-mcp-test/node_modules/playwright-core/lib/server/dispatchers/pageDispatcher.js +401 -0
  359. package/playwright-mcp-test/node_modules/playwright-core/lib/server/dispatchers/playwrightDispatcher.js +108 -0
  360. package/playwright-mcp-test/node_modules/playwright-core/lib/server/dispatchers/streamDispatcher.js +67 -0
  361. package/playwright-mcp-test/node_modules/playwright-core/lib/server/dispatchers/tracingDispatcher.js +68 -0
  362. package/playwright-mcp-test/node_modules/playwright-core/lib/server/dispatchers/webSocketRouteDispatcher.js +165 -0
  363. package/playwright-mcp-test/node_modules/playwright-core/lib/server/dispatchers/writableStreamDispatcher.js +79 -0
  364. package/playwright-mcp-test/node_modules/playwright-core/lib/server/dom.js +806 -0
  365. package/playwright-mcp-test/node_modules/playwright-core/lib/server/download.js +70 -0
  366. package/playwright-mcp-test/node_modules/playwright-core/lib/server/electron/electron.js +270 -0
  367. package/playwright-mcp-test/node_modules/playwright-core/lib/server/electron/loader.js +29 -0
  368. package/playwright-mcp-test/node_modules/playwright-core/lib/server/errors.js +69 -0
  369. package/playwright-mcp-test/node_modules/playwright-core/lib/server/fetch.js +621 -0
  370. package/playwright-mcp-test/node_modules/playwright-core/lib/server/fileChooser.js +43 -0
  371. package/playwright-mcp-test/node_modules/playwright-core/lib/server/fileUploadUtils.js +84 -0
  372. package/playwright-mcp-test/node_modules/playwright-core/lib/server/firefox/ffAccessibility.js +238 -0
  373. package/playwright-mcp-test/node_modules/playwright-core/lib/server/firefox/ffBrowser.js +428 -0
  374. package/playwright-mcp-test/node_modules/playwright-core/lib/server/firefox/ffConnection.js +147 -0
  375. package/playwright-mcp-test/node_modules/playwright-core/lib/server/firefox/ffExecutionContext.js +150 -0
  376. package/playwright-mcp-test/node_modules/playwright-core/lib/server/firefox/ffInput.js +159 -0
  377. package/playwright-mcp-test/node_modules/playwright-core/lib/server/firefox/ffNetworkManager.js +256 -0
  378. package/playwright-mcp-test/node_modules/playwright-core/lib/server/firefox/ffPage.js +503 -0
  379. package/playwright-mcp-test/node_modules/playwright-core/lib/server/firefox/firefox.js +116 -0
  380. package/playwright-mcp-test/node_modules/playwright-core/lib/server/firefox/protocol.d.js +16 -0
  381. package/playwright-mcp-test/node_modules/playwright-core/lib/server/formData.js +147 -0
  382. package/playwright-mcp-test/node_modules/playwright-core/lib/server/frameSelectors.js +154 -0
  383. package/playwright-mcp-test/node_modules/playwright-core/lib/server/frames.js +1455 -0
  384. package/playwright-mcp-test/node_modules/playwright-core/lib/server/har/harRecorder.js +147 -0
  385. package/playwright-mcp-test/node_modules/playwright-core/lib/server/har/harTracer.js +607 -0
  386. package/playwright-mcp-test/node_modules/playwright-core/lib/server/harBackend.js +157 -0
  387. package/playwright-mcp-test/node_modules/playwright-core/lib/server/helper.js +96 -0
  388. package/playwright-mcp-test/node_modules/playwright-core/lib/server/index.js +58 -0
  389. package/playwright-mcp-test/node_modules/playwright-core/lib/server/input.js +273 -0
  390. package/playwright-mcp-test/node_modules/playwright-core/lib/server/instrumentation.js +69 -0
  391. package/playwright-mcp-test/node_modules/playwright-core/lib/server/javascript.js +291 -0
  392. package/playwright-mcp-test/node_modules/playwright-core/lib/server/launchApp.js +128 -0
  393. package/playwright-mcp-test/node_modules/playwright-core/lib/server/localUtils.js +214 -0
  394. package/playwright-mcp-test/node_modules/playwright-core/lib/server/macEditingCommands.js +143 -0
  395. package/playwright-mcp-test/node_modules/playwright-core/lib/server/network.js +629 -0
  396. package/playwright-mcp-test/node_modules/playwright-core/lib/server/page.js +867 -0
  397. package/playwright-mcp-test/node_modules/playwright-core/lib/server/pipeTransport.js +89 -0
  398. package/playwright-mcp-test/node_modules/playwright-core/lib/server/playwright.js +69 -0
  399. package/playwright-mcp-test/node_modules/playwright-core/lib/server/progress.js +112 -0
  400. package/playwright-mcp-test/node_modules/playwright-core/lib/server/protocolError.js +52 -0
  401. package/playwright-mcp-test/node_modules/playwright-core/lib/server/recorder/chat.js +161 -0
  402. package/playwright-mcp-test/node_modules/playwright-core/lib/server/recorder/recorderApp.js +387 -0
  403. package/playwright-mcp-test/node_modules/playwright-core/lib/server/recorder/recorderRunner.js +138 -0
  404. package/playwright-mcp-test/node_modules/playwright-core/lib/server/recorder/recorderSignalProcessor.js +83 -0
  405. package/playwright-mcp-test/node_modules/playwright-core/lib/server/recorder/recorderUtils.js +157 -0
  406. package/playwright-mcp-test/node_modules/playwright-core/lib/server/recorder/throttledFile.js +57 -0
  407. package/playwright-mcp-test/node_modules/playwright-core/lib/server/recorder.js +499 -0
  408. package/playwright-mcp-test/node_modules/playwright-core/lib/server/registry/browserFetcher.js +175 -0
  409. package/playwright-mcp-test/node_modules/playwright-core/lib/server/registry/dependencies.js +371 -0
  410. package/playwright-mcp-test/node_modules/playwright-core/lib/server/registry/index.js +1361 -0
  411. package/playwright-mcp-test/node_modules/playwright-core/lib/server/registry/nativeDeps.js +1280 -0
  412. package/playwright-mcp-test/node_modules/playwright-core/lib/server/registry/oopDownloadBrowserMain.js +124 -0
  413. package/playwright-mcp-test/node_modules/playwright-core/lib/server/screenshotter.js +333 -0
  414. package/playwright-mcp-test/node_modules/playwright-core/lib/server/selectors.js +112 -0
  415. package/playwright-mcp-test/node_modules/playwright-core/lib/server/socksClientCertificatesInterceptor.js +383 -0
  416. package/playwright-mcp-test/node_modules/playwright-core/lib/server/socksInterceptor.js +95 -0
  417. package/playwright-mcp-test/node_modules/playwright-core/lib/server/trace/recorder/snapshotter.js +147 -0
  418. package/playwright-mcp-test/node_modules/playwright-core/lib/server/trace/recorder/snapshotterInjected.js +541 -0
  419. package/playwright-mcp-test/node_modules/playwright-core/lib/server/trace/recorder/tracing.js +602 -0
  420. package/playwright-mcp-test/node_modules/playwright-core/lib/server/trace/test/inMemorySnapshotter.js +87 -0
  421. package/playwright-mcp-test/node_modules/playwright-core/lib/server/trace/viewer/traceViewer.js +230 -0
  422. package/playwright-mcp-test/node_modules/playwright-core/lib/server/transport.js +181 -0
  423. package/playwright-mcp-test/node_modules/playwright-core/lib/server/types.js +28 -0
  424. package/playwright-mcp-test/node_modules/playwright-core/lib/server/usKeyboardLayout.js +145 -0
  425. package/playwright-mcp-test/node_modules/playwright-core/lib/server/utils/ascii.js +44 -0
  426. package/playwright-mcp-test/node_modules/playwright-core/lib/server/utils/comparators.js +139 -0
  427. package/playwright-mcp-test/node_modules/playwright-core/lib/server/utils/crypto.js +216 -0
  428. package/playwright-mcp-test/node_modules/playwright-core/lib/server/utils/debug.js +42 -0
  429. package/playwright-mcp-test/node_modules/playwright-core/lib/server/utils/debugLogger.js +122 -0
  430. package/playwright-mcp-test/node_modules/playwright-core/lib/server/utils/env.js +73 -0
  431. package/playwright-mcp-test/node_modules/playwright-core/lib/server/utils/eventsHelper.js +39 -0
  432. package/playwright-mcp-test/node_modules/playwright-core/lib/server/utils/expectUtils.js +38 -0
  433. package/playwright-mcp-test/node_modules/playwright-core/lib/server/utils/fileUtils.js +191 -0
  434. package/playwright-mcp-test/node_modules/playwright-core/lib/server/utils/happyEyeballs.js +207 -0
  435. package/playwright-mcp-test/node_modules/playwright-core/lib/server/utils/hostPlatform.js +123 -0
  436. package/playwright-mcp-test/node_modules/playwright-core/lib/server/utils/httpServer.js +218 -0
  437. package/playwright-mcp-test/node_modules/playwright-core/lib/server/utils/imageUtils.js +146 -0
  438. package/playwright-mcp-test/node_modules/playwright-core/lib/server/utils/image_tools/colorUtils.js +89 -0
  439. package/playwright-mcp-test/node_modules/playwright-core/lib/server/utils/image_tools/compare.js +109 -0
  440. package/playwright-mcp-test/node_modules/playwright-core/lib/server/utils/image_tools/imageChannel.js +78 -0
  441. package/playwright-mcp-test/node_modules/playwright-core/lib/server/utils/image_tools/stats.js +102 -0
  442. package/playwright-mcp-test/node_modules/playwright-core/lib/server/utils/linuxUtils.js +71 -0
  443. package/playwright-mcp-test/node_modules/playwright-core/lib/server/utils/network.js +233 -0
  444. package/playwright-mcp-test/node_modules/playwright-core/lib/server/utils/nodePlatform.js +148 -0
  445. package/playwright-mcp-test/node_modules/playwright-core/lib/server/utils/pipeTransport.js +84 -0
  446. package/playwright-mcp-test/node_modules/playwright-core/lib/server/utils/processLauncher.js +241 -0
  447. package/playwright-mcp-test/node_modules/playwright-core/lib/server/utils/profiler.js +65 -0
  448. package/playwright-mcp-test/node_modules/playwright-core/lib/server/utils/socksProxy.js +511 -0
  449. package/playwright-mcp-test/node_modules/playwright-core/lib/server/utils/spawnAsync.js +41 -0
  450. package/playwright-mcp-test/node_modules/playwright-core/lib/server/utils/task.js +51 -0
  451. package/playwright-mcp-test/node_modules/playwright-core/lib/server/utils/userAgent.js +98 -0
  452. package/playwright-mcp-test/node_modules/playwright-core/lib/server/utils/wsServer.js +121 -0
  453. package/playwright-mcp-test/node_modules/playwright-core/lib/server/utils/zipFile.js +74 -0
  454. package/playwright-mcp-test/node_modules/playwright-core/lib/server/utils/zones.js +57 -0
  455. package/playwright-mcp-test/node_modules/playwright-core/lib/server/webkit/protocol.d.js +16 -0
  456. package/playwright-mcp-test/node_modules/playwright-core/lib/server/webkit/webkit.js +119 -0
  457. package/playwright-mcp-test/node_modules/playwright-core/lib/server/webkit/wkAccessibility.js +237 -0
  458. package/playwright-mcp-test/node_modules/playwright-core/lib/server/webkit/wkBrowser.js +339 -0
  459. package/playwright-mcp-test/node_modules/playwright-core/lib/server/webkit/wkConnection.js +149 -0
  460. package/playwright-mcp-test/node_modules/playwright-core/lib/server/webkit/wkExecutionContext.js +154 -0
  461. package/playwright-mcp-test/node_modules/playwright-core/lib/server/webkit/wkInput.js +181 -0
  462. package/playwright-mcp-test/node_modules/playwright-core/lib/server/webkit/wkInterceptableRequest.js +169 -0
  463. package/playwright-mcp-test/node_modules/playwright-core/lib/server/webkit/wkPage.js +1134 -0
  464. package/playwright-mcp-test/node_modules/playwright-core/lib/server/webkit/wkProvisionalPage.js +83 -0
  465. package/playwright-mcp-test/node_modules/playwright-core/lib/server/webkit/wkWorkers.js +104 -0
  466. package/playwright-mcp-test/node_modules/playwright-core/lib/server/webkit/wsl/webkit-wsl-transport-client.js +74 -0
  467. package/playwright-mcp-test/node_modules/playwright-core/lib/server/webkit/wsl/webkit-wsl-transport-server.js +113 -0
  468. package/playwright-mcp-test/node_modules/playwright-core/lib/third_party/pixelmatch.js +255 -0
  469. package/playwright-mcp-test/node_modules/playwright-core/lib/utils/isomorphic/ariaSnapshot.js +392 -0
  470. package/playwright-mcp-test/node_modules/playwright-core/lib/utils/isomorphic/assert.js +31 -0
  471. package/playwright-mcp-test/node_modules/playwright-core/lib/utils/isomorphic/colors.js +72 -0
  472. package/playwright-mcp-test/node_modules/playwright-core/lib/utils/isomorphic/cssParser.js +245 -0
  473. package/playwright-mcp-test/node_modules/playwright-core/lib/utils/isomorphic/cssTokenizer.js +1051 -0
  474. package/playwright-mcp-test/node_modules/playwright-core/lib/utils/isomorphic/headers.js +53 -0
  475. package/playwright-mcp-test/node_modules/playwright-core/lib/utils/isomorphic/locatorGenerators.js +689 -0
  476. package/playwright-mcp-test/node_modules/playwright-core/lib/utils/isomorphic/locatorParser.js +176 -0
  477. package/playwright-mcp-test/node_modules/playwright-core/lib/utils/isomorphic/locatorUtils.js +81 -0
  478. package/playwright-mcp-test/node_modules/playwright-core/lib/utils/isomorphic/manualPromise.js +114 -0
  479. package/playwright-mcp-test/node_modules/playwright-core/lib/utils/isomorphic/mimeType.js +459 -0
  480. package/playwright-mcp-test/node_modules/playwright-core/lib/utils/isomorphic/multimap.js +80 -0
  481. package/playwright-mcp-test/node_modules/playwright-core/lib/utils/isomorphic/protocolFormatter.js +81 -0
  482. package/playwright-mcp-test/node_modules/playwright-core/lib/utils/isomorphic/protocolMetainfo.js +321 -0
  483. package/playwright-mcp-test/node_modules/playwright-core/lib/utils/isomorphic/rtti.js +43 -0
  484. package/playwright-mcp-test/node_modules/playwright-core/lib/utils/isomorphic/selectorParser.js +386 -0
  485. package/playwright-mcp-test/node_modules/playwright-core/lib/utils/isomorphic/semaphore.js +54 -0
  486. package/playwright-mcp-test/node_modules/playwright-core/lib/utils/isomorphic/stackTrace.js +158 -0
  487. package/playwright-mcp-test/node_modules/playwright-core/lib/utils/isomorphic/stringUtils.js +155 -0
  488. package/playwright-mcp-test/node_modules/playwright-core/lib/utils/isomorphic/time.js +49 -0
  489. package/playwright-mcp-test/node_modules/playwright-core/lib/utils/isomorphic/timeoutRunner.js +66 -0
  490. package/playwright-mcp-test/node_modules/playwright-core/lib/utils/isomorphic/traceUtils.js +58 -0
  491. package/playwright-mcp-test/node_modules/playwright-core/lib/utils/isomorphic/types.js +16 -0
  492. package/playwright-mcp-test/node_modules/playwright-core/lib/utils/isomorphic/urlMatch.js +179 -0
  493. package/playwright-mcp-test/node_modules/playwright-core/lib/utils/isomorphic/utilityScriptSerializers.js +251 -0
  494. package/playwright-mcp-test/node_modules/playwright-core/lib/utils.js +109 -0
  495. package/playwright-mcp-test/node_modules/playwright-core/lib/utilsBundle.js +112 -0
  496. package/playwright-mcp-test/node_modules/playwright-core/lib/utilsBundleImpl/index.js +218 -0
  497. package/playwright-mcp-test/node_modules/playwright-core/lib/utilsBundleImpl/xdg-open +1066 -0
  498. package/playwright-mcp-test/node_modules/playwright-core/lib/vite/htmlReport/index.html +84 -0
  499. package/playwright-mcp-test/node_modules/playwright-core/lib/vite/recorder/assets/codeMirrorModule-C3UTv-Ge.css +1 -0
  500. package/playwright-mcp-test/node_modules/playwright-core/lib/vite/recorder/assets/codeMirrorModule-DX585GyR.js +25 -0
  501. package/playwright-mcp-test/node_modules/playwright-core/lib/vite/recorder/assets/codicon-DCmgc-ay.ttf +0 -0
  502. package/playwright-mcp-test/node_modules/playwright-core/lib/vite/recorder/assets/index-DjadjNw5.js +193 -0
  503. package/playwright-mcp-test/node_modules/playwright-core/lib/vite/recorder/assets/index-Ri0uHF7I.css +1 -0
  504. package/playwright-mcp-test/node_modules/playwright-core/lib/vite/recorder/index.html +29 -0
  505. package/playwright-mcp-test/node_modules/playwright-core/lib/vite/recorder/playwright-logo.svg +9 -0
  506. package/playwright-mcp-test/node_modules/playwright-core/lib/vite/traceViewer/assets/codeMirrorModule-Cw-6jrKz.js +25 -0
  507. package/playwright-mcp-test/node_modules/playwright-core/lib/vite/traceViewer/assets/defaultSettingsView-BZIhX7gh.js +266 -0
  508. package/playwright-mcp-test/node_modules/playwright-core/lib/vite/traceViewer/assets/xtermModule-CsJ4vdCR.js +9 -0
  509. package/playwright-mcp-test/node_modules/playwright-core/lib/vite/traceViewer/codeMirrorModule.C3UTv-Ge.css +1 -0
  510. package/playwright-mcp-test/node_modules/playwright-core/lib/vite/traceViewer/codicon.DCmgc-ay.ttf +0 -0
  511. package/playwright-mcp-test/node_modules/playwright-core/lib/vite/traceViewer/defaultSettingsView.BEjzWGz-.css +1 -0
  512. package/playwright-mcp-test/node_modules/playwright-core/lib/vite/traceViewer/index.Dk_obRs3.js +2 -0
  513. package/playwright-mcp-test/node_modules/playwright-core/lib/vite/traceViewer/index.I8N9v4jT.css +1 -0
  514. package/playwright-mcp-test/node_modules/playwright-core/lib/vite/traceViewer/index.html +43 -0
  515. package/playwright-mcp-test/node_modules/playwright-core/lib/vite/traceViewer/manifest.webmanifest +16 -0
  516. package/playwright-mcp-test/node_modules/playwright-core/lib/vite/traceViewer/playwright-logo.svg +9 -0
  517. package/playwright-mcp-test/node_modules/playwright-core/lib/vite/traceViewer/snapshot.html +21 -0
  518. package/playwright-mcp-test/node_modules/playwright-core/lib/vite/traceViewer/sw.bundle.js +3 -0
  519. package/playwright-mcp-test/node_modules/playwright-core/lib/vite/traceViewer/uiMode.Bai-qGIw.js +5 -0
  520. package/playwright-mcp-test/node_modules/playwright-core/lib/vite/traceViewer/uiMode.Btcz36p_.css +1 -0
  521. package/playwright-mcp-test/node_modules/playwright-core/lib/vite/traceViewer/uiMode.html +17 -0
  522. package/playwright-mcp-test/node_modules/playwright-core/lib/vite/traceViewer/xtermModule.DYP7pi_n.css +32 -0
  523. package/playwright-mcp-test/node_modules/playwright-core/lib/zipBundle.js +34 -0
  524. package/playwright-mcp-test/node_modules/playwright-core/lib/zipBundleImpl.js +5 -0
  525. package/playwright-mcp-test/node_modules/playwright-core/package.json +42 -0
  526. package/playwright-mcp-test/node_modules/playwright-core/types/protocol.d.ts +23130 -0
  527. package/playwright-mcp-test/node_modules/playwright-core/types/structs.d.ts +45 -0
  528. package/playwright-mcp-test/node_modules/playwright-core/types/types.d.ts +22872 -0
  529. package/playwright-mcp-test/package-lock.json +76 -0
@@ -0,0 +1,907 @@
1
+ ## Playwright MCP
2
+
3
+ A Model Context Protocol (MCP) server that provides browser automation capabilities using [Playwright](https://playwright.dev). This server enables LLMs to interact with web pages through structured accessibility snapshots, bypassing the need for screenshots or visually-tuned models.
4
+
5
+ ### Key Features
6
+
7
+ - **Fast and lightweight**. Uses Playwright's accessibility tree, not pixel-based input.
8
+ - **LLM-friendly**. No vision models needed, operates purely on structured data.
9
+ - **Deterministic tool application**. Avoids ambiguity common with screenshot-based approaches.
10
+
11
+ ### Requirements
12
+ - Node.js 18 or newer
13
+ - VS Code, Cursor, Windsurf, Claude Desktop, Goose or any other MCP client
14
+
15
+ <!--
16
+ // Generate using:
17
+ node utils/generate-links.js
18
+ -->
19
+
20
+ ### Getting started
21
+
22
+ First, install the Playwright MCP server with your client.
23
+
24
+ **Standard config** works in most of the tools:
25
+
26
+ ```js
27
+ {
28
+ "mcpServers": {
29
+ "playwright": {
30
+ "command": "npx",
31
+ "args": [
32
+ "@playwright/mcp@latest"
33
+ ]
34
+ }
35
+ }
36
+ }
37
+ ```
38
+
39
+ [<img src="https://img.shields.io/badge/VS_Code-VS_Code?style=flat-square&label=Install%20Server&color=0098FF" alt="Install in VS Code">](https://insiders.vscode.dev/redirect?url=vscode%3Amcp%2Finstall%3F%257B%2522name%2522%253A%2522playwright%2522%252C%2522command%2522%253A%2522npx%2522%252C%2522args%2522%253A%255B%2522%2540playwright%252Fmcp%2540latest%2522%255D%257D) [<img alt="Install in VS Code Insiders" src="https://img.shields.io/badge/VS_Code_Insiders-VS_Code_Insiders?style=flat-square&label=Install%20Server&color=24bfa5">](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Amcp%2Finstall%3F%257B%2522name%2522%253A%2522playwright%2522%252C%2522command%2522%253A%2522npx%2522%252C%2522args%2522%253A%255B%2522%2540playwright%252Fmcp%2540latest%2522%255D%257D)
40
+
41
+ <details>
42
+ <summary>Amp</summary>
43
+
44
+ Add via the Amp VS Code extension settings screen or by updating your settings.json file:
45
+
46
+ ```json
47
+ "amp.mcpServers": {
48
+ "playwright": {
49
+ "command": "npx",
50
+ "args": [
51
+ "@playwright/mcp@latest"
52
+ ]
53
+ }
54
+ }
55
+ ```
56
+
57
+ **Amp CLI Setup:**
58
+
59
+ Add via the `amp mcp add`command below
60
+
61
+ ```bash
62
+ amp mcp add playwright -- npx @playwright/mcp@latest
63
+ ```
64
+
65
+ </details>
66
+
67
+ <details>
68
+ <summary>Claude Code</summary>
69
+
70
+ Use the Claude Code CLI to add the Playwright MCP server:
71
+
72
+ ```bash
73
+ claude mcp add playwright npx @playwright/mcp@latest
74
+ ```
75
+ </details>
76
+
77
+ <details>
78
+ <summary>Claude Desktop</summary>
79
+
80
+ Follow the MCP install [guide](https://modelcontextprotocol.io/quickstart/user), use the standard config above.
81
+
82
+ </details>
83
+
84
+ <details>
85
+ <summary>Codex</summary>
86
+
87
+ Create or edit the configuration file `~/.codex/config.toml` and add:
88
+
89
+ ```toml
90
+ [mcp_servers.playwright]
91
+ command = "npx"
92
+ args = ["@playwright/mcp@latest"]
93
+ ```
94
+
95
+ For more information, see the [Codex MCP documentation](https://github.com/openai/codex/blob/main/codex-rs/config.md#mcp_servers).
96
+
97
+ </details>
98
+
99
+ <details>
100
+ <summary>Cursor</summary>
101
+
102
+ #### Click the button to install:
103
+
104
+ [<img src="https://cursor.com/deeplink/mcp-install-dark.svg" alt="Install in Cursor">](https://cursor.com/en/install-mcp?name=Playwright&config=eyJjb21tYW5kIjoibnB4IEBwbGF5d3JpZ2h0L21jcEBsYXRlc3QifQ%3D%3D)
105
+
106
+ #### Or install manually:
107
+
108
+ Go to `Cursor Settings` -> `MCP` -> `Add new MCP Server`. Name to your liking, use `command` type with the command `npx @playwright/mcp@latest`. You can also verify config or add command like arguments via clicking `Edit`.
109
+
110
+ </details>
111
+
112
+ <details>
113
+ <summary>Gemini CLI</summary>
114
+
115
+ Follow the MCP install [guide](https://github.com/google-gemini/gemini-cli/blob/main/docs/tools/mcp-server.md#configure-the-mcp-server-in-settingsjson), use the standard config above.
116
+
117
+ </details>
118
+
119
+ <details>
120
+ <summary>Goose</summary>
121
+
122
+ #### Click the button to install:
123
+
124
+ [![Install in Goose](https://block.github.io/goose/img/extension-install-dark.svg)](https://block.github.io/goose/extension?cmd=npx&arg=%40playwright%2Fmcp%40latest&id=playwright&name=Playwright&description=Interact%20with%20web%20pages%20through%20structured%20accessibility%20snapshots%20using%20Playwright)
125
+
126
+ #### Or install manually:
127
+
128
+ Go to `Advanced settings` -> `Extensions` -> `Add custom extension`. Name to your liking, use type `STDIO`, and set the `command` to `npx @playwright/mcp`. Click "Add Extension".
129
+ </details>
130
+
131
+ <details>
132
+ <summary>Kiro</summary>
133
+
134
+ Follow the MCP Servers [documentation](https://kiro.dev/docs/mcp/). For example in `.kiro/settings/mcp.json`:
135
+
136
+ ```json
137
+ {
138
+ "mcpServers": {
139
+ "playwright": {
140
+ "command": "npx",
141
+ "args": [
142
+ "@playwright/mcp@latest"
143
+ ]
144
+ }
145
+ }
146
+ }
147
+ ```
148
+ </details>
149
+
150
+ <details>
151
+ <summary>LM Studio</summary>
152
+
153
+ #### Click the button to install:
154
+
155
+ [![Add MCP Server playwright to LM Studio](https://files.lmstudio.ai/deeplink/mcp-install-light.svg)](https://lmstudio.ai/install-mcp?name=playwright&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyJAcGxheXdyaWdodC9tY3BAbGF0ZXN0Il19)
156
+
157
+ #### Or install manually:
158
+
159
+ Go to `Program` in the right sidebar -> `Install` -> `Edit mcp.json`. Use the standard config above.
160
+ </details>
161
+
162
+ <details>
163
+ <summary>opencode</summary>
164
+
165
+ Follow the MCP Servers [documentation](https://opencode.ai/docs/mcp-servers/). For example in `~/.config/opencode/opencode.json`:
166
+
167
+ ```json
168
+ {
169
+ "$schema": "https://opencode.ai/config.json",
170
+ "mcp": {
171
+ "playwright": {
172
+ "type": "local",
173
+ "command": [
174
+ "npx",
175
+ "@playwright/mcp@latest"
176
+ ],
177
+ "enabled": true
178
+ }
179
+ }
180
+ }
181
+
182
+ ```
183
+ </details>
184
+
185
+ <details>
186
+ <summary>Qodo Gen</summary>
187
+
188
+ Open [Qodo Gen](https://docs.qodo.ai/qodo-documentation/qodo-gen) chat panel in VSCode or IntelliJ → Connect more tools → + Add new MCP → Paste the standard config above.
189
+
190
+ Click <code>Save</code>.
191
+ </details>
192
+
193
+ <details>
194
+ <summary>VS Code</summary>
195
+
196
+ #### Click the button to install:
197
+
198
+ [<img src="https://img.shields.io/badge/VS_Code-VS_Code?style=flat-square&label=Install%20Server&color=0098FF" alt="Install in VS Code">](https://insiders.vscode.dev/redirect?url=vscode%3Amcp%2Finstall%3F%257B%2522name%2522%253A%2522playwright%2522%252C%2522command%2522%253A%2522npx%2522%252C%2522args%2522%253A%255B%2522%2540playwright%252Fmcp%2540latest%2522%255D%257D) [<img alt="Install in VS Code Insiders" src="https://img.shields.io/badge/VS_Code_Insiders-VS_Code_Insiders?style=flat-square&label=Install%20Server&color=24bfa5">](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Amcp%2Finstall%3F%257B%2522name%2522%253A%2522playwright%2522%252C%2522command%2522%253A%2522npx%2522%252C%2522args%2522%253A%255B%2522%2540playwright%252Fmcp%2540latest%2522%255D%257D)
199
+
200
+ #### Or install manually:
201
+
202
+ Follow the MCP install [guide](https://code.visualstudio.com/docs/copilot/chat/mcp-servers#_add-an-mcp-server), use the standard config above. You can also install the Playwright MCP server using the VS Code CLI:
203
+
204
+ ```bash
205
+ # For VS Code
206
+ code --add-mcp '{"name":"playwright","command":"npx","args":["@playwright/mcp@latest"]}'
207
+ ```
208
+
209
+ After installation, the Playwright MCP server will be available for use with your GitHub Copilot agent in VS Code.
210
+ </details>
211
+
212
+ <details>
213
+ <summary>Warp</summary>
214
+
215
+ Go to `Settings` -> `AI` -> `Manage MCP Servers` -> `+ Add` to [add an MCP Server](https://docs.warp.dev/knowledge-and-collaboration/mcp#adding-an-mcp-server). Use the standard config above.
216
+
217
+ Alternatively, use the slash command `/add-mcp` in the Warp prompt and paste the standard config from above:
218
+ ```js
219
+ {
220
+ "mcpServers": {
221
+ "playwright": {
222
+ "command": "npx",
223
+ "args": [
224
+ "@playwright/mcp@latest"
225
+ ]
226
+ }
227
+ }
228
+ }
229
+ ```
230
+
231
+ </details>
232
+
233
+ <details>
234
+ <summary>Windsurf</summary>
235
+
236
+ Follow Windsurf MCP [documentation](https://docs.windsurf.com/windsurf/cascade/mcp). Use the standard config above.
237
+
238
+ </details>
239
+
240
+ ### Configuration
241
+
242
+ Playwright MCP server supports following arguments. They can be provided in the JSON configuration above, as a part of the `"args"` list:
243
+
244
+ <!--- Options generated by update-readme.js -->
245
+
246
+ ```
247
+ > npx @playwright/mcp@latest --help
248
+ --allowed-hosts <hosts...> comma-separated list of hosts this
249
+ server is allowed to serve from.
250
+ Defaults to the host the server is bound
251
+ to. Pass '*' to disable the host check.
252
+ --allowed-origins <origins> semicolon-separated list of origins to
253
+ allow the browser to request. Default is
254
+ to allow all.
255
+ --blocked-origins <origins> semicolon-separated list of origins to
256
+ block the browser from requesting.
257
+ Blocklist is evaluated before allowlist.
258
+ If used without the allowlist, requests
259
+ not matching the blocklist are still
260
+ allowed.
261
+ --block-service-workers block service workers
262
+ --browser <browser> browser or chrome channel to use,
263
+ possible values: chrome, firefox,
264
+ webkit, msedge.
265
+ --caps <caps> comma-separated list of additional
266
+ capabilities to enable, possible values:
267
+ vision, pdf.
268
+ --cdp-endpoint <endpoint> CDP endpoint to connect to.
269
+ --cdp-header <headers...> CDP headers to send with the connect
270
+ request, multiple can be specified.
271
+ --config <path> path to the configuration file.
272
+ --device <device> device to emulate, for example: "iPhone
273
+ 15"
274
+ --executable-path <path> path to the browser executable.
275
+ --extension Connect to a running browser instance
276
+ (Edge/Chrome only). Requires the
277
+ "Playwright MCP Bridge" browser
278
+ extension to be installed.
279
+ --grant-permissions <permissions...> List of permissions to grant to the
280
+ browser context, for example
281
+ "geolocation", "clipboard-read",
282
+ "clipboard-write".
283
+ --headless run browser in headless mode, headed by
284
+ default
285
+ --host <host> host to bind server to. Default is
286
+ localhost. Use 0.0.0.0 to bind to all
287
+ interfaces.
288
+ --ignore-https-errors ignore https errors
289
+ --init-script <path...> path to JavaScript file to add as an
290
+ initialization script. The script will
291
+ be evaluated in every page before any of
292
+ the page's scripts. Can be specified
293
+ multiple times.
294
+ --isolated keep the browser profile in memory, do
295
+ not save it to disk.
296
+ --image-responses <mode> whether to send image responses to the
297
+ client. Can be "allow" or "omit",
298
+ Defaults to "allow".
299
+ --no-sandbox disable the sandbox for all process
300
+ types that are normally sandboxed.
301
+ --output-dir <path> path to the directory for output files.
302
+ --port <port> port to listen on for SSE transport.
303
+ --proxy-bypass <bypass> comma-separated domains to bypass proxy,
304
+ for example
305
+ ".com,chromium.org,.domain.com"
306
+ --proxy-server <proxy> specify proxy server, for example
307
+ "http://myproxy:3128" or
308
+ "socks5://myproxy:8080"
309
+ --save-session Whether to save the Playwright MCP
310
+ session into the output directory.
311
+ --save-trace Whether to save the Playwright Trace of
312
+ the session into the output directory.
313
+ --save-video <size> Whether to save the video of the session
314
+ into the output directory. For example
315
+ "--save-video=800x600"
316
+ --secrets <path> path to a file containing secrets in the
317
+ dotenv format
318
+ --shared-browser-context reuse the same browser context between
319
+ all connected HTTP clients.
320
+ --storage-state <path> path to the storage state file for
321
+ isolated sessions.
322
+ --test-id-attribute <attribute> specify the attribute to use for test
323
+ ids, defaults to "data-testid"
324
+ --timeout-action <timeout> specify action timeout in milliseconds,
325
+ defaults to 5000ms
326
+ --timeout-navigation <timeout> specify navigation timeout in
327
+ milliseconds, defaults to 60000ms
328
+ --user-agent <ua string> specify user agent string
329
+ --user-data-dir <path> path to the user data directory. If not
330
+ specified, a temporary directory will be
331
+ created.
332
+ --viewport-size <size> specify browser viewport size in pixels,
333
+ for example "1280x720"
334
+ ```
335
+
336
+ <!--- End of options generated section -->
337
+
338
+ ### User profile
339
+
340
+ You can run Playwright MCP with persistent profile like a regular browser (default), in isolated contexts for testing sessions, or connect to your existing browser using the browser extension.
341
+
342
+ **Persistent profile**
343
+
344
+ All the logged in information will be stored in the persistent profile, you can delete it between sessions if you'd like to clear the offline state.
345
+ Persistent profile is located at the following locations and you can override it with the `--user-data-dir` argument.
346
+
347
+ ```bash
348
+ # Windows
349
+ %USERPROFILE%\AppData\Local\ms-playwright\mcp-{channel}-profile
350
+
351
+ # macOS
352
+ - ~/Library/Caches/ms-playwright/mcp-{channel}-profile
353
+
354
+ # Linux
355
+ - ~/.cache/ms-playwright/mcp-{channel}-profile
356
+ ```
357
+
358
+ **Isolated**
359
+
360
+ In the isolated mode, each session is started in the isolated profile. Every time you ask MCP to close the browser,
361
+ the session is closed and all the storage state for this session is lost. You can provide initial storage state
362
+ to the browser via the config's `contextOptions` or via the `--storage-state` argument. Learn more about the storage
363
+ state [here](https://playwright.dev/docs/auth).
364
+
365
+ ```js
366
+ {
367
+ "mcpServers": {
368
+ "playwright": {
369
+ "command": "npx",
370
+ "args": [
371
+ "@playwright/mcp@latest",
372
+ "--isolated",
373
+ "--storage-state={path/to/storage.json}"
374
+ ]
375
+ }
376
+ }
377
+ }
378
+ ```
379
+
380
+ **Browser Extension**
381
+
382
+ The Playwright MCP Chrome Extension allows you to connect to existing browser tabs and leverage your logged-in sessions and browser state. See [extension/README.md](extension/README.md) for installation and setup instructions.
383
+
384
+ ### Configuration file
385
+
386
+ The Playwright MCP server can be configured using a JSON configuration file. You can specify the configuration file
387
+ using the `--config` command line option:
388
+
389
+ ```bash
390
+ npx @playwright/mcp@latest --config path/to/config.json
391
+ ```
392
+
393
+ <details>
394
+ <summary>Configuration file schema</summary>
395
+
396
+ ```typescript
397
+ {
398
+ // Browser configuration
399
+ browser?: {
400
+ // Browser type to use (chromium, firefox, or webkit)
401
+ browserName?: 'chromium' | 'firefox' | 'webkit';
402
+
403
+ // Keep the browser profile in memory, do not save it to disk.
404
+ isolated?: boolean;
405
+
406
+ // Path to user data directory for browser profile persistence
407
+ userDataDir?: string;
408
+
409
+ // Browser launch options (see Playwright docs)
410
+ // @see https://playwright.dev/docs/api/class-browsertype#browser-type-launch
411
+ launchOptions?: {
412
+ channel?: string; // Browser channel (e.g. 'chrome')
413
+ headless?: boolean; // Run in headless mode
414
+ executablePath?: string; // Path to browser executable
415
+ // ... other Playwright launch options
416
+ };
417
+
418
+ // Browser context options
419
+ // @see https://playwright.dev/docs/api/class-browser#browser-new-context
420
+ contextOptions?: {
421
+ viewport?: { width: number, height: number };
422
+ // ... other Playwright context options
423
+ };
424
+
425
+ // CDP endpoint for connecting to existing browser
426
+ cdpEndpoint?: string;
427
+
428
+ // Remote Playwright server endpoint
429
+ remoteEndpoint?: string;
430
+ },
431
+
432
+ // Server configuration
433
+ server?: {
434
+ port?: number; // Port to listen on
435
+ host?: string; // Host to bind to (default: localhost)
436
+ },
437
+
438
+ // List of additional capabilities
439
+ capabilities?: Array<
440
+ 'tabs' | // Tab management
441
+ 'install' | // Browser installation
442
+ 'pdf' | // PDF generation
443
+ 'vision' | // Coordinate-based interactions
444
+ >;
445
+
446
+ // Directory for output files
447
+ outputDir?: string;
448
+
449
+ // Network configuration
450
+ network?: {
451
+ // List of origins to allow the browser to request. Default is to allow all. Origins matching both `allowedOrigins` and `blockedOrigins` will be blocked.
452
+ allowedOrigins?: string[];
453
+
454
+ // List of origins to block the browser to request. Origins matching both `allowedOrigins` and `blockedOrigins` will be blocked.
455
+ blockedOrigins?: string[];
456
+ };
457
+
458
+ /**
459
+ * Whether to send image responses to the client. Can be "allow" or "omit".
460
+ * Defaults to "allow".
461
+ */
462
+ imageResponses?: 'allow' | 'omit';
463
+ }
464
+ ```
465
+ </details>
466
+
467
+ ### Standalone MCP server
468
+
469
+ When running headed browser on system w/o display or from worker processes of the IDEs,
470
+ run the MCP server from environment with the DISPLAY and pass the `--port` flag to enable HTTP transport.
471
+
472
+ ```bash
473
+ npx @playwright/mcp@latest --port 8931
474
+ ```
475
+
476
+ And then in MCP client config, set the `url` to the HTTP endpoint:
477
+
478
+ ```js
479
+ {
480
+ "mcpServers": {
481
+ "playwright": {
482
+ "url": "http://localhost:8931/mcp"
483
+ }
484
+ }
485
+ }
486
+ ```
487
+
488
+ <details>
489
+ <summary><b>Docker</b></summary>
490
+
491
+ **NOTE:** The Docker implementation only supports headless chromium at the moment.
492
+
493
+ ```js
494
+ {
495
+ "mcpServers": {
496
+ "playwright": {
497
+ "command": "docker",
498
+ "args": ["run", "-i", "--rm", "--init", "--pull=always", "mcr.microsoft.com/playwright/mcp"]
499
+ }
500
+ }
501
+ }
502
+ ```
503
+
504
+ Or If you prefer to run the container as a long-lived service instead of letting the MCP client spawn it, use:
505
+
506
+ ```
507
+ docker run -d -i --rm --init --pull=always \
508
+ --entrypoint node \
509
+ --name playwright \
510
+ -p 8931:8931 \
511
+ mcr.microsoft.com/playwright/mcp \
512
+ cli.js --headless --browser chromium --no-sandbox --port 8931
513
+ ```
514
+
515
+ The server will listen on host port **8931** and can be reached by any MCP client.
516
+
517
+ You can build the Docker image yourself.
518
+
519
+ ```
520
+ docker build -t mcr.microsoft.com/playwright/mcp .
521
+ ```
522
+ </details>
523
+
524
+ <details>
525
+ <summary><b>Programmatic usage</b></summary>
526
+
527
+ ```js
528
+ import http from 'http';
529
+
530
+ import { createConnection } from '@playwright/mcp';
531
+ import { SSEServerTransport } from '@modelcontextprotocol/sdk/server/sse.js';
532
+
533
+ http.createServer(async (req, res) => {
534
+ // ...
535
+
536
+ // Creates a headless Playwright MCP server with SSE transport
537
+ const connection = await createConnection({ browser: { launchOptions: { headless: true } } });
538
+ const transport = new SSEServerTransport('/messages', res);
539
+ await connection.connect(transport);
540
+
541
+ // ...
542
+ });
543
+ ```
544
+ </details>
545
+
546
+ ### Tools
547
+
548
+ <!--- Tools generated by update-readme.js -->
549
+
550
+ <details>
551
+ <summary><b>Core automation</b></summary>
552
+
553
+ <!-- NOTE: This has been generated via update-readme.js -->
554
+
555
+ - **browser_click**
556
+ - Title: Click
557
+ - Description: Perform click on a web page
558
+ - Parameters:
559
+ - `element` (string): Human-readable element description used to obtain permission to interact with the element
560
+ - `ref` (string): Exact target element reference from the page snapshot
561
+ - `doubleClick` (boolean, optional): Whether to perform a double click instead of a single click
562
+ - `button` (string, optional): Button to click, defaults to left
563
+ - `modifiers` (array, optional): Modifier keys to press
564
+ - Read-only: **false**
565
+
566
+ <!-- NOTE: This has been generated via update-readme.js -->
567
+
568
+ - **browser_close**
569
+ - Title: Close browser
570
+ - Description: Close the page
571
+ - Parameters: None
572
+ - Read-only: **false**
573
+
574
+ <!-- NOTE: This has been generated via update-readme.js -->
575
+
576
+ - **browser_console_messages**
577
+ - Title: Get console messages
578
+ - Description: Returns all console messages
579
+ - Parameters:
580
+ - `onlyErrors` (boolean, optional): Only return error messages
581
+ - Read-only: **true**
582
+
583
+ <!-- NOTE: This has been generated via update-readme.js -->
584
+
585
+ - **browser_drag**
586
+ - Title: Drag mouse
587
+ - Description: Perform drag and drop between two elements
588
+ - Parameters:
589
+ - `startElement` (string): Human-readable source element description used to obtain the permission to interact with the element
590
+ - `startRef` (string): Exact source element reference from the page snapshot
591
+ - `endElement` (string): Human-readable target element description used to obtain the permission to interact with the element
592
+ - `endRef` (string): Exact target element reference from the page snapshot
593
+ - Read-only: **false**
594
+
595
+ <!-- NOTE: This has been generated via update-readme.js -->
596
+
597
+ - **browser_evaluate**
598
+ - Title: Evaluate JavaScript
599
+ - Description: Evaluate JavaScript expression on page or element
600
+ - Parameters:
601
+ - `function` (string): () => { /* code */ } or (element) => { /* code */ } when element is provided
602
+ - `element` (string, optional): Human-readable element description used to obtain permission to interact with the element
603
+ - `ref` (string, optional): Exact target element reference from the page snapshot
604
+ - Read-only: **false**
605
+
606
+ <!-- NOTE: This has been generated via update-readme.js -->
607
+
608
+ - **browser_file_upload**
609
+ - Title: Upload files
610
+ - Description: Upload one or multiple files
611
+ - Parameters:
612
+ - `paths` (array, optional): The absolute paths to the files to upload. Can be single file or multiple files. If omitted, file chooser is cancelled.
613
+ - Read-only: **false**
614
+
615
+ <!-- NOTE: This has been generated via update-readme.js -->
616
+
617
+ - **browser_fill_form**
618
+ - Title: Fill form
619
+ - Description: Fill multiple form fields
620
+ - Parameters:
621
+ - `fields` (array): Fields to fill in
622
+ - Read-only: **false**
623
+
624
+ <!-- NOTE: This has been generated via update-readme.js -->
625
+
626
+ - **browser_handle_dialog**
627
+ - Title: Handle a dialog
628
+ - Description: Handle a dialog
629
+ - Parameters:
630
+ - `accept` (boolean): Whether to accept the dialog.
631
+ - `promptText` (string, optional): The text of the prompt in case of a prompt dialog.
632
+ - Read-only: **false**
633
+
634
+ <!-- NOTE: This has been generated via update-readme.js -->
635
+
636
+ - **browser_hover**
637
+ - Title: Hover mouse
638
+ - Description: Hover over element on page
639
+ - Parameters:
640
+ - `element` (string): Human-readable element description used to obtain permission to interact with the element
641
+ - `ref` (string): Exact target element reference from the page snapshot
642
+ - Read-only: **false**
643
+
644
+ <!-- NOTE: This has been generated via update-readme.js -->
645
+
646
+ - **browser_navigate**
647
+ - Title: Navigate to a URL
648
+ - Description: Navigate to a URL
649
+ - Parameters:
650
+ - `url` (string): The URL to navigate to
651
+ - Read-only: **false**
652
+
653
+ <!-- NOTE: This has been generated via update-readme.js -->
654
+
655
+ - **browser_navigate_back**
656
+ - Title: Go back
657
+ - Description: Go back to the previous page
658
+ - Parameters: None
659
+ - Read-only: **false**
660
+
661
+ <!-- NOTE: This has been generated via update-readme.js -->
662
+
663
+ - **browser_network_requests**
664
+ - Title: List network requests
665
+ - Description: Returns all network requests since loading the page
666
+ - Parameters: None
667
+ - Read-only: **true**
668
+
669
+ <!-- NOTE: This has been generated via update-readme.js -->
670
+
671
+ - **browser_press_key**
672
+ - Title: Press a key
673
+ - Description: Press a key on the keyboard
674
+ - Parameters:
675
+ - `key` (string): Name of the key to press or a character to generate, such as `ArrowLeft` or `a`
676
+ - Read-only: **false**
677
+
678
+ <!-- NOTE: This has been generated via update-readme.js -->
679
+
680
+ - **browser_resize**
681
+ - Title: Resize browser window
682
+ - Description: Resize the browser window
683
+ - Parameters:
684
+ - `width` (number): Width of the browser window
685
+ - `height` (number): Height of the browser window
686
+ - Read-only: **false**
687
+
688
+ <!-- NOTE: This has been generated via update-readme.js -->
689
+
690
+ - **browser_select_option**
691
+ - Title: Select option
692
+ - Description: Select an option in a dropdown
693
+ - Parameters:
694
+ - `element` (string): Human-readable element description used to obtain permission to interact with the element
695
+ - `ref` (string): Exact target element reference from the page snapshot
696
+ - `values` (array): Array of values to select in the dropdown. This can be a single value or multiple values.
697
+ - Read-only: **false**
698
+
699
+ <!-- NOTE: This has been generated via update-readme.js -->
700
+
701
+ - **browser_snapshot**
702
+ - Title: Page snapshot
703
+ - Description: Capture accessibility snapshot of the current page, this is better than screenshot
704
+ - Parameters: None
705
+ - Read-only: **true**
706
+
707
+ <!-- NOTE: This has been generated via update-readme.js -->
708
+
709
+ - **browser_take_screenshot**
710
+ - Title: Take a screenshot
711
+ - Description: Take a screenshot of the current page. You can't perform actions based on the screenshot, use browser_snapshot for actions.
712
+ - Parameters:
713
+ - `type` (string, optional): Image format for the screenshot. Default is png.
714
+ - `filename` (string, optional): File name to save the screenshot to. Defaults to `page-{timestamp}.{png|jpeg}` if not specified. Prefer relative file names to stay within the output directory.
715
+ - `element` (string, optional): Human-readable element description used to obtain permission to screenshot the element. If not provided, the screenshot will be taken of viewport. If element is provided, ref must be provided too.
716
+ - `ref` (string, optional): Exact target element reference from the page snapshot. If not provided, the screenshot will be taken of viewport. If ref is provided, element must be provided too.
717
+ - `fullPage` (boolean, optional): When true, takes a screenshot of the full scrollable page, instead of the currently visible viewport. Cannot be used with element screenshots.
718
+ - Read-only: **true**
719
+
720
+ <!-- NOTE: This has been generated via update-readme.js -->
721
+
722
+ - **browser_type**
723
+ - Title: Type text
724
+ - Description: Type text into editable element
725
+ - Parameters:
726
+ - `element` (string): Human-readable element description used to obtain permission to interact with the element
727
+ - `ref` (string): Exact target element reference from the page snapshot
728
+ - `text` (string): Text to type into the element
729
+ - `submit` (boolean, optional): Whether to submit entered text (press Enter after)
730
+ - `slowly` (boolean, optional): Whether to type one character at a time. Useful for triggering key handlers in the page. By default entire text is filled in at once.
731
+ - Read-only: **false**
732
+
733
+ <!-- NOTE: This has been generated via update-readme.js -->
734
+
735
+ - **browser_wait_for**
736
+ - Title: Wait for
737
+ - Description: Wait for text to appear or disappear or a specified time to pass
738
+ - Parameters:
739
+ - `time` (number, optional): The time to wait in seconds
740
+ - `text` (string, optional): The text to wait for
741
+ - `textGone` (string, optional): The text to wait for to disappear
742
+ - Read-only: **false**
743
+
744
+ </details>
745
+
746
+ <details>
747
+ <summary><b>Tab management</b></summary>
748
+
749
+ <!-- NOTE: This has been generated via update-readme.js -->
750
+
751
+ - **browser_tabs**
752
+ - Title: Manage tabs
753
+ - Description: List, create, close, or select a browser tab.
754
+ - Parameters:
755
+ - `action` (string): Operation to perform
756
+ - `index` (number, optional): Tab index, used for close/select. If omitted for close, current tab is closed.
757
+ - Read-only: **false**
758
+
759
+ </details>
760
+
761
+ <details>
762
+ <summary><b>Browser installation</b></summary>
763
+
764
+ <!-- NOTE: This has been generated via update-readme.js -->
765
+
766
+ - **browser_install**
767
+ - Title: Install the browser specified in the config
768
+ - Description: Install the browser specified in the config. Call this if you get an error about the browser not being installed.
769
+ - Parameters: None
770
+ - Read-only: **false**
771
+
772
+ </details>
773
+
774
+ <details>
775
+ <summary><b>Coordinate-based (opt-in via --caps=vision)</b></summary>
776
+
777
+ <!-- NOTE: This has been generated via update-readme.js -->
778
+
779
+ - **browser_mouse_click_xy**
780
+ - Title: Click
781
+ - Description: Click left mouse button at a given position
782
+ - Parameters:
783
+ - `element` (string): Human-readable element description used to obtain permission to interact with the element
784
+ - `x` (number): X coordinate
785
+ - `y` (number): Y coordinate
786
+ - Read-only: **false**
787
+
788
+ <!-- NOTE: This has been generated via update-readme.js -->
789
+
790
+ - **browser_mouse_drag_xy**
791
+ - Title: Drag mouse
792
+ - Description: Drag left mouse button to a given position
793
+ - Parameters:
794
+ - `element` (string): Human-readable element description used to obtain permission to interact with the element
795
+ - `startX` (number): Start X coordinate
796
+ - `startY` (number): Start Y coordinate
797
+ - `endX` (number): End X coordinate
798
+ - `endY` (number): End Y coordinate
799
+ - Read-only: **false**
800
+
801
+ <!-- NOTE: This has been generated via update-readme.js -->
802
+
803
+ - **browser_mouse_move_xy**
804
+ - Title: Move mouse
805
+ - Description: Move mouse to a given position
806
+ - Parameters:
807
+ - `element` (string): Human-readable element description used to obtain permission to interact with the element
808
+ - `x` (number): X coordinate
809
+ - `y` (number): Y coordinate
810
+ - Read-only: **false**
811
+
812
+ </details>
813
+
814
+ <details>
815
+ <summary><b>PDF generation (opt-in via --caps=pdf)</b></summary>
816
+
817
+ <!-- NOTE: This has been generated via update-readme.js -->
818
+
819
+ - **browser_pdf_save**
820
+ - Title: Save as PDF
821
+ - Description: Save page as PDF
822
+ - Parameters:
823
+ - `filename` (string, optional): File name to save the pdf to. Defaults to `page-{timestamp}.pdf` if not specified. Prefer relative file names to stay within the output directory.
824
+ - Read-only: **true**
825
+
826
+ </details>
827
+
828
+ <details>
829
+ <summary><b>Test assertions (opt-in via --caps=testing)</b></summary>
830
+
831
+ <!-- NOTE: This has been generated via update-readme.js -->
832
+
833
+ - **browser_generate_locator**
834
+ - Title: Create locator for element
835
+ - Description: Generate locator for the given element to use in tests
836
+ - Parameters:
837
+ - `element` (string): Human-readable element description used to obtain permission to interact with the element
838
+ - `ref` (string): Exact target element reference from the page snapshot
839
+ - Read-only: **true**
840
+
841
+ <!-- NOTE: This has been generated via update-readme.js -->
842
+
843
+ - **browser_verify_element_visible**
844
+ - Title: Verify element visible
845
+ - Description: Verify element is visible on the page
846
+ - Parameters:
847
+ - `role` (string): ROLE of the element. Can be found in the snapshot like this: `- {ROLE} "Accessible Name":`
848
+ - `accessibleName` (string): ACCESSIBLE_NAME of the element. Can be found in the snapshot like this: `- role "{ACCESSIBLE_NAME}"`
849
+ - Read-only: **false**
850
+
851
+ <!-- NOTE: This has been generated via update-readme.js -->
852
+
853
+ - **browser_verify_list_visible**
854
+ - Title: Verify list visible
855
+ - Description: Verify list is visible on the page
856
+ - Parameters:
857
+ - `element` (string): Human-readable list description
858
+ - `ref` (string): Exact target element reference that points to the list
859
+ - `items` (array): Items to verify
860
+ - Read-only: **false**
861
+
862
+ <!-- NOTE: This has been generated via update-readme.js -->
863
+
864
+ - **browser_verify_text_visible**
865
+ - Title: Verify text visible
866
+ - Description: Verify text is visible on the page. Prefer browser_verify_element_visible if possible.
867
+ - Parameters:
868
+ - `text` (string): TEXT to verify. Can be found in the snapshot like this: `- role "Accessible Name": {TEXT}` or like this: `- text: {TEXT}`
869
+ - Read-only: **false**
870
+
871
+ <!-- NOTE: This has been generated via update-readme.js -->
872
+
873
+ - **browser_verify_value**
874
+ - Title: Verify value
875
+ - Description: Verify element value
876
+ - Parameters:
877
+ - `type` (string): Type of the element
878
+ - `element` (string): Human-readable element description
879
+ - `ref` (string): Exact target element reference that points to the element
880
+ - `value` (string): Value to verify. For checkbox, use "true" or "false".
881
+ - Read-only: **false**
882
+
883
+ </details>
884
+
885
+ <details>
886
+ <summary><b>Tracing (opt-in via --caps=tracing)</b></summary>
887
+
888
+ <!-- NOTE: This has been generated via update-readme.js -->
889
+
890
+ - **browser_start_tracing**
891
+ - Title: Start tracing
892
+ - Description: Start trace recording
893
+ - Parameters: None
894
+ - Read-only: **true**
895
+
896
+ <!-- NOTE: This has been generated via update-readme.js -->
897
+
898
+ - **browser_stop_tracing**
899
+ - Title: Stop tracing
900
+ - Description: Stop trace recording
901
+ - Parameters: None
902
+ - Read-only: **true**
903
+
904
+ </details>
905
+
906
+
907
+ <!--- End of tools generated section -->