testeiya 0.10.0 → 0.10.2

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 (241) hide show
  1. package/PIPELINES.md +3 -0
  2. package/README.md +10 -20
  3. package/dist/prompt/clis.d.ts +7 -0
  4. package/dist/prompt/pipeline-report.d.ts +1 -0
  5. package/dist/prompt/report.d.ts +10 -0
  6. package/dist/prompt/system-prompt.d.ts +22 -0
  7. package/dist/prompt/system-prompt.js +1 -1
  8. package/dist/prompt/system-prompt.js.map +1 -1
  9. package/dist/prompt/testomat.io.d.ts +19 -0
  10. package/dist/prompt/thread.d.ts +73 -0
  11. package/dist/src/args.d.ts +39 -0
  12. package/dist/src/attribution-extension.d.ts +3 -0
  13. package/dist/src/checkpoint.d.ts +30 -0
  14. package/dist/src/cli.d.ts +2 -0
  15. package/dist/src/cli.js +27 -32
  16. package/dist/src/cli.js.map +1 -1
  17. package/dist/src/doctor.d.ts +11 -0
  18. package/dist/src/env.d.ts +30 -0
  19. package/dist/src/exec.d.ts +11 -0
  20. package/dist/src/git.d.ts +41 -0
  21. package/dist/src/git.js +10 -0
  22. package/dist/src/git.js.map +1 -1
  23. package/dist/src/langfuse-extension.d.ts +7 -0
  24. package/dist/src/langfuse.d.ts +67 -0
  25. package/dist/src/mcp.d.ts +19 -0
  26. package/dist/src/model.d.ts +20 -0
  27. package/dist/src/model.js +2 -0
  28. package/dist/src/model.js.map +1 -1
  29. package/dist/src/models.d.ts +1 -0
  30. package/dist/src/output.d.ts +84 -0
  31. package/dist/src/pipeline/command-stage.d.ts +12 -0
  32. package/dist/src/pipeline/crash-guard.d.ts +12 -0
  33. package/dist/src/pipeline/crash-guard.js +21 -0
  34. package/dist/src/pipeline/crash-guard.js.map +1 -0
  35. package/dist/src/pipeline/diagram.d.ts +24 -0
  36. package/dist/src/pipeline/gate.d.ts +21 -0
  37. package/dist/src/pipeline/launcher.d.ts +33 -0
  38. package/dist/src/pipeline/launcher.js +16 -3
  39. package/dist/src/pipeline/launcher.js.map +1 -1
  40. package/dist/src/pipeline/log.d.ts +29 -0
  41. package/dist/src/pipeline/log.js +9 -0
  42. package/dist/src/pipeline/log.js.map +1 -1
  43. package/dist/src/pipeline/overlay.d.ts +29 -0
  44. package/dist/src/pipeline/pipeline-file.d.ts +44 -0
  45. package/dist/src/pipeline/pipeline-file.js +16 -8
  46. package/dist/src/pipeline/pipeline-file.js.map +1 -1
  47. package/dist/src/pipeline/pipeline.d.ts +78 -0
  48. package/dist/src/pipeline/pipeline.js +33 -7
  49. package/dist/src/pipeline/pipeline.js.map +1 -1
  50. package/dist/src/pipeline/report.d.ts +26 -0
  51. package/dist/src/pipeline/report.js +13 -0
  52. package/dist/src/pipeline/report.js.map +1 -1
  53. package/dist/src/pipeline/spec.d.ts +63 -0
  54. package/dist/src/pipeline/stage-env.d.ts +13 -0
  55. package/dist/src/pipeline/stage-env.js +31 -0
  56. package/dist/src/pipeline/stage-env.js.map +1 -0
  57. package/dist/src/pipeline/stage.d.ts +71 -0
  58. package/dist/src/pipeline/stage.js.map +1 -1
  59. package/dist/src/pipeline/state.d.ts +63 -0
  60. package/dist/src/pipeline/summary-stage.d.ts +24 -0
  61. package/dist/src/pipeline/task-stage.d.ts +24 -0
  62. package/dist/src/pipeline/task-stage.js +86 -2
  63. package/dist/src/pipeline/task-stage.js.map +1 -1
  64. package/dist/src/pipeline/variables.d.ts +20 -0
  65. package/dist/src/result.d.ts +6 -0
  66. package/dist/src/run.d.ts +69 -0
  67. package/dist/src/run.js +116 -60
  68. package/dist/src/run.js.map +1 -1
  69. package/dist/src/session.d.ts +43 -0
  70. package/dist/src/session.js +3 -1
  71. package/dist/src/session.js.map +1 -1
  72. package/dist/src/sessions.d.ts +23 -0
  73. package/dist/src/skills.d.ts +29 -0
  74. package/package.json +11 -2
  75. package/pipelines/api-testing.yml +16 -5
  76. package/pipelines/issue-test-cases.yml +3 -4
  77. package/pipelines/pr-review.yml +14 -5
  78. package/pipelines/regression.yml +1 -0
  79. package/pipelines/web-testing.yml +1 -0
  80. package/prompt/system-prompt.ts +1 -1
  81. package/scripts/vendor-skills.js +62 -0
  82. package/skills/codeceptjs/ci-fix-tests/SKILL.md +0 -119
  83. package/skills/codeceptjs/codeceptjs-auth/SKILL.md +0 -141
  84. package/skills/codeceptjs/codeceptjs-exploration/SKILL.md +0 -100
  85. package/skills/codeceptjs/codeceptjs-fundamentals/SKILL.md +0 -196
  86. package/skills/codeceptjs/codeceptjs-run-analysis/SKILL.md +0 -83
  87. package/skills/codeceptjs/debugging-codeceptjs-tests/SKILL.md +0 -126
  88. package/skills/codeceptjs/lint-codeceptjs-tests/SKILL.md +0 -104
  89. package/skills/codeceptjs/migrate-codeceptjs-4/SKILL.md +0 -109
  90. package/skills/codeceptjs/migrate-cypress-to-codeceptjs/SKILL.md +0 -295
  91. package/skills/codeceptjs/migrate-protractor-to-codeceptjs/SKILL.md +0 -339
  92. package/skills/codeceptjs/migrate-selenium-java-to-codeceptjs/SKILL.md +0 -459
  93. package/skills/codeceptjs/migrate-testcafe-to-codeceptjs/SKILL.md +0 -338
  94. package/skills/codeceptjs/refactoring-codeceptjs-tests/SKILL.md +0 -78
  95. package/skills/codeceptjs/writing-codeceptjs-tests/SKILL.md +0 -102
  96. package/skills/playwright/playwright-best-practices/SKILL.md +0 -303
  97. package/skills/playwright/playwright-best-practices/advanced/authentication-flows.md +0 -360
  98. package/skills/playwright/playwright-best-practices/advanced/authentication.md +0 -871
  99. package/skills/playwright/playwright-best-practices/advanced/clock-mocking.md +0 -364
  100. package/skills/playwright/playwright-best-practices/advanced/mobile-testing.md +0 -409
  101. package/skills/playwright/playwright-best-practices/advanced/multi-context.md +0 -288
  102. package/skills/playwright/playwright-best-practices/advanced/multi-user.md +0 -393
  103. package/skills/playwright/playwright-best-practices/advanced/network-advanced.md +0 -452
  104. package/skills/playwright/playwright-best-practices/advanced/third-party.md +0 -464
  105. package/skills/playwright/playwright-best-practices/architecture/pom-vs-fixtures.md +0 -363
  106. package/skills/playwright/playwright-best-practices/architecture/test-architecture.md +0 -369
  107. package/skills/playwright/playwright-best-practices/architecture/when-to-mock.md +0 -383
  108. package/skills/playwright/playwright-best-practices/browser-apis/browser-apis.md +0 -391
  109. package/skills/playwright/playwright-best-practices/browser-apis/iframes.md +0 -403
  110. package/skills/playwright/playwright-best-practices/browser-apis/service-workers.md +0 -504
  111. package/skills/playwright/playwright-best-practices/browser-apis/websockets.md +0 -403
  112. package/skills/playwright/playwright-best-practices/core/annotations.md +0 -424
  113. package/skills/playwright/playwright-best-practices/core/assertions-waiting.md +0 -361
  114. package/skills/playwright/playwright-best-practices/core/configuration.md +0 -452
  115. package/skills/playwright/playwright-best-practices/core/fixtures-hooks.md +0 -417
  116. package/skills/playwright/playwright-best-practices/core/global-setup.md +0 -434
  117. package/skills/playwright/playwright-best-practices/core/locators.md +0 -242
  118. package/skills/playwright/playwright-best-practices/core/page-object-model.md +0 -315
  119. package/skills/playwright/playwright-best-practices/core/projects-dependencies.md +0 -453
  120. package/skills/playwright/playwright-best-practices/core/test-data.md +0 -492
  121. package/skills/playwright/playwright-best-practices/core/test-suite-structure.md +0 -361
  122. package/skills/playwright/playwright-best-practices/core/test-tags.md +0 -298
  123. package/skills/playwright/playwright-best-practices/debugging/console-errors.md +0 -420
  124. package/skills/playwright/playwright-best-practices/debugging/debugging.md +0 -504
  125. package/skills/playwright/playwright-best-practices/debugging/error-testing.md +0 -360
  126. package/skills/playwright/playwright-best-practices/debugging/flaky-tests.md +0 -496
  127. package/skills/playwright/playwright-best-practices/frameworks/angular.md +0 -530
  128. package/skills/playwright/playwright-best-practices/frameworks/nextjs.md +0 -469
  129. package/skills/playwright/playwright-best-practices/frameworks/react.md +0 -531
  130. package/skills/playwright/playwright-best-practices/frameworks/vue.md +0 -574
  131. package/skills/playwright/playwright-best-practices/infrastructure-ci-cd/ci-cd.md +0 -468
  132. package/skills/playwright/playwright-best-practices/infrastructure-ci-cd/docker.md +0 -283
  133. package/skills/playwright/playwright-best-practices/infrastructure-ci-cd/github-actions.md +0 -546
  134. package/skills/playwright/playwright-best-practices/infrastructure-ci-cd/gitlab.md +0 -397
  135. package/skills/playwright/playwright-best-practices/infrastructure-ci-cd/other-providers.md +0 -521
  136. package/skills/playwright/playwright-best-practices/infrastructure-ci-cd/parallel-sharding.md +0 -371
  137. package/skills/playwright/playwright-best-practices/infrastructure-ci-cd/performance.md +0 -453
  138. package/skills/playwright/playwright-best-practices/infrastructure-ci-cd/reporting.md +0 -424
  139. package/skills/playwright/playwright-best-practices/infrastructure-ci-cd/test-coverage.md +0 -497
  140. package/skills/playwright/playwright-best-practices/testing-patterns/accessibility.md +0 -359
  141. package/skills/playwright/playwright-best-practices/testing-patterns/api-testing.md +0 -719
  142. package/skills/playwright/playwright-best-practices/testing-patterns/browser-extensions.md +0 -506
  143. package/skills/playwright/playwright-best-practices/testing-patterns/canvas-webgl.md +0 -493
  144. package/skills/playwright/playwright-best-practices/testing-patterns/component-testing.md +0 -500
  145. package/skills/playwright/playwright-best-practices/testing-patterns/drag-drop.md +0 -576
  146. package/skills/playwright/playwright-best-practices/testing-patterns/electron.md +0 -509
  147. package/skills/playwright/playwright-best-practices/testing-patterns/file-operations.md +0 -377
  148. package/skills/playwright/playwright-best-practices/testing-patterns/file-upload-download.md +0 -562
  149. package/skills/playwright/playwright-best-practices/testing-patterns/forms-validation.md +0 -561
  150. package/skills/playwright/playwright-best-practices/testing-patterns/graphql-testing.md +0 -331
  151. package/skills/playwright/playwright-best-practices/testing-patterns/i18n.md +0 -508
  152. package/skills/playwright/playwright-best-practices/testing-patterns/performance-testing.md +0 -476
  153. package/skills/playwright/playwright-best-practices/testing-patterns/security-testing.md +0 -430
  154. package/skills/playwright/playwright-best-practices/testing-patterns/visual-regression.md +0 -634
  155. package/skills/playwright/playwright-cli/SKILL.md +0 -489
  156. package/skills/playwright/playwright-cli/references/element-attributes.md +0 -23
  157. package/skills/playwright/playwright-cli/references/playwright-tests.md +0 -39
  158. package/skills/playwright/playwright-cli/references/pr-attachments.md +0 -60
  159. package/skills/playwright/playwright-cli/references/request-mocking.md +0 -87
  160. package/skills/playwright/playwright-cli/references/running-code.md +0 -245
  161. package/skills/playwright/playwright-cli/references/session-management.md +0 -227
  162. package/skills/playwright/playwright-cli/references/storage-state.md +0 -275
  163. package/skills/playwright/playwright-cli/references/test-generation.md +0 -433
  164. package/skills/playwright/playwright-cli/references/tracing.md +0 -139
  165. package/skills/playwright/playwright-cli/references/video-recording.md +0 -216
  166. package/skills/skills.lock.json +0 -89
  167. package/skills/skills.yaml +0 -35
  168. /package/skills/{testomatio/explorbot → explorbot}/explorbot-fundamentals/SKILL.md +0 -0
  169. /package/skills/{testomatio/explorbot → explorbot}/explorbot-fundamentals/references/no-install.md +0 -0
  170. /package/skills/{testomatio/explorbot → explorbot}/explorbot-plan/SKILL.md +0 -0
  171. /package/skills/{testomatio/explorbot → explorbot}/explorbot-setup/SKILL.md +0 -0
  172. /package/skills/{testomatio/explorbot → explorbot}/prima/SKILL.md +0 -0
  173. /package/skills/{testomatio/qa-process → qa-process}/qa-lead-strategy-advisor/SKILL.md +0 -0
  174. /package/skills/{testomatio/qa-process → qa-process}/qa-lead-strategy-advisor/references/output-format.md +0 -0
  175. /package/skills/{testomatio/qa-process → qa-process}/qa-review-pr/SKILL.md +0 -0
  176. /package/skills/{testomatio/qa-process → qa-process}/testing-workflow/SKILL.md +0 -0
  177. /package/skills/{testomatio/requirements → requirements}/catalog-features/SKILL.md +0 -0
  178. /package/skills/{testomatio/requirements → requirements}/catalog-features/references/layout.md +0 -0
  179. /package/skills/{testomatio/requirements → requirements}/detect-product-mismatches/SKILL.md +0 -0
  180. /package/skills/{testomatio/requirements → requirements}/detect-product-mismatches/references/features.md +0 -0
  181. /package/skills/{testomatio/requirements → requirements}/detect-product-mismatches/references/layout.md +0 -0
  182. /package/skills/{testomatio/requirements → requirements}/pull-request-diff-analyzer/SKILL.md +0 -0
  183. /package/skills/{testomatio/requirements → requirements}/qa-explain-behavior/SKILL.md +0 -0
  184. /package/skills/{testomatio/requirements → requirements}/qa-explain-behavior/references/answer-shapes.md +0 -0
  185. /package/skills/{testomatio/requirements → requirements}/qa-explain-behavior/references/examples.md +0 -0
  186. /package/skills/{testomatio/requirements → requirements}/qa-pr-requirements-analyzer/SKILL.md +0 -0
  187. /package/skills/{testomatio/requirements → requirements}/qa-pr-requirements-analyzer/references/summary-example.md +0 -0
  188. /package/skills/{testomatio/requirements → requirements}/qa-requirement-reviewer/SKILL.md +0 -0
  189. /package/skills/{testomatio/requirements → requirements}/qa-requirement-reviewer/references/requirements_reviewer_examples.md +0 -0
  190. /package/skills/{testomatio/requirements → requirements}/qa-thinking/SKILL.md +0 -0
  191. /package/skills/{testomatio/requirements → requirements}/wiki-from-code/SKILL.md +0 -0
  192. /package/skills/{testomatio/requirements → requirements}/wiki-from-code/references/behaviors.md +0 -0
  193. /package/skills/{testomatio/requirements → requirements}/wiki-from-code/references/layout.md +0 -0
  194. /package/skills/{testomatio/requirements → requirements}/write-user-story/SKILL.md +0 -0
  195. /package/skills/{testomatio/test-automation → test-automation}/automate-manual-test-cases/CLAUDE.md +0 -0
  196. /package/skills/{testomatio/test-automation → test-automation}/automate-manual-test-cases/SKILL.md +0 -0
  197. /package/skills/{testomatio/test-automation → test-automation}/automate-manual-test-cases/references/CODECEPTJS_BEST_PRACTICES.md +0 -0
  198. /package/skills/{testomatio/test-automation → test-automation}/automate-manual-test-cases/references/FINAL_SUMMARY_TEMPLATE.md +0 -0
  199. /package/skills/{testomatio/test-automation → test-automation}/automate-manual-test-cases/references/PLAYWRIGHT_BEST_PRACTICES.md +0 -0
  200. /package/skills/{testomatio/test-automation → test-automation}/automate-manual-test-cases/references/POM_BEST_PRACTICES.md +0 -0
  201. /package/skills/{testomatio/test-automation → test-automation}/automate-manual-test-cases/references/TEST_DATA_MANAGEMENT.md +0 -0
  202. /package/skills/{testomatio/test-automation → test-automation}/debug-fix-failed-flaky-autotests/SKILL.md +0 -0
  203. /package/skills/{testomatio/test-automation → test-automation}/debug-fix-failed-flaky-autotests/references/DEBUGGING_QUICK_REFERENCE.md +0 -0
  204. /package/skills/{testomatio/test-automation → test-automation}/epic-requirements-specification/SKILL.md +0 -0
  205. /package/skills/{testomatio/test-automation → test-automation}/qa-automation-test-consolidation/SKILL.md +0 -0
  206. /package/skills/{testomatio/test-automation → test-automation}/qa-data-seeder/SKILL.md +0 -0
  207. /package/skills/{testomatio/test-automation → test-automation}/run-tests-with-testomatio-reporter/SKILL.md +0 -0
  208. /package/skills/{testomatio/test-automation → test-automation}/setup-change-aware-pr-testing/SKILL.md +0 -0
  209. /package/skills/{testomatio/test-automation → test-automation}/setup-ci-automation/SKILL.md +0 -0
  210. /package/skills/{testomatio/test-automation → test-automation}/testomat-allure-adapter/SKILL.md +0 -0
  211. /package/skills/{testomatio/test-management → test-management}/detect-duplicate-test-cases/SKILL.md +0 -0
  212. /package/skills/{testomatio/test-management → test-management}/detect-duplicate-test-cases/references/DUPLICATE_INSTRUCTIONS.md +0 -0
  213. /package/skills/{testomatio/test-management → test-management}/detect-useless-tests/SKILL.md +0 -0
  214. /package/skills/{testomatio/test-management → test-management}/improve-test-cases/SKILL.md +0 -0
  215. /package/skills/{testomatio/test-management → test-management}/improve-test-cases/references/TESTOMAT_MARKDOWN_EXAMPLE.md +0 -0
  216. /package/skills/{testomatio/test-management → test-management}/migrate-to-testomatio/SKILL.md +0 -0
  217. /package/skills/{testomatio/test-management → test-management}/migrate-to-testomatio/references/CSV_MIGRATION.md +0 -0
  218. /package/skills/{testomatio/test-management → test-management}/migrate-to-testomatio/references/CUSTOM_MIGRATION.md +0 -0
  219. /package/skills/{testomatio/test-management → test-management}/migrate-to-testomatio/references/TESTMO_MIGRATION.md +0 -0
  220. /package/skills/{testomatio/test-management → test-management}/migrate-to-testomatio/references/TESTRAIL_MIGRATION.md +0 -0
  221. /package/skills/{testomatio/test-management → test-management}/migrate-to-testomatio/references/XRAY_MIGRATION.md +0 -0
  222. /package/skills/{testomatio/test-management → test-management}/qa-e2e-tests-reporting/SKILL.md +0 -0
  223. /package/skills/{testomatio/test-management → test-management}/qa-e2e-tests-reporting/references/TESTOMATIO_ARTIFACTS.md +0 -0
  224. /package/skills/{testomatio/test-management → test-management}/qa-e2e-tests-reporting/references/TESTOMATIO_HTML_REPORT.md +0 -0
  225. /package/skills/{testomatio/test-management → test-management}/qa-e2e-tests-reporting/references/TESTOMATIO_REPORTERS_CONFIG.md +0 -0
  226. /package/skills/{testomatio/test-management → test-management}/qa-split-testing-levels-pyramid/SKILL.md +0 -0
  227. /package/skills/{testomatio/test-management → test-management}/qa-sprint-report-by-testomatio/SKILL.md +0 -0
  228. /package/skills/{testomatio/test-management → test-management}/qa-sprint-report-by-testomatio/references/qa-sprint-report.md +0 -0
  229. /package/skills/{testomatio/test-management → test-management}/qa-test-code-coverage/SKILL.md +0 -0
  230. /package/skills/{testomatio/test-management → test-management}/qa-test-code-coverage/references/COVERAGE_FILE_FORMAT.md +0 -0
  231. /package/skills/{testomatio/test-management → test-management}/qa-test-code-coverage/references/E2E_FRAMEWORKS.md +0 -0
  232. /package/skills/{testomatio/test-management → test-management}/qa-test-code-coverage/scripts/check-coverage.mjs +0 -0
  233. /package/skills/{testomatio/test-management → test-management}/qa-write-test-cases/SKILL.md +0 -0
  234. /package/skills/{testomatio/test-management → test-management}/qa-write-test-cases/references/test-case-format.md +0 -0
  235. /package/skills/{testomatio/test-management → test-management}/qa-write-test-cases/references/testomat-tms-guide.md +0 -0
  236. /package/skills/{testomatio/test-management → test-management}/qa-write-test-cases/references/writing-rule.md +0 -0
  237. /package/skills/{testomatio/test-management → test-management}/scan-automation-project/SKILL.md +0 -0
  238. /package/skills/{testomatio/test-management → test-management}/sync-test-cases-with-tms/SKILL.md +0 -0
  239. /package/skills/{testomatio/test-management → test-management}/sync-test-cases-with-tms/references/TESTOMATIO_CLI.md +0 -0
  240. /package/skills/{testomatio/test-management → test-management}/testomatio-mcp/SKILL.md +0 -0
  241. /package/skills/{testomatio/test-management → test-management}/testomatio-mcp/references/MCP_SETUP.md +0 -0
