testeiya 0.10.1 → 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 (225) hide show
  1. package/README.md +7 -19
  2. package/dist/prompt/clis.d.ts +7 -0
  3. package/dist/prompt/pipeline-report.d.ts +1 -0
  4. package/dist/prompt/report.d.ts +10 -0
  5. package/dist/prompt/system-prompt.d.ts +22 -0
  6. package/dist/prompt/testomat.io.d.ts +19 -0
  7. package/dist/prompt/thread.d.ts +73 -0
  8. package/dist/src/args.d.ts +39 -0
  9. package/dist/src/attribution-extension.d.ts +3 -0
  10. package/dist/src/checkpoint.d.ts +30 -0
  11. package/dist/src/cli.d.ts +2 -0
  12. package/dist/src/cli.js +27 -32
  13. package/dist/src/cli.js.map +1 -1
  14. package/dist/src/doctor.d.ts +11 -0
  15. package/dist/src/env.d.ts +30 -0
  16. package/dist/src/exec.d.ts +11 -0
  17. package/dist/src/git.d.ts +41 -0
  18. package/dist/src/langfuse-extension.d.ts +7 -0
  19. package/dist/src/langfuse.d.ts +67 -0
  20. package/dist/src/mcp.d.ts +19 -0
  21. package/dist/src/model.d.ts +20 -0
  22. package/dist/src/models.d.ts +1 -0
  23. package/dist/src/output.d.ts +84 -0
  24. package/dist/src/pipeline/command-stage.d.ts +12 -0
  25. package/dist/src/pipeline/crash-guard.d.ts +12 -0
  26. package/dist/src/pipeline/crash-guard.js +21 -0
  27. package/dist/src/pipeline/crash-guard.js.map +1 -0
  28. package/dist/src/pipeline/diagram.d.ts +24 -0
  29. package/dist/src/pipeline/gate.d.ts +21 -0
  30. package/dist/src/pipeline/launcher.d.ts +33 -0
  31. package/dist/src/pipeline/launcher.js +16 -3
  32. package/dist/src/pipeline/launcher.js.map +1 -1
  33. package/dist/src/pipeline/log.d.ts +29 -0
  34. package/dist/src/pipeline/log.js +9 -0
  35. package/dist/src/pipeline/log.js.map +1 -1
  36. package/dist/src/pipeline/overlay.d.ts +29 -0
  37. package/dist/src/pipeline/pipeline-file.d.ts +44 -0
  38. package/dist/src/pipeline/pipeline.d.ts +78 -0
  39. package/dist/src/pipeline/pipeline.js +22 -0
  40. package/dist/src/pipeline/pipeline.js.map +1 -1
  41. package/dist/src/pipeline/report.d.ts +26 -0
  42. package/dist/src/pipeline/report.js +13 -0
  43. package/dist/src/pipeline/report.js.map +1 -1
  44. package/dist/src/pipeline/spec.d.ts +63 -0
  45. package/dist/src/pipeline/stage-env.d.ts +13 -0
  46. package/dist/src/pipeline/stage-env.js +31 -0
  47. package/dist/src/pipeline/stage-env.js.map +1 -0
  48. package/dist/src/pipeline/stage.d.ts +71 -0
  49. package/dist/src/pipeline/stage.js.map +1 -1
  50. package/dist/src/pipeline/state.d.ts +63 -0
  51. package/dist/src/pipeline/summary-stage.d.ts +24 -0
  52. package/dist/src/pipeline/task-stage.d.ts +24 -0
  53. package/dist/src/pipeline/task-stage.js +86 -2
  54. package/dist/src/pipeline/task-stage.js.map +1 -1
  55. package/dist/src/pipeline/variables.d.ts +20 -0
  56. package/dist/src/result.d.ts +6 -0
  57. package/dist/src/run.d.ts +69 -0
  58. package/dist/src/run.js +116 -60
  59. package/dist/src/run.js.map +1 -1
  60. package/dist/src/session.d.ts +43 -0
  61. package/dist/src/sessions.d.ts +23 -0
  62. package/dist/src/skills.d.ts +29 -0
  63. package/package.json +11 -2
  64. package/pipelines/api-testing.yml +1 -1
  65. package/scripts/vendor-skills.js +62 -0
  66. package/skills/codeceptjs/ci-fix-tests/SKILL.md +0 -119
  67. package/skills/codeceptjs/codeceptjs-auth/SKILL.md +0 -141
  68. package/skills/codeceptjs/codeceptjs-exploration/SKILL.md +0 -100
  69. package/skills/codeceptjs/codeceptjs-fundamentals/SKILL.md +0 -196
  70. package/skills/codeceptjs/codeceptjs-run-analysis/SKILL.md +0 -83
  71. package/skills/codeceptjs/debugging-codeceptjs-tests/SKILL.md +0 -126
  72. package/skills/codeceptjs/lint-codeceptjs-tests/SKILL.md +0 -104
  73. package/skills/codeceptjs/migrate-codeceptjs-4/SKILL.md +0 -109
  74. package/skills/codeceptjs/migrate-cypress-to-codeceptjs/SKILL.md +0 -295
  75. package/skills/codeceptjs/migrate-protractor-to-codeceptjs/SKILL.md +0 -339
  76. package/skills/codeceptjs/migrate-selenium-java-to-codeceptjs/SKILL.md +0 -459
  77. package/skills/codeceptjs/migrate-testcafe-to-codeceptjs/SKILL.md +0 -338
  78. package/skills/codeceptjs/refactoring-codeceptjs-tests/SKILL.md +0 -78
  79. package/skills/codeceptjs/writing-codeceptjs-tests/SKILL.md +0 -102
  80. package/skills/playwright/playwright-best-practices/SKILL.md +0 -303
  81. package/skills/playwright/playwright-best-practices/advanced/authentication-flows.md +0 -360
  82. package/skills/playwright/playwright-best-practices/advanced/authentication.md +0 -871
  83. package/skills/playwright/playwright-best-practices/advanced/clock-mocking.md +0 -364
  84. package/skills/playwright/playwright-best-practices/advanced/mobile-testing.md +0 -409
  85. package/skills/playwright/playwright-best-practices/advanced/multi-context.md +0 -288
  86. package/skills/playwright/playwright-best-practices/advanced/multi-user.md +0 -393
  87. package/skills/playwright/playwright-best-practices/advanced/network-advanced.md +0 -452
  88. package/skills/playwright/playwright-best-practices/advanced/third-party.md +0 -464
  89. package/skills/playwright/playwright-best-practices/architecture/pom-vs-fixtures.md +0 -363
  90. package/skills/playwright/playwright-best-practices/architecture/test-architecture.md +0 -369
  91. package/skills/playwright/playwright-best-practices/architecture/when-to-mock.md +0 -383
  92. package/skills/playwright/playwright-best-practices/browser-apis/browser-apis.md +0 -391
  93. package/skills/playwright/playwright-best-practices/browser-apis/iframes.md +0 -403
  94. package/skills/playwright/playwright-best-practices/browser-apis/service-workers.md +0 -504
  95. package/skills/playwright/playwright-best-practices/browser-apis/websockets.md +0 -403
  96. package/skills/playwright/playwright-best-practices/core/annotations.md +0 -424
  97. package/skills/playwright/playwright-best-practices/core/assertions-waiting.md +0 -361
  98. package/skills/playwright/playwright-best-practices/core/configuration.md +0 -452
  99. package/skills/playwright/playwright-best-practices/core/fixtures-hooks.md +0 -417
  100. package/skills/playwright/playwright-best-practices/core/global-setup.md +0 -434
  101. package/skills/playwright/playwright-best-practices/core/locators.md +0 -242
  102. package/skills/playwright/playwright-best-practices/core/page-object-model.md +0 -315
  103. package/skills/playwright/playwright-best-practices/core/projects-dependencies.md +0 -453
  104. package/skills/playwright/playwright-best-practices/core/test-data.md +0 -492
  105. package/skills/playwright/playwright-best-practices/core/test-suite-structure.md +0 -361
  106. package/skills/playwright/playwright-best-practices/core/test-tags.md +0 -298
  107. package/skills/playwright/playwright-best-practices/debugging/console-errors.md +0 -420
  108. package/skills/playwright/playwright-best-practices/debugging/debugging.md +0 -504
  109. package/skills/playwright/playwright-best-practices/debugging/error-testing.md +0 -360
  110. package/skills/playwright/playwright-best-practices/debugging/flaky-tests.md +0 -496
  111. package/skills/playwright/playwright-best-practices/frameworks/angular.md +0 -530
  112. package/skills/playwright/playwright-best-practices/frameworks/nextjs.md +0 -469
  113. package/skills/playwright/playwright-best-practices/frameworks/react.md +0 -531
  114. package/skills/playwright/playwright-best-practices/frameworks/vue.md +0 -574
  115. package/skills/playwright/playwright-best-practices/infrastructure-ci-cd/ci-cd.md +0 -468
  116. package/skills/playwright/playwright-best-practices/infrastructure-ci-cd/docker.md +0 -283
  117. package/skills/playwright/playwright-best-practices/infrastructure-ci-cd/github-actions.md +0 -546
  118. package/skills/playwright/playwright-best-practices/infrastructure-ci-cd/gitlab.md +0 -397
  119. package/skills/playwright/playwright-best-practices/infrastructure-ci-cd/other-providers.md +0 -521
  120. package/skills/playwright/playwright-best-practices/infrastructure-ci-cd/parallel-sharding.md +0 -371
  121. package/skills/playwright/playwright-best-practices/infrastructure-ci-cd/performance.md +0 -453
  122. package/skills/playwright/playwright-best-practices/infrastructure-ci-cd/reporting.md +0 -424
  123. package/skills/playwright/playwright-best-practices/infrastructure-ci-cd/test-coverage.md +0 -497
  124. package/skills/playwright/playwright-best-practices/testing-patterns/accessibility.md +0 -359
  125. package/skills/playwright/playwright-best-practices/testing-patterns/api-testing.md +0 -719
  126. package/skills/playwright/playwright-best-practices/testing-patterns/browser-extensions.md +0 -506
  127. package/skills/playwright/playwright-best-practices/testing-patterns/canvas-webgl.md +0 -493
  128. package/skills/playwright/playwright-best-practices/testing-patterns/component-testing.md +0 -500
  129. package/skills/playwright/playwright-best-practices/testing-patterns/drag-drop.md +0 -576
  130. package/skills/playwright/playwright-best-practices/testing-patterns/electron.md +0 -509
  131. package/skills/playwright/playwright-best-practices/testing-patterns/file-operations.md +0 -377
  132. package/skills/playwright/playwright-best-practices/testing-patterns/file-upload-download.md +0 -562
  133. package/skills/playwright/playwright-best-practices/testing-patterns/forms-validation.md +0 -561
  134. package/skills/playwright/playwright-best-practices/testing-patterns/graphql-testing.md +0 -331
  135. package/skills/playwright/playwright-best-practices/testing-patterns/i18n.md +0 -508
  136. package/skills/playwright/playwright-best-practices/testing-patterns/performance-testing.md +0 -476
  137. package/skills/playwright/playwright-best-practices/testing-patterns/security-testing.md +0 -430
  138. package/skills/playwright/playwright-best-practices/testing-patterns/visual-regression.md +0 -634
  139. package/skills/playwright/playwright-cli/SKILL.md +0 -489
  140. package/skills/playwright/playwright-cli/references/element-attributes.md +0 -23
  141. package/skills/playwright/playwright-cli/references/playwright-tests.md +0 -39
  142. package/skills/playwright/playwright-cli/references/pr-attachments.md +0 -60
  143. package/skills/playwright/playwright-cli/references/request-mocking.md +0 -87
  144. package/skills/playwright/playwright-cli/references/running-code.md +0 -245
  145. package/skills/playwright/playwright-cli/references/session-management.md +0 -227
  146. package/skills/playwright/playwright-cli/references/storage-state.md +0 -275
  147. package/skills/playwright/playwright-cli/references/test-generation.md +0 -433
  148. package/skills/playwright/playwright-cli/references/tracing.md +0 -139
  149. package/skills/playwright/playwright-cli/references/video-recording.md +0 -216
  150. package/skills/skills.lock.json +0 -89
  151. package/skills/skills.yaml +0 -35
  152. /package/skills/{testomatio/explorbot → explorbot}/explorbot-fundamentals/SKILL.md +0 -0
  153. /package/skills/{testomatio/explorbot → explorbot}/explorbot-fundamentals/references/no-install.md +0 -0
  154. /package/skills/{testomatio/explorbot → explorbot}/explorbot-plan/SKILL.md +0 -0
  155. /package/skills/{testomatio/explorbot → explorbot}/explorbot-setup/SKILL.md +0 -0
  156. /package/skills/{testomatio/explorbot → explorbot}/prima/SKILL.md +0 -0
  157. /package/skills/{testomatio/qa-process → qa-process}/qa-lead-strategy-advisor/SKILL.md +0 -0
  158. /package/skills/{testomatio/qa-process → qa-process}/qa-lead-strategy-advisor/references/output-format.md +0 -0
  159. /package/skills/{testomatio/qa-process → qa-process}/qa-review-pr/SKILL.md +0 -0
  160. /package/skills/{testomatio/qa-process → qa-process}/testing-workflow/SKILL.md +0 -0
  161. /package/skills/{testomatio/requirements → requirements}/catalog-features/SKILL.md +0 -0
  162. /package/skills/{testomatio/requirements → requirements}/catalog-features/references/layout.md +0 -0
  163. /package/skills/{testomatio/requirements → requirements}/detect-product-mismatches/SKILL.md +0 -0
  164. /package/skills/{testomatio/requirements → requirements}/detect-product-mismatches/references/features.md +0 -0
  165. /package/skills/{testomatio/requirements → requirements}/detect-product-mismatches/references/layout.md +0 -0
  166. /package/skills/{testomatio/requirements → requirements}/pull-request-diff-analyzer/SKILL.md +0 -0
  167. /package/skills/{testomatio/requirements → requirements}/qa-explain-behavior/SKILL.md +0 -0
  168. /package/skills/{testomatio/requirements → requirements}/qa-explain-behavior/references/answer-shapes.md +0 -0
  169. /package/skills/{testomatio/requirements → requirements}/qa-explain-behavior/references/examples.md +0 -0
  170. /package/skills/{testomatio/requirements → requirements}/qa-pr-requirements-analyzer/SKILL.md +0 -0
  171. /package/skills/{testomatio/requirements → requirements}/qa-pr-requirements-analyzer/references/summary-example.md +0 -0
  172. /package/skills/{testomatio/requirements → requirements}/qa-requirement-reviewer/SKILL.md +0 -0
  173. /package/skills/{testomatio/requirements → requirements}/qa-requirement-reviewer/references/requirements_reviewer_examples.md +0 -0
  174. /package/skills/{testomatio/requirements → requirements}/qa-thinking/SKILL.md +0 -0
  175. /package/skills/{testomatio/requirements → requirements}/wiki-from-code/SKILL.md +0 -0
  176. /package/skills/{testomatio/requirements → requirements}/wiki-from-code/references/behaviors.md +0 -0
  177. /package/skills/{testomatio/requirements → requirements}/wiki-from-code/references/layout.md +0 -0
  178. /package/skills/{testomatio/requirements → requirements}/write-user-story/SKILL.md +0 -0
  179. /package/skills/{testomatio/test-automation → test-automation}/automate-manual-test-cases/CLAUDE.md +0 -0
  180. /package/skills/{testomatio/test-automation → test-automation}/automate-manual-test-cases/SKILL.md +0 -0
  181. /package/skills/{testomatio/test-automation → test-automation}/automate-manual-test-cases/references/CODECEPTJS_BEST_PRACTICES.md +0 -0
  182. /package/skills/{testomatio/test-automation → test-automation}/automate-manual-test-cases/references/FINAL_SUMMARY_TEMPLATE.md +0 -0
  183. /package/skills/{testomatio/test-automation → test-automation}/automate-manual-test-cases/references/PLAYWRIGHT_BEST_PRACTICES.md +0 -0
  184. /package/skills/{testomatio/test-automation → test-automation}/automate-manual-test-cases/references/POM_BEST_PRACTICES.md +0 -0
  185. /package/skills/{testomatio/test-automation → test-automation}/automate-manual-test-cases/references/TEST_DATA_MANAGEMENT.md +0 -0
  186. /package/skills/{testomatio/test-automation → test-automation}/debug-fix-failed-flaky-autotests/SKILL.md +0 -0
  187. /package/skills/{testomatio/test-automation → test-automation}/debug-fix-failed-flaky-autotests/references/DEBUGGING_QUICK_REFERENCE.md +0 -0
  188. /package/skills/{testomatio/test-automation → test-automation}/epic-requirements-specification/SKILL.md +0 -0
  189. /package/skills/{testomatio/test-automation → test-automation}/qa-automation-test-consolidation/SKILL.md +0 -0
  190. /package/skills/{testomatio/test-automation → test-automation}/qa-data-seeder/SKILL.md +0 -0
  191. /package/skills/{testomatio/test-automation → test-automation}/run-tests-with-testomatio-reporter/SKILL.md +0 -0
  192. /package/skills/{testomatio/test-automation → test-automation}/setup-change-aware-pr-testing/SKILL.md +0 -0
  193. /package/skills/{testomatio/test-automation → test-automation}/setup-ci-automation/SKILL.md +0 -0
  194. /package/skills/{testomatio/test-automation → test-automation}/testomat-allure-adapter/SKILL.md +0 -0
  195. /package/skills/{testomatio/test-management → test-management}/detect-duplicate-test-cases/SKILL.md +0 -0
  196. /package/skills/{testomatio/test-management → test-management}/detect-duplicate-test-cases/references/DUPLICATE_INSTRUCTIONS.md +0 -0
  197. /package/skills/{testomatio/test-management → test-management}/detect-useless-tests/SKILL.md +0 -0
  198. /package/skills/{testomatio/test-management → test-management}/improve-test-cases/SKILL.md +0 -0
  199. /package/skills/{testomatio/test-management → test-management}/improve-test-cases/references/TESTOMAT_MARKDOWN_EXAMPLE.md +0 -0
  200. /package/skills/{testomatio/test-management → test-management}/migrate-to-testomatio/SKILL.md +0 -0
  201. /package/skills/{testomatio/test-management → test-management}/migrate-to-testomatio/references/CSV_MIGRATION.md +0 -0
  202. /package/skills/{testomatio/test-management → test-management}/migrate-to-testomatio/references/CUSTOM_MIGRATION.md +0 -0
  203. /package/skills/{testomatio/test-management → test-management}/migrate-to-testomatio/references/TESTMO_MIGRATION.md +0 -0
  204. /package/skills/{testomatio/test-management → test-management}/migrate-to-testomatio/references/TESTRAIL_MIGRATION.md +0 -0
  205. /package/skills/{testomatio/test-management → test-management}/migrate-to-testomatio/references/XRAY_MIGRATION.md +0 -0
  206. /package/skills/{testomatio/test-management → test-management}/qa-e2e-tests-reporting/SKILL.md +0 -0
  207. /package/skills/{testomatio/test-management → test-management}/qa-e2e-tests-reporting/references/TESTOMATIO_ARTIFACTS.md +0 -0
  208. /package/skills/{testomatio/test-management → test-management}/qa-e2e-tests-reporting/references/TESTOMATIO_HTML_REPORT.md +0 -0
  209. /package/skills/{testomatio/test-management → test-management}/qa-e2e-tests-reporting/references/TESTOMATIO_REPORTERS_CONFIG.md +0 -0
  210. /package/skills/{testomatio/test-management → test-management}/qa-split-testing-levels-pyramid/SKILL.md +0 -0
  211. /package/skills/{testomatio/test-management → test-management}/qa-sprint-report-by-testomatio/SKILL.md +0 -0
  212. /package/skills/{testomatio/test-management → test-management}/qa-sprint-report-by-testomatio/references/qa-sprint-report.md +0 -0
  213. /package/skills/{testomatio/test-management → test-management}/qa-test-code-coverage/SKILL.md +0 -0
  214. /package/skills/{testomatio/test-management → test-management}/qa-test-code-coverage/references/COVERAGE_FILE_FORMAT.md +0 -0
  215. /package/skills/{testomatio/test-management → test-management}/qa-test-code-coverage/references/E2E_FRAMEWORKS.md +0 -0
  216. /package/skills/{testomatio/test-management → test-management}/qa-test-code-coverage/scripts/check-coverage.mjs +0 -0
  217. /package/skills/{testomatio/test-management → test-management}/qa-write-test-cases/SKILL.md +0 -0
  218. /package/skills/{testomatio/test-management → test-management}/qa-write-test-cases/references/test-case-format.md +0 -0
  219. /package/skills/{testomatio/test-management → test-management}/qa-write-test-cases/references/testomat-tms-guide.md +0 -0
  220. /package/skills/{testomatio/test-management → test-management}/qa-write-test-cases/references/writing-rule.md +0 -0
  221. /package/skills/{testomatio/test-management → test-management}/scan-automation-project/SKILL.md +0 -0
  222. /package/skills/{testomatio/test-management → test-management}/sync-test-cases-with-tms/SKILL.md +0 -0
  223. /package/skills/{testomatio/test-management → test-management}/sync-test-cases-with-tms/references/TESTOMATIO_CLI.md +0 -0
  224. /package/skills/{testomatio/test-management → test-management}/testomatio-mcp/SKILL.md +0 -0
  225. /package/skills/{testomatio/test-management → test-management}/testomatio-mcp/references/MCP_SETUP.md +0 -0