@@ -1,139 +0,0 @@
1
- # Tracing
2
-
3
- Capture detailed execution traces for debugging and analysis. Traces include DOM snapshots, screenshots, network activity, and console logs.
4
-
5
- ## Basic Usage
6
-
7
- ```bash
8
- # Start trace recording
9
- playwright-cli tracing-start
10
-
11
- # Perform actions
12
- playwright-cli open https://example.com
13
- playwright-cli click e1
14
- playwright-cli fill e2 "test"
15
-
16
- # Stop trace recording
17
- playwright-cli tracing-stop
18
- ```
19
-
20
- ## Trace Output Files
21
-
22
- When you start tracing, Playwright creates a `.playwright-cli/traces/` directory with several files:
23
-
24
- ### `trace-{timestamp}.trace`
25
-
26
- **Action log** - The main trace file containing:
27
- - Every action performed (clicks, fills, navigations)
28
- - DOM snapshots before and after each action
29
- - Screenshots at each step
30
- - Timing information
31
- - Console messages
32
- - Source locations
33
-
34
- ### `trace-{timestamp}.network`
35
-
36
- **Network log** - Complete network activity:
37
- - All HTTP requests and responses
38
- - Request headers and bodies
39
- - Response headers and bodies
40
- - Timing (DNS, connect, TLS, TTFB, download)
41
- - Resource sizes
42
- - Failed requests and errors
43
-
44
- ### `resources/`
45
-
46
- **Resources directory** - Cached resources:
47
- - Images, fonts, stylesheets, scripts
48
- - Response bodies for replay
49
- - Assets needed to reconstruct page state
50
-
51
- ## What Traces Capture
52
-
53
- | Category | Details |
54
- |----------|---------|
55
- | **Actions** | Clicks, fills, hovers, keyboard input, navigations |
56
- | **DOM** | Full DOM snapshot before/after each action |
57
- | **Screenshots** | Visual state at each step |
58
- | **Network** | All requests, responses, headers, bodies, timing |
59
- | **Console** | All console.log, warn, error messages |
60
- | **Timing** | Precise timing for each operation |
61
-
62
- ## Use Cases
63
-
64
- ### Debugging Failed Actions
65
-
66
- ```bash
67
- playwright-cli tracing-start
68
- playwright-cli open https://app.example.com
69
-
70
- # This click fails - why?
71
- playwright-cli click e5
72
-
73
- playwright-cli tracing-stop
74
- # Open trace to see DOM state when click was attempted
75
- ```
76
-
77
- ### Analyzing Performance
78
-
79
- ```bash
80
- playwright-cli tracing-start
81
- playwright-cli open https://slow-site.com
82
- playwright-cli tracing-stop
83
-
84
- # View network waterfall to identify slow resources
85
- ```
86
-
87
- ### Capturing Evidence
88
-
89
- ```bash
90
- # Record a complete user flow for documentation
91
- playwright-cli tracing-start
92
-
93
- playwright-cli open https://app.example.com/checkout
94
- playwright-cli fill e1 "4111111111111111"
95
- playwright-cli fill e2 "12/25"
96
- playwright-cli fill e3 "123"
97
- playwright-cli click e4
98
-
99
- playwright-cli tracing-stop
100
- # Trace shows exact sequence of events
101
- ```
102
-
103
- ## Trace vs Video vs Screenshot
104
-
105
- | Feature | Trace | Video | Screenshot |
106
- |---------|-------|-------|------------|
107
- | **Format** | .trace file | .webm video | .png/.jpeg image |
108
- | **DOM inspection** | Yes | No | No |
109
- | **Network details** | Yes | No | No |
110
- | **Step-by-step replay** | Yes | Continuous | Single frame |
111
- | **File size** | Medium | Large | Small |
112
- | **Best for** | Debugging | Demos | Quick capture |
113
-
114
- ## Best Practices
115
-
116
- ### 1. Start Tracing Before the Problem
117
-
118
- ```bash
119
- # Trace the entire flow, not just the failing step
120
- playwright-cli tracing-start
121
- playwright-cli open https://example.com
122
- # ... all steps leading to the issue ...
123
- playwright-cli tracing-stop
124
- ```
125
-
126
- ### 2. Clean Up Old Traces
127
-
128
- Traces can consume significant disk space:
129
-
130
- ```bash
131
- # Remove traces older than 7 days
132
- find .playwright-cli/traces -mtime +7 -delete
133
- ```
134
-
135
- ## Limitations
136
-
137
- - Traces add overhead to automation
138
- - Large traces can consume significant disk space
139
- - Some dynamic content may not replay perfectly
@@ -1,216 +0,0 @@
1
- # Video Recording
2
-
3
- Capture browser automation sessions as video for debugging, documentation, or verification. Produces WebM (VP8/VP9 codec).
4
-
5
- ## Basic Recording
6
-
7
- ```bash
8
- # Open browser first
9
- playwright-cli open
10
-
11
- # Start recording, --cursor renders an animated mouse cursor that travels to each action point
12
- # and paces actions by 800ms so that it has time to travel
13
- playwright-cli video-start demo.webm --cursor --fps=60
14
-
15
- # Add a chapter marker for section transitions
16
- playwright-cli video-chapter "Getting Started" --description="Opening the homepage" --duration=2000
17
-
18
- # Navigate and perform actions
19
- playwright-cli goto https://example.com
20
- playwright-cli snapshot
21
- playwright-cli click e1
22
-
23
- # Add another chapter
24
- playwright-cli video-chapter "Filling Form" --description="Entering test data" --duration=2000
25
- playwright-cli fill e2 "test input"
26
-
27
- # Stop and save
28
- playwright-cli video-stop
29
- ```
30
-
31
- ## Cursor, Target Highlight and Click Point
32
-
33
- Three decorations can be drawn for each action: the mouse **cursor**, a **highlight** box around the
34
- target element and a **point** marker at the click point. A **title** callout naming the action comes
35
- with `video-show-actions`. The cursor is the only one `video-start --cursor` turns on; the rest are
36
- opt-in and styled with plain CSS declarations, so they look exactly the way you want.
37
-
38
- ```bash
39
- # Cursor only, nothing else on screen
40
- playwright-cli video-start demo.webm --cursor
41
-
42
- # Action callout, plus a red click point and a dark frame around the target
43
- playwright-cli video-show-actions --duration=800 --position=top-right \
44
- --point-style="width: 20px; height: 20px; border-radius: 50%; background: rgba(255,0,0,.7)" \
45
- --highlight-style="outline: 2px solid #333; background: rgba(0,128,255,.15)" \
46
- --title-style="font-size: 16px"
47
-
48
- # Stop annotating actions
49
- playwright-cli video-hide-actions
50
- ```
51
-
52
- The same options are available programmatically, which is the better choice for hero scripts:
53
-
54
- ```js
55
- await page.screencast.showActions({
56
- // 'pointer' (default) animates the cursor from the previous action point, 'none' hides it.
57
- cursor: 'pointer',
58
- // How long decorations stay on screen. Actions are paced by this delay, 500ms by default.
59
- duration: 800,
60
- // Where the action title goes: top-left, top, top-right, bottom-left, bottom, bottom-right.
61
- position: 'top-right',
62
- style: {
63
- // Marker at the click point. The element is zero-sized and centered on the point,
64
- // so give it a size, or draw around the point with box-shadow. Hidden when omitted.
65
- point: 'width: 20px; height: 20px; border-radius: 50%; background: rgba(255, 0, 0, .7)',
66
- // Box that covers the target element. Hidden when omitted.
67
- // Prefer `outline` over `border`, it does not shrink the box.
68
- highlight: 'outline: 2px solid #333; background: rgba(0, 128, 255, .15)',
69
- // The action title. Use 'display: none' to keep the cursor but drop the callout.
70
- title: 'font-size: 16px',
71
- },
72
- });
73
- ```
74
-
75
- Notes:
76
- - All decorations fade out over `duration`. Override `animation` in a style to do something else.
77
- - The cursor stays on screen at the last action point between actions and across navigations,
78
- and travels along a slightly curved path, so it reads as a hand moving a mouse.
79
- - Call `page.screencast.hideActions()` to stop annotating and hide the cursor.
80
-
81
- ## Best Practices
82
-
83
- ### 1. Use Descriptive Filenames
84
-
85
- ```bash
86
- # Include context in filename
87
- playwright-cli video-start recordings/login-flow-2024-01-15.webm
88
- playwright-cli video-start recordings/checkout-test-run-42.webm
89
- ```
90
-
91
- ### 2. Record entire hero scripts.
92
-
93
- When recording a video for the user or as a proof of work, it is best to create a code snippet and execute it with run-code.
94
- It allows inserting appropriate pauses between the actions and annotating the video. There are new Playwright APIs for that.
95
-
96
- 1) Perform scenario using CLI and take note of all locators and actions. You'll need those locators to request their bounding boxes for highlight.
97
- 2) Create a file with the intended script for video (below). Use pressSequentially w/ delay for nice typing, make reasonable pauses.
98
- 3) Use playwright-cli run-code --filename your-script.js
99
-
100
- **Important**: Overlays are `pointer-events: none` — they do not interfere with page interactions. You can safely keep sticky overlays visible while clicking, filling, or performing any actions on the page.
101
-
102
- ```js
103
- async page => {
104
- await page.screencast.start({ path: 'video.webm', size: { width: 1280, height: 800 }, fps: 60 });
105
- // Show the cursor and mark the click point, and pace actions by 800ms.
106
- await page.screencast.showActions({
107
- duration: 800,
108
- style: {
109
- point: 'width: 20px; height: 20px; border-radius: 50%; background: rgba(255, 0, 0, .7)',
110
- title: 'display: none',
111
- },
112
- });
113
- await page.goto('https://demo.playwright.dev/todomvc');
114
-
115
- // Show a chapter card — blurs the page and shows a dialog.
116
- // Blocks until duration expires, then auto-removes.
117
- // Use this for simple use cases, but always feel free to hand-craft your own beautiful
118
- // overlay via await page.screencast.showOverlay().
119
- await page.screencast.showChapter('Adding Todo Items', {
120
- description: 'We will add several items to the todo list.',
121
- duration: 2000,
122
- });
123
-
124
- // Perform action
125
- await page.getByRole('textbox', { name: 'What needs to be done?' }).pressSequentially('Walk the dog', { delay: 60 });
126
- await page.getByRole('textbox', { name: 'What needs to be done?' }).press('Enter');
127
- await page.waitForTimeout(1000);
128
-
129
- // Show next chapter
130
- await page.screencast.showChapter('Verifying Results', {
131
- description: 'Checking the item appeared in the list.',
132
- duration: 2000,
133
- });
134
-
135
- // Add a sticky annotation that stays while you perform actions.
136
- // Overlays are pointer-events: none, so they won't block clicks.
137
- const annotation = await page.screencast.showOverlay(`
138
- <div style="position: absolute; top: 8px; right: 8px;
139
- padding: 6px 12px; background: rgba(0,0,0,0.7);
140
- border-radius: 8px; font-size: 13px; color: white;">
141
- ✓ Item added successfully
142
- </div>
143
- `);
144
-
145
- // Perform more actions while the annotation is visible
146
- await page.getByRole('textbox', { name: 'What needs to be done?' }).pressSequentially('Buy groceries', { delay: 60 });
147
- await page.getByRole('textbox', { name: 'What needs to be done?' }).press('Enter');
148
- await page.waitForTimeout(1500);
149
-
150
- // Remove the annotation when done
151
- await annotation.dispose();
152
-
153
- // You can also highlight relevant locators and provide contextual annotations.
154
- const bounds = await page.getByText('Walk the dog').boundingBox();
155
- await page.screencast.showOverlay(`
156
- <div style="position: absolute;
157
- top: ${bounds.y}px;
158
- left: ${bounds.x}px;
159
- width: ${bounds.width}px;
160
- height: ${bounds.height}px;
161
- border: 1px solid red;">
162
- </div>
163
- <div style="position: absolute;
164
- top: ${bounds.y + bounds.height + 5}px;
165
- left: ${bounds.x + bounds.width / 2}px;
166
- transform: translateX(-50%);
167
- padding: 6px;
168
- background: #808080;
169
- border-radius: 10px;
170
- font-size: 14px;
171
- color: white;">Check it out, it is right above this text
172
- </div>
173
- `, { duration: 2000 });
174
-
175
- await page.screencast.stop();
176
- }
177
- ```
178
-
179
- Embrace creativity, overlays are powerful.
180
-
181
- ### Overlay API Summary
182
-
183
- | Method | Use Case |
184
- |--------|----------|
185
- | `page.screencast.showChapter(title, { description?, duration?, styleSheet? })` | Full-screen chapter card with blurred backdrop — ideal for section transitions |
186
- | `page.screencast.showOverlay(html, { duration? })` | Custom HTML overlay — use for callouts, labels, highlights |
187
- | `disposable.dispose()` | Remove a sticky overlay added without duration |
188
- | `page.screencast.hideOverlays()` / `page.screencast.showOverlays()` | Temporarily hide/show all overlays |
189
- | `page.screencast.showActions({ cursor, duration, position, style })` | Cursor, click point, target highlight and action title |
190
- | `page.screencast.hideActions()` | Stop annotating actions and hide the cursor |
191
-
192
- ### 3. Attach the recording to the pull request
193
-
194
- A hero script recording is the best proof of work for a user-facing change. GitHub accepts WebM as is, so once the recording looks right, attach it with `gh` 2.99+ instead of describing the flow in words:
195
-
196
- ```bash
197
- gh pr create --title "feat(todo): add items inline" --body-file body.md --attach ./demo.webm
198
- gh pr comment 123 --body "Walkthrough of the new flow." --attach ./demo.webm
199
- gh issue comment 456 --body "Recording of the repro steps." --attach ./repro.webm
200
- ```
201
-
202
- `gh` appends unreferenced attachments to the end of the body, which is the right place for a walkthrough. Videos are limited to 10 MB on free plans and 100 MB on paid plans, so keep the script focused, record at a modest size such as 1280x800 and drop chapters that do not add to the story. See [pr-attachments.md](pr-attachments.md) for the full set of commands, including attaching test artifacts from CI.
203
-
204
- ## Tracing vs Video
205
-
206
- | Feature | Video | Tracing |
207
- |---------|-------|---------|
208
- | Output | WebM file | Trace file (viewable in Trace Viewer) |
209
- | Shows | Visual recording | DOM snapshots, network, console, actions |
210
- | Use case | Demos, documentation | Debugging, analysis |
211
- | Size | Larger | Smaller |
212
-
213
- ## Limitations
214
-
215
- - Recording adds slight overhead to automation
216
- - Large recordings can consume significant disk space
@@ -1,89 +0,0 @@
1
- {
2
- "sources": [
3
- {
4
- "source": "testomatio/skills",
5
- "ref": null,
6
- "sha": "e1cf03227adfcb553c94ea5ee08c0eebc397e875",
7
- "folder": "testomatio",
8
- "skills": [
9
- "automate-manual-test-cases",
10
- "catalog-features",
11
- "debug-fix-failed-flaky-autotests",
12
- "detect-duplicate-test-cases",
13
- "detect-product-mismatches",
14
- "detect-useless-tests",
15
- "epic-requirements-specification",
16
- "explorbot-fundamentals",
17
- "explorbot-plan",
18
- "explorbot-setup",
19
- "improve-test-cases",
20
- "migrate-to-testomatio",
21
- "prima",
22
- "pull-request-diff-analyzer",
23
- "qa-automation-test-consolidation",
24
- "qa-data-seeder",
25
- "qa-e2e-tests-reporting",
26
- "qa-explain-behavior",
27
- "qa-lead-strategy-advisor",
28
- "qa-pr-requirements-analyzer",
29
- "qa-requirement-reviewer",
30
- "qa-review-pr",
31
- "qa-split-testing-levels-pyramid",
32
- "qa-sprint-report-by-testomatio",
33
- "qa-test-code-coverage",
34
- "qa-thinking",
35
- "qa-write-test-cases",
36
- "run-tests-with-testomatio-reporter",
37
- "scan-automation-project",
38
- "setup-change-aware-pr-testing",
39
- "setup-ci-automation",
40
- "sync-test-cases-with-tms",
41
- "testing-workflow",
42
- "testomat-allure-adapter",
43
- "testomatio-mcp",
44
- "wiki-from-code",
45
- "write-user-story"
46
- ]
47
- },
48
- {
49
- "source": "codeceptjs/skills",
50
- "ref": null,
51
- "sha": "c9a82e3e237c908ba53ec47d2c841c680b88e03a",
52
- "folder": "codeceptjs",
53
- "skills": [
54
- "ci-fix-tests",
55
- "codeceptjs-auth",
56
- "codeceptjs-exploration",
57
- "codeceptjs-fundamentals",
58
- "codeceptjs-run-analysis",
59
- "debugging-codeceptjs-tests",
60
- "lint-codeceptjs-tests",
61
- "migrate-codeceptjs-4",
62
- "migrate-cypress-to-codeceptjs",
63
- "migrate-protractor-to-codeceptjs",
64
- "migrate-selenium-java-to-codeceptjs",
65
- "migrate-testcafe-to-codeceptjs",
66
- "refactoring-codeceptjs-tests",
67
- "writing-codeceptjs-tests"
68
- ]
69
- },
70
- {
71
- "source": "currents-dev/playwright-best-practices-skill",
72
- "ref": null,
73
- "sha": "283d5cbc5d11aac1abda058b16ad22c317d54dc0",
74
- "folder": "playwright",
75
- "skills": [
76
- "playwright-best-practices"
77
- ]
78
- },
79
- {
80
- "source": "microsoft/playwright-cli/tree/main/skills/playwright-cli",
81
- "ref": null,
82
- "sha": "b1a5903c5b633b8c9f843ad7b629c2a78437040c",
83
- "folder": "playwright",
84
- "skills": [
85
- "playwright-cli"
86
- ]
87
- }
88
- ]
89
- }
@@ -1,35 +0,0 @@
1
- # External skills for Testeiya. ONE rule: every line is a GitHub repo.
2
- #
3
- # owner/repo a skill repo (one skill, or many)
4
- # owner/repo/tree/<ref>/<subdir> pin a branch/tag/commit, or point at a subfolder
5
- #
6
- # Each source owns one vendor folder next to this file — the repo name, or the
7
- # owner when the repo is just "skills" (testomatio/skills -> testomatio/).
8
- # Updates replace only that folder; a folder this file does not own is treated
9
- # as internal and never touched. First-party skills are not kept here.
10
- #
11
- # Vendored folders are gitignored: they belong to their authors, under their own
12
- # licences. Send patches for them upstream, to the repo listed below.
13
- #
14
- # The folder is the category, and the repo decides it:
15
- # - repo with a Claude-plugin marketplace (.claude-plugin/marketplace.json)
16
- # -> one category subfolder per plugin (testomatio/ -> test-management / test-automation / explorbot)
17
- # - repo without one -> skills sit right under the vendor folder (the vendor is the category)
18
- #
19
- # Name the folder here when repos from different owners belong under one
20
- # category — the sources then share it, each skill in its own subfolder:
21
- #
22
- # - source: owner/repo
23
- # folder: playwright
24
- #
25
- # Edit the list, then run: bunosh skills:update [vendor] See the result: bunosh skills:list
26
-
27
- - testomatio/skills
28
- - codeceptjs/skills
29
-
30
- # One Playwright category, two upstreams.
31
- - source: currents-dev/playwright-best-practices-skill
32
- folder: playwright
33
- - source: microsoft/playwright-cli/tree/main/skills/playwright-cli
34
- folder: playwright
35
-