@@ -1,468 +0,0 @@
1
- # CI/CD Integration
2
-
3
- ## Table of Contents
4
-
5
- 1. [GitHub Actions](#github-actions)
6
- 2. [Docker](#docker)
7
- 3. [Reporting](#reporting)
8
- 4. [Sharding](#sharding)
9
- 5. [Environment Management](#environment-management)
10
- 6. [Caching](#caching)
11
-
12
- ## GitHub Actions
13
-
14
- ### Basic Workflow
15
-
16
- ```yaml
17
- # .github/workflows/playwright.yml
18
- name: Playwright Tests
19
-
20
- on:
21
- push:
22
- branches: [main]
23
- pull_request:
24
- branches: [main]
25
-
26
- jobs:
27
- test:
28
- timeout-minutes: 60
29
- runs-on: ubuntu-latest
30
- steps:
31
- - uses: actions/checkout@v4
32
-
33
- - uses: actions/setup-node@v4
34
- with:
35
- node-version: 22
36
- cache: "npm"
37
-
38
- - name: Install dependencies
39
- run: npm ci
40
-
41
- - name: Install Playwright browsers
42
- run: npx playwright install --with-deps
43
-
44
- - name: Run Playwright tests
45
- run: npx playwright test
46
-
47
- - uses: actions/upload-artifact@v4
48
- if: ${{ !cancelled() }}
49
- with:
50
- name: playwright-report
51
- path: playwright-report/
52
- retention-days: 30
53
- ```
54
-
55
- ### With Sharding
56
-
57
- ```yaml
58
- name: Playwright Tests
59
-
60
- on:
61
- push:
62
- branches: [main]
63
-
64
- jobs:
65
- test:
66
- timeout-minutes: 60
67
- runs-on: ubuntu-latest
68
- strategy:
69
- fail-fast: false
70
- matrix:
71
- shardIndex: [1, 2, 3, 4]
72
- shardTotal: [4]
73
- steps:
74
- - uses: actions/checkout@v4
75
-
76
- - uses: actions/setup-node@v4
77
- with:
78
- node-version: 22
79
- cache: "npm"
80
-
81
- - name: Install dependencies
82
- run: npm ci
83
-
84
- - name: Install Playwright browsers
85
- run: npx playwright install --with-deps
86
-
87
- - name: Run Playwright tests
88
- run: npx playwright test --shard=${{ matrix.shardIndex }}/${{ matrix.shardTotal }}
89
-
90
- - name: Upload blob report
91
- if: ${{ !cancelled() }}
92
- uses: actions/upload-artifact@v4
93
- with:
94
- name: blob-report-${{ matrix.shardIndex }}
95
- path: blob-report
96
- retention-days: 1
97
-
98
- merge-reports:
99
- if: ${{ !cancelled() }}
100
- needs: [test]
101
- runs-on: ubuntu-latest
102
- steps:
103
- - uses: actions/checkout@v4
104
-
105
- - uses: actions/setup-node@v4
106
- with:
107
- node-version: 22
108
- cache: "npm"
109
-
110
- - name: Install dependencies
111
- run: npm ci
112
-
113
- - name: Download blob reports
114
- uses: actions/download-artifact@v4
115
- with:
116
- path: all-blob-reports
117
- pattern: blob-report-*
118
- merge-multiple: true
119
-
120
- - name: Merge reports
121
- run: npx playwright merge-reports --reporter html ./all-blob-reports
122
-
123
- - name: Upload HTML report
124
- uses: actions/upload-artifact@v4
125
- with:
126
- name: html-report
127
- path: playwright-report
128
- retention-days: 14
129
- ```
130
-
131
- ### With Container
132
-
133
- ```yaml
134
- jobs:
135
- test:
136
- timeout-minutes: 60
137
- runs-on: ubuntu-latest
138
- container:
139
- # Use latest or more appropriate playwright version (match package.json)
140
- image: mcr.microsoft.com/playwright:v1.40.0-jammy
141
- steps:
142
- - uses: actions/checkout@v4
143
-
144
- - uses: actions/setup-node@v4
145
- with:
146
- node-version: 22
147
- cache: "npm"
148
-
149
- - name: Install dependencies
150
- run: npm ci
151
-
152
- - name: Run tests
153
- run: npx playwright test
154
- env:
155
- HOME: /root
156
- ```
157
-
158
- ## Docker
159
-
160
- ### Dockerfile
161
-
162
- ```dockerfile
163
- FROM mcr.microsoft.com/playwright:v1.40.0-jammy
164
-
165
- WORKDIR /app
166
-
167
- COPY package*.json ./
168
- RUN npm ci
169
-
170
- COPY . .
171
-
172
- CMD ["npx", "playwright", "test"]
173
- ```
174
-
175
- ### Docker Compose
176
-
177
- ```yaml
178
- # docker-compose.yml
179
- version: "3.8"
180
-
181
- services:
182
- playwright:
183
- build: .
184
- volumes:
185
- - ./playwright-report:/app/playwright-report
186
- - ./test-results:/app/test-results
187
- environment:
188
- - CI=true
189
- - BASE_URL=http://app:3000
190
- depends_on:
191
- - app
192
-
193
- app:
194
- build: ./app
195
- ports:
196
- - "3000:3000"
197
- ```
198
-
199
- ### Run with Docker
200
-
201
- ```bash
202
- # Build and run
203
- docker build -t playwright-tests .
204
- docker run --rm -v $(pwd)/playwright-report:/app/playwright-report playwright-tests
205
-
206
- # With docker-compose
207
- docker-compose run --rm playwright
208
- ```
209
-
210
- ## Reporting
211
-
212
- ### Configuration
213
-
214
- ```typescript
215
- // playwright.config.ts
216
- export default defineConfig({
217
- reporter: [
218
- // Always generate
219
- ["html", { outputFolder: "playwright-report" }],
220
-
221
- // Console output
222
- ["list"],
223
-
224
- // CI-friendly
225
- ["github"], // GitHub Actions annotations
226
-
227
- // JUnit for CI integration
228
- ["junit", { outputFile: "results.xml" }],
229
-
230
- // JSON for custom processing
231
- ["json", { outputFile: "results.json" }],
232
-
233
- // Blob for merging shards
234
- ["blob", { outputDir: "blob-report" }],
235
- ],
236
- });
237
- ```
238
-
239
- ### CI-Specific Reporter
240
-
241
- ```typescript
242
- export default defineConfig({
243
- reporter: process.env.CI
244
- ? [["github"], ["blob"], ["html"]]
245
- : [["list"], ["html"]],
246
- });
247
- ```
248
-
249
- ## Sharding
250
-
251
- ### Command Line
252
-
253
- ```bash
254
- # Split into 4 shards, run shard 1
255
- npx playwright test --shard=1/4
256
-
257
- # Run shard 2
258
- npx playwright test --shard=2/4
259
- ```
260
-
261
- ### Configuration
262
-
263
- ```typescript
264
- // playwright.config.ts
265
- export default defineConfig({
266
- // Evenly distribute tests across shards
267
- fullyParallel: true,
268
-
269
- // For blob reporter to merge later
270
- reporter: process.env.CI ? [["blob"]] : [["html"]],
271
- });
272
- ```
273
-
274
- ### Merge Sharded Reports
275
-
276
- ```bash
277
- # After all shards complete, merge blob reports
278
- npx playwright merge-reports --reporter html ./all-blob-reports
279
- ```
280
-
281
- ## Environment Management
282
-
283
- ### Environment Variables
284
-
285
- ```typescript
286
- // playwright.config.ts
287
- import { defineConfig } from "@playwright/test";
288
- import dotenv from "dotenv";
289
-
290
- // Load env file based on environment
291
- dotenv.config({ path: `.env.${process.env.NODE_ENV || "development"}` });
292
-
293
- export default defineConfig({
294
- use: {
295
- baseURL: process.env.BASE_URL || "http://localhost:3000",
296
- },
297
- });
298
- ```
299
-
300
- ### Multiple Environments
301
-
302
- ```yaml
303
- # .github/workflows/playwright.yml
304
- jobs:
305
- test:
306
- strategy:
307
- matrix:
308
- environment: [staging, production]
309
- steps:
310
- - name: Run tests
311
- run: npx playwright test
312
- env:
313
- BASE_URL: ${{ matrix.environment == 'staging' && 'https://staging.example.com' || 'https://example.com' }}
314
- TEST_USER: ${{ secrets[format('TEST_USER_{0}', matrix.environment)] }}
315
- ```
316
-
317
- ### Secrets Management
318
-
319
- ```yaml
320
- # GitHub Actions secrets
321
- - name: Run tests
322
- run: npx playwright test
323
- env:
324
- TEST_EMAIL: ${{ secrets.TEST_EMAIL }}
325
- TEST_PASSWORD: ${{ secrets.TEST_PASSWORD }}
326
- ```
327
-
328
- ```typescript
329
- // tests use environment variables
330
- test("login", async ({ page }) => {
331
- await page.getByLabel("Email").fill(process.env.TEST_EMAIL!);
332
- await page.getByLabel("Password").fill(process.env.TEST_PASSWORD!);
333
- });
334
- ```
335
-
336
- ## Caching
337
-
338
- ### Cache Playwright Browsers
339
-
340
- ```yaml
341
- - name: Cache Playwright browsers
342
- uses: actions/cache@v4
343
- id: playwright-cache
344
- with:
345
- path: ~/.cache/ms-playwright
346
- key: playwright-${{ runner.os }}-${{ hashFiles('package-lock.json') }}
347
-
348
- - name: Install Playwright browsers
349
- if: steps.playwright-cache.outputs.cache-hit != 'true'
350
- run: npx playwright install --with-deps
351
-
352
- - name: Install system deps only
353
- if: steps.playwright-cache.outputs.cache-hit == 'true'
354
- run: npx playwright install-deps
355
- ```
356
-
357
- ### Cache Node Modules
358
-
359
- ```yaml
360
- - uses: actions/setup-node@v4
361
- with:
362
- node-version: 22
363
- cache: "npm"
364
-
365
- - name: Install dependencies
366
- run: npm ci
367
- ```
368
-
369
- ## Tag-Based Test Filtering
370
-
371
- ### Run Specific Tags in CI
372
-
373
- ```yaml
374
- # Run smoke tests on PR
375
- - name: Run smoke tests
376
- run: npx playwright test --grep @smoke
377
-
378
- # Run full regression nightly
379
- - name: Run regression
380
- run: npx playwright test --grep @regression
381
-
382
- # Exclude flaky tests
383
- - name: Run stable tests
384
- run: npx playwright test --grep-invert @flaky
385
- ```
386
-
387
- ### PR vs Nightly Strategy
388
-
389
- ```yaml
390
- # .github/workflows/pr.yml - Fast feedback
391
- - name: Run critical tests
392
- run: npx playwright test --grep "@smoke|@critical"
393
-
394
- # .github/workflows/nightly.yml - Full coverage
395
- - name: Run all tests
396
- run: npx playwright test --grep-invert @flaky
397
- ```
398
-
399
- ### Tag Filtering in Config
400
-
401
- ```typescript
402
- // playwright.config.ts
403
- export default defineConfig({
404
- grep: process.env.CI ? /@smoke|@critical/ : undefined,
405
- grepInvert: process.env.CI ? /@flaky/ : undefined,
406
- });
407
- ```
408
-
409
- ### Project-Based Tag Filtering
410
-
411
- ```typescript
412
- // playwright.config.ts
413
- export default defineConfig({
414
- projects: [
415
- {
416
- name: "smoke",
417
- grep: /@smoke/,
418
- },
419
- {
420
- name: "regression",
421
- grepInvert: /@smoke/,
422
- },
423
- ],
424
- });
425
- ```
426
-
427
- ## Best Practices
428
-
429
- | Practice | Benefit |
430
- | ----------------------------- | ------------------------- |
431
- | Use `npm ci` | Deterministic installs |
432
- | Run headless in CI | Faster, no display needed |
433
- | Set retries in CI only | Handle flakiness |
434
- | Upload artifacts on failure | Debug failures |
435
- | Use sharding for large suites | Faster execution |
436
- | Cache browsers | Faster setup |
437
- | Use blob reporter for shards | Merge reports correctly |
438
- | Use tags for PR vs nightly | Fast feedback + coverage |
439
- | Exclude @flaky in CI | Stable pipeline |
440
-
441
- ## CI Configuration Reference
442
-
443
- ```typescript
444
- // playwright.config.ts - CI optimized
445
- export default defineConfig({
446
- testDir: "./tests",
447
- fullyParallel: true,
448
- forbidOnly: !!process.env.CI,
449
- retries: process.env.CI ? 2 : 0,
450
- workers: process.env.CI ? 1 : undefined,
451
- reporter: process.env.CI
452
- ? [["github"], ["blob"], ["html"]]
453
- : [["list"], ["html"]],
454
- use: {
455
- baseURL: process.env.BASE_URL || "http://localhost:3000",
456
- trace: "on-first-retry",
457
- screenshot: "only-on-failure",
458
- video: "on-first-retry",
459
- },
460
- });
461
- ```
462
-
463
- ## Related References
464
-
465
- - **Test tags**: See [test-tags.md](../core/test-tags.md) for tagging and filtering patterns
466
- - **Performance optimization**: See [performance.md](performance.md) for sharding and parallelization
467
- - **Debugging CI failures**: See [debugging.md](../debugging/debugging.md) for troubleshooting
468
- - **Test reporting**: See [debugging.md](../debugging/debugging.md) for trace viewer usage