testeiya 0.2.1 → 0.3.1-5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (405) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +325 -171
  3. package/dist/prompt/context.js +79 -0
  4. package/dist/prompt/context.js.map +1 -0
  5. package/dist/prompt/index.js +60 -0
  6. package/dist/prompt/index.js.map +1 -0
  7. package/dist/prompt/print.js +30 -0
  8. package/dist/prompt/print.js.map +1 -0
  9. package/dist/prompt/project-info.js +2 -0
  10. package/dist/prompt/project-info.js.map +1 -0
  11. package/{src/prompt/system-prompt.ts → dist/prompt/system-prompt.js} +38 -25
  12. package/dist/prompt/system-prompt.js.map +1 -0
  13. package/dist/prompt/testomatio.js +264 -0
  14. package/dist/prompt/testomatio.js.map +1 -0
  15. package/dist/prompt/tools.js +70 -0
  16. package/dist/prompt/tools.js.map +1 -0
  17. package/dist/prompt/vocab.js +8 -0
  18. package/dist/prompt/vocab.js.map +1 -0
  19. package/dist/src/args.js +224 -0
  20. package/dist/src/args.js.map +1 -0
  21. package/dist/src/cli.js +105 -0
  22. package/dist/src/cli.js.map +1 -0
  23. package/dist/src/doctor.js +171 -0
  24. package/dist/src/doctor.js.map +1 -0
  25. package/dist/src/env.js +103 -0
  26. package/dist/src/env.js.map +1 -0
  27. package/dist/src/mcp-extension.js +9 -0
  28. package/dist/src/mcp-extension.js.map +1 -0
  29. package/dist/src/mcp.js +139 -0
  30. package/dist/src/mcp.js.map +1 -0
  31. package/dist/src/model.js +71 -0
  32. package/dist/src/model.js.map +1 -0
  33. package/dist/src/models.js +38 -0
  34. package/dist/src/models.js.map +1 -0
  35. package/dist/src/output.js +216 -0
  36. package/dist/src/output.js.map +1 -0
  37. package/dist/src/result.js +41 -0
  38. package/dist/src/result.js.map +1 -0
  39. package/dist/src/run.js +313 -0
  40. package/dist/src/run.js.map +1 -0
  41. package/dist/src/session.js +98 -0
  42. package/dist/src/session.js.map +1 -0
  43. package/dist/src/sessions.js +72 -0
  44. package/dist/src/sessions.js.map +1 -0
  45. package/dist/src/skills.js +130 -0
  46. package/dist/src/skills.js.map +1 -0
  47. package/dist/vendor/mcp.js +14801 -0
  48. package/mcp-tools.json +2967 -0
  49. package/package.json +34 -43
  50. package/prompt/context.ts +101 -0
  51. package/prompt/index.ts +102 -0
  52. package/prompt/print.ts +32 -0
  53. package/prompt/project-info.ts +30 -0
  54. package/prompt/system-prompt.ts +187 -0
  55. package/{src/prompt → prompt}/testomatio.ts +120 -9
  56. package/prompt/tools.ts +72 -0
  57. package/prompt/vocab.ts +7 -0
  58. package/skills/codeceptjs/ci-fix-tests/SKILL.md +7 -8
  59. package/skills/codeceptjs/codeceptjs-auth/SKILL.md +47 -64
  60. package/skills/codeceptjs/codeceptjs-exploration/SKILL.md +56 -47
  61. package/skills/codeceptjs/codeceptjs-fundamentals/SKILL.md +144 -106
  62. package/skills/codeceptjs/codeceptjs-run-analysis/SKILL.md +50 -57
  63. package/skills/codeceptjs/debugging-codeceptjs-tests/SKILL.md +88 -196
  64. package/skills/codeceptjs/migrate-codeceptjs-4/SKILL.md +4 -5
  65. package/skills/codeceptjs/migrate-cypress-to-codeceptjs/SKILL.md +25 -36
  66. package/skills/codeceptjs/migrate-protractor-to-codeceptjs/SKILL.md +23 -36
  67. package/skills/codeceptjs/migrate-selenium-java-to-codeceptjs/SKILL.md +23 -36
  68. package/skills/codeceptjs/migrate-testcafe-to-codeceptjs/SKILL.md +23 -35
  69. package/skills/codeceptjs/refactoring-codeceptjs-tests/SKILL.md +50 -53
  70. package/skills/codeceptjs/writing-codeceptjs-tests/SKILL.md +87 -191
  71. package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/SKILL.md +1 -1
  72. package/{skills.lock.json → skills/skills.lock.json} +45 -37
  73. package/skills/skills.yaml +35 -0
  74. package/skills/testomatio/explorbot/explorbot-fundamentals/SKILL.md +49 -61
  75. package/skills/testomatio/explorbot/explorbot-fundamentals/references/no-install.md +36 -0
  76. package/skills/testomatio/explorbot/explorbot-plan/SKILL.md +20 -7
  77. package/skills/testomatio/explorbot/explorbot-setup/SKILL.md +41 -289
  78. package/skills/testomatio/explorbot/prima/SKILL.md +87 -0
  79. package/skills/testomatio/qa-process/qa-explain-behavior/SKILL.md +111 -0
  80. package/skills/testomatio/qa-process/qa-explain-behavior/references/answer-shapes.md +116 -0
  81. package/skills/testomatio/qa-process/qa-explain-behavior/references/examples.md +157 -0
  82. package/skills/testomatio/qa-process/qa-lead-strategy-advisor/SKILL.md +91 -0
  83. package/skills/testomatio/qa-process/qa-lead-strategy-advisor/references/output-format.md +71 -0
  84. package/skills/testomatio/qa-process/testing-workflow/SKILL.md +227 -0
  85. package/skills/testomatio/test-automation/qa-data-seeder/SKILL.md +83 -0
  86. package/skills/testomatio/test-automation/run-tests-with-testomatio-reporter/SKILL.md +5 -3
  87. package/skills/testomatio/test-automation/setup-change-aware-pr-testing/SKILL.md +190 -0
  88. package/skills/testomatio/test-automation/setup-ci-automation/SKILL.md +76 -0
  89. package/skills/testomatio/test-management/qa-split-testing-levels-pyramid/SKILL.md +55 -0
  90. package/skills/testomatio/test-management/qa-sprint-report-by-testomatio/SKILL.md +220 -0
  91. package/skills/testomatio/test-management/qa-sprint-report-by-testomatio/references/qa-sprint-report.md +126 -0
  92. package/skills/testomatio/test-management/qa-test-code-coverage/SKILL.md +1 -1
  93. package/skills/testomatio/test-management/qa-thinking/SKILL.md +25 -25
  94. package/skills/testomatio/test-management/testomatio-mcp/SKILL.md +14 -1
  95. package/skills/testomatio/test-management/testomatio-mcp/references/MCP_SETUP.md +8 -0
  96. package/assets/testeiya-logo-dark.svg +0 -16
  97. package/assets/testeiya-logo.svg +0 -15
  98. package/models.catalog.json +0 -6963
  99. package/skills/playwright-best-practices-skill/LICENSE.md +0 -7
  100. package/skills/playwright-best-practices-skill/README.md +0 -147
  101. package/skills/testeiya/README.md +0 -29
  102. package/skills/testeiya/answer-formatting/SKILL.md +0 -30
  103. package/skills/testeiya/check-cucumber/SKILL.md +0 -200
  104. package/skills/testeiya/check-tests/SKILL.md +0 -260
  105. package/skills/testeiya/manual-run-assistant/SKILL.md +0 -61
  106. package/skills/testeiya/testomatio-docs/INDEX.md +0 -175
  107. package/skills/testeiya/testomatio-docs/SKILL.md +0 -102
  108. package/skills/testeiya/testomatio-docs/docs/advanced/ai-powered-features/ai-agents.md +0 -144
  109. package/skills/testeiya/testomatio-docs/docs/advanced/ai-powered-features/ai-powered-features.md +0 -531
  110. package/skills/testeiya/testomatio-docs/docs/advanced/ai-powered-features/ai-requirements.md +0 -437
  111. package/skills/testeiya/testomatio-docs/docs/advanced/api-access/index.md +0 -191
  112. package/skills/testeiya/testomatio-docs/docs/advanced/branches-folder/index.md +0 -277
  113. package/skills/testeiya/testomatio-docs/docs/advanced/bulk-edit-folder/bulk-edit-demos.mdx +0 -39
  114. package/skills/testeiya/testomatio-docs/docs/advanced/bulk-edit-folder/bulk-edit-on-suite-and-test-level.md +0 -122
  115. package/skills/testeiya/testomatio-docs/docs/advanced/bulk-edit-folder/what-is-bulk-edit.md +0 -170
  116. package/skills/testeiya/testomatio-docs/docs/advanced/jira-plugin/branches.md +0 -53
  117. package/skills/testeiya/testomatio-docs/docs/advanced/jira-plugin/index.mdx +0 -98
  118. package/skills/testeiya/testomatio-docs/docs/advanced/jira-plugin/jira-issue.md +0 -151
  119. package/skills/testeiya/testomatio-docs/docs/advanced/jira-plugin/runs-and-reports.md +0 -377
  120. package/skills/testeiya/testomatio-docs/docs/advanced/jira-plugin/work-in-jira.md +0 -267
  121. package/skills/testeiya/testomatio-docs/docs/advanced/living-doc/index.md +0 -138
  122. package/skills/testeiya/testomatio-docs/docs/advanced/milestones/index.md +0 -220
  123. package/skills/testeiya/testomatio-docs/docs/advanced/shortcuts/index.md +0 -48
  124. package/skills/testeiya/testomatio-docs/docs/advanced/tags-labels/labels-and-custom-fields.md +0 -201
  125. package/skills/testeiya/testomatio-docs/docs/advanced/tags-labels/tags-or-labels.md +0 -94
  126. package/skills/testeiya/testomatio-docs/docs/advanced/tags-labels/tags.md +0 -243
  127. package/skills/testeiya/testomatio-docs/docs/advanced/test-artifacts/index.md +0 -135
  128. package/skills/testeiya/testomatio-docs/docs/advanced/tql/index.md +0 -394
  129. package/skills/testeiya/testomatio-docs/docs/getting-started/index.md +0 -290
  130. package/skills/testeiya/testomatio-docs/docs/integrations/continuous-integration/azure.md +0 -96
  131. package/skills/testeiya/testomatio-docs/docs/integrations/continuous-integration/bamboo.md +0 -94
  132. package/skills/testeiya/testomatio-docs/docs/integrations/continuous-integration/bitbucket.md +0 -106
  133. package/skills/testeiya/testomatio-docs/docs/integrations/continuous-integration/circle.md +0 -115
  134. package/skills/testeiya/testomatio-docs/docs/integrations/continuous-integration/github.md +0 -120
  135. package/skills/testeiya/testomatio-docs/docs/integrations/continuous-integration/gitlab.md +0 -88
  136. package/skills/testeiya/testomatio-docs/docs/integrations/continuous-integration/index.mdx +0 -151
  137. package/skills/testeiya/testomatio-docs/docs/integrations/continuous-integration/jenkins.md +0 -121
  138. package/skills/testeiya/testomatio-docs/docs/integrations/continuous-integration/teamcity.md +0 -96
  139. package/skills/testeiya/testomatio-docs/docs/integrations/issues-management/azure.md +0 -31
  140. package/skills/testeiya/testomatio-docs/docs/integrations/issues-management/clickup.md +0 -54
  141. package/skills/testeiya/testomatio-docs/docs/integrations/issues-management/confluence.md +0 -34
  142. package/skills/testeiya/testomatio-docs/docs/integrations/issues-management/github.md +0 -31
  143. package/skills/testeiya/testomatio-docs/docs/integrations/issues-management/gitlab.md +0 -93
  144. package/skills/testeiya/testomatio-docs/docs/integrations/issues-management/index.md +0 -131
  145. package/skills/testeiya/testomatio-docs/docs/integrations/issues-management/jira.md +0 -164
  146. package/skills/testeiya/testomatio-docs/docs/integrations/issues-management/linear.md +0 -29
  147. package/skills/testeiya/testomatio-docs/docs/integrations/issues-management/shortcut.md +0 -67
  148. package/skills/testeiya/testomatio-docs/docs/integrations/issues-management/youtrack.md +0 -94
  149. package/skills/testeiya/testomatio-docs/docs/integrations/report-notifications/azure-devops.md +0 -53
  150. package/skills/testeiya/testomatio-docs/docs/integrations/report-notifications/email.md +0 -71
  151. package/skills/testeiya/testomatio-docs/docs/integrations/report-notifications/jira.md +0 -52
  152. package/skills/testeiya/testomatio-docs/docs/integrations/report-notifications/ms-teams.md +0 -60
  153. package/skills/testeiya/testomatio-docs/docs/integrations/report-notifications/rules.md +0 -267
  154. package/skills/testeiya/testomatio-docs/docs/integrations/report-notifications/slack.md +0 -82
  155. package/skills/testeiya/testomatio-docs/docs/integrations/report-notifications/telegram.md +0 -73
  156. package/skills/testeiya/testomatio-docs/docs/integrations/scim-provisioning/index.mdx +0 -207
  157. package/skills/testeiya/testomatio-docs/docs/integrations/scim-provisioning/okta.md +0 -204
  158. package/skills/testeiya/testomatio-docs/docs/integrations/single-sign-on/azure.md +0 -95
  159. package/skills/testeiya/testomatio-docs/docs/integrations/single-sign-on/google.md +0 -75
  160. package/skills/testeiya/testomatio-docs/docs/integrations/single-sign-on/index.mdx +0 -33
  161. package/skills/testeiya/testomatio-docs/docs/integrations/single-sign-on/okta.md +0 -108
  162. package/skills/testeiya/testomatio-docs/docs/integrations/single-sign-on/saml.md +0 -66
  163. package/skills/testeiya/testomatio-docs/docs/legal/compliance/gdpr.md +0 -95
  164. package/skills/testeiya/testomatio-docs/docs/legal/compliance/index.mdx +0 -94
  165. package/skills/testeiya/testomatio-docs/docs/legal/compliance/privacy.md +0 -26
  166. package/skills/testeiya/testomatio-docs/docs/legal/compliance/terms.md +0 -32
  167. package/skills/testeiya/testomatio-docs/docs/legal/security/index.mdx +0 -242
  168. package/skills/testeiya/testomatio-docs/docs/legal/security/jira.md +0 -140
  169. package/skills/testeiya/testomatio-docs/docs/legal/security/subprocessors.md +0 -76
  170. package/skills/testeiya/testomatio-docs/docs/management/company/administration.md +0 -363
  171. package/skills/testeiya/testomatio-docs/docs/management/company/audit-log.md +0 -41
  172. package/skills/testeiya/testomatio-docs/docs/management/company/plan-features-comparison.md +0 -240
  173. package/skills/testeiya/testomatio-docs/docs/management/company/subscriptions.md +0 -326
  174. package/skills/testeiya/testomatio-docs/docs/management/company/trials.md +0 -75
  175. package/skills/testeiya/testomatio-docs/docs/management/company/users-and-permissions/accountant.md +0 -49
  176. package/skills/testeiya/testomatio-docs/docs/management/company/users-and-permissions/index.mdx +0 -285
  177. package/skills/testeiya/testomatio-docs/docs/management/company/users-and-permissions/read-only-user.md +0 -67
  178. package/skills/testeiya/testomatio-docs/docs/management/company/users-and-permissions/teams.md +0 -138
  179. package/skills/testeiya/testomatio-docs/docs/management/project/settings.md +0 -87
  180. package/skills/testeiya/testomatio-docs/docs/management/project/templates.md +0 -546
  181. package/skills/testeiya/testomatio-docs/docs/project/analytics/index.md +0 -326
  182. package/skills/testeiya/testomatio-docs/docs/project/import-export/export-tests/classical-tests-markdown-format.md +0 -386
  183. package/skills/testeiya/testomatio-docs/docs/project/import-export/export-tests/download-manual-tests-as-files.md +0 -378
  184. package/skills/testeiya/testomatio-docs/docs/project/import-export/export-tests/export-to-obsidian.md +0 -112
  185. package/skills/testeiya/testomatio-docs/docs/project/import-export/export-tests/export-to-spreadsheet.md +0 -127
  186. package/skills/testeiya/testomatio-docs/docs/project/import-export/import/auto-import.md +0 -63
  187. package/skills/testeiya/testomatio-docs/docs/project/import-export/import/import-tests-from-Allure-TestOps.md +0 -49
  188. package/skills/testeiya/testomatio-docs/docs/project/import-export/import/import-tests-from-QTest.md +0 -41
  189. package/skills/testeiya/testomatio-docs/docs/project/import-export/import/import-tests-from-Qase.md +0 -39
  190. package/skills/testeiya/testomatio-docs/docs/project/import-export/import/import-tests-from-Zephyr.md +0 -37
  191. package/skills/testeiya/testomatio-docs/docs/project/import-export/import/import-tests-from-csv-xlsx.md +0 -117
  192. package/skills/testeiya/testomatio-docs/docs/project/import-export/import/import-tests-from-cucumber.md +0 -93
  193. package/skills/testeiya/testomatio-docs/docs/project/import-export/import/import-tests-from-qmetry.md +0 -44
  194. package/skills/testeiya/testomatio-docs/docs/project/import-export/import/import-tests-from-source-code.md +0 -117
  195. package/skills/testeiya/testomatio-docs/docs/project/import-export/import/import-tests-from-testcaselabs.md +0 -44
  196. package/skills/testeiya/testomatio-docs/docs/project/import-export/import/import-tests-from-testmo.md +0 -47
  197. package/skills/testeiya/testomatio-docs/docs/project/import-export/import/import-tests-from-testrail.md +0 -82
  198. package/skills/testeiya/testomatio-docs/docs/project/import-export/import/import-tests-from-xray.md +0 -55
  199. package/skills/testeiya/testomatio-docs/docs/project/plans/index.md +0 -334
  200. package/skills/testeiya/testomatio-docs/docs/project/pulse/index.md +0 -104
  201. package/skills/testeiya/testomatio-docs/docs/project/runs/archive-runs-and-groups.md +0 -176
  202. package/skills/testeiya/testomatio-docs/docs/project/runs/custom-statuses.md +0 -195
  203. package/skills/testeiya/testomatio-docs/docs/project/runs/environments.md +0 -203
  204. package/skills/testeiya/testomatio-docs/docs/project/runs/managing-runs.md +0 -455
  205. package/skills/testeiya/testomatio-docs/docs/project/runs/merge-strategies.md +0 -137
  206. package/skills/testeiya/testomatio-docs/docs/project/runs/reports.md +0 -329
  207. package/skills/testeiya/testomatio-docs/docs/project/runs/rungroups.md +0 -342
  208. package/skills/testeiya/testomatio-docs/docs/project/runs/running-automated-tests.md +0 -256
  209. package/skills/testeiya/testomatio-docs/docs/project/runs/running-manual-and-automated-tests.md +0 -331
  210. package/skills/testeiya/testomatio-docs/docs/project/runs/running-tests-manually.md +0 -633
  211. package/skills/testeiya/testomatio-docs/docs/project/runs/temporary-tests-notes.md +0 -223
  212. package/skills/testeiya/testomatio-docs/docs/project/steps-snippets/snippets.md +0 -68
  213. package/skills/testeiya/testomatio-docs/docs/project/steps-snippets/steps.md +0 -181
  214. package/skills/testeiya/testomatio-docs/docs/project/tests/bdd-test-case-editor.md +0 -98
  215. package/skills/testeiya/testomatio-docs/docs/project/tests/classical-test-case-editor.md +0 -354
  216. package/skills/testeiya/testomatio-docs/docs/project/tests/classical-vs-bdd.md +0 -169
  217. package/skills/testeiya/testomatio-docs/docs/project/tests/copy-and-move-your-tests.md +0 -156
  218. package/skills/testeiya/testomatio-docs/docs/project/tests/other-features-for-test-case-design.md +0 -412
  219. package/skills/testeiya/testomatio-docs/docs/project/tests/test-case-creation-and-editing.md +0 -527
  220. package/skills/testeiya/testomatio-docs/docs/support/index.md +0 -75
  221. package/skills/testeiya/testomatio-docs/docs/test-reporting/artifacts.md +0 -388
  222. package/skills/testeiya/testomatio-docs/docs/test-reporting/cli.md +0 -215
  223. package/skills/testeiya/testomatio-docs/docs/test-reporting/configuration.md +0 -247
  224. package/skills/testeiya/testomatio-docs/docs/test-reporting/frameworks.md +0 -490
  225. package/skills/testeiya/testomatio-docs/docs/test-reporting/functions.md +0 -144
  226. package/skills/testeiya/testomatio-docs/docs/test-reporting/index.mdx +0 -48
  227. package/skills/testeiya/testomatio-docs/docs/test-reporting/junit.md +0 -248
  228. package/skills/testeiya/testomatio-docs/docs/test-reporting/logger.md +0 -138
  229. package/skills/testeiya/testomatio-docs/docs/test-reporting/php.md +0 -77
  230. package/skills/testeiya/testomatio-docs/docs/test-reporting/pipes/bitbucket.md +0 -72
  231. package/skills/testeiya/testomatio-docs/docs/test-reporting/pipes/csv.md +0 -23
  232. package/skills/testeiya/testomatio-docs/docs/test-reporting/pipes/debug.md +0 -18
  233. package/skills/testeiya/testomatio-docs/docs/test-reporting/pipes/github.md +0 -63
  234. package/skills/testeiya/testomatio-docs/docs/test-reporting/pipes/gitlab.md +0 -29
  235. package/skills/testeiya/testomatio-docs/docs/test-reporting/pipes/html.md +0 -80
  236. package/skills/testeiya/testomatio-docs/docs/test-reporting/pipes/index.mdx +0 -57
  237. package/skills/testeiya/testomatio-docs/docs/test-reporting/pipes/testomatio.md +0 -331
  238. package/skills/testeiya/testomatio-docs/docs/test-reporting/python.md +0 -229
  239. package/skills/testeiya/testomatio-docs/docs/test-reporting/workflows.md +0 -325
  240. package/skills/testeiya/testomatio-docs/docs/tutorials/Interacting-via-API.md +0 -159
  241. package/skills/testeiya/testomatio-docs/docs/tutorials/Manual-Testing-Classic.md +0 -164
  242. package/skills/testeiya/testomatio-docs/docs/tutorials/Set-Up-Read-Only-Access.md +0 -85
  243. package/skills/testeiya/testomatio-docs/docs/tutorials/Using-AI-in-Testing.md +0 -163
  244. package/skills/testeiya/testomatio-docs/docs/tutorials/Working-with-Jira.md +0 -125
  245. package/skills/testeiya/testomatio-docs/docs/tutorials/java.md +0 -478
  246. package/skills/testeiya/testomatio-docs/docs/tutorials/playwright.md +0 -207
  247. package/skills/testeiya/testomatio-docs/docs/tutorials/webdriver.md +0 -218
  248. package/skills/testeiya/testomatio-docs/docs.lock.json +0 -6
  249. package/skills/testeiya/testomatio-reporter/SKILL.md +0 -307
  250. package/skills/testomatio/test-automation/setup-pr-testing/SKILL.md +0 -199
  251. package/skills.yaml +0 -21
  252. package/src/ai-debug.ts +0 -188
  253. package/src/api/agent-get.ts +0 -22
  254. package/src/api/agent-start.ts +0 -384
  255. package/src/api/client-log.ts +0 -29
  256. package/src/api/context.ts +0 -332
  257. package/src/api/debug-layout.ts +0 -47
  258. package/src/api/debug-report.ts +0 -29
  259. package/src/api/debug-snapshot.ts +0 -30
  260. package/src/api/debug-stream.ts +0 -52
  261. package/src/api/files-delete.ts +0 -184
  262. package/src/api/files-read.ts +0 -41
  263. package/src/api/files-rename.ts +0 -99
  264. package/src/api/files-tree.ts +0 -292
  265. package/src/api/files-write.ts +0 -41
  266. package/src/api/mcp.ts +0 -603
  267. package/src/api/memory.ts +0 -69
  268. package/src/api/open-external.ts +0 -39
  269. package/src/api/playwright-cli.ts +0 -606
  270. package/src/api/providers.ts +0 -457
  271. package/src/api/read-env-token.ts +0 -33
  272. package/src/api/sessions.ts +0 -79
  273. package/src/api/settings.ts +0 -120
  274. package/src/api/skills.ts +0 -58
  275. package/src/api/testomatio-attachment.ts +0 -89
  276. package/src/api/testomatio-auth.ts +0 -284
  277. package/src/api/testomatio-proxy.ts +0 -197
  278. package/src/api/testomatio-run-stats.ts +0 -81
  279. package/src/api/testomatio-target.ts +0 -225
  280. package/src/api/testomatio-transcription.ts +0 -82
  281. package/src/api/workspace-search.ts +0 -96
  282. package/src/api/workspace-sync.ts +0 -151
  283. package/src/api/workspace.ts +0 -165
  284. package/src/app-server.ts +0 -556
  285. package/src/bridge.ts +0 -251
  286. package/src/check-tests.ts +0 -156
  287. package/src/cli.ts +0 -17
  288. package/src/commands.ts +0 -244
  289. package/src/config.ts +0 -183
  290. package/src/connection.ts +0 -658
  291. package/src/context-store.ts +0 -265
  292. package/src/debug-bus.ts +0 -405
  293. package/src/extensions/tool-gate.ts +0 -220
  294. package/src/extensions/webui/ask-channel.ts +0 -52
  295. package/src/extensions/webui/index.ts +0 -184
  296. package/src/extensions/webui/tools/ask-question.ts +0 -88
  297. package/src/extensions/webui/tools/query-result.ts +0 -79
  298. package/src/extensions/webui/tools/render-chart.ts +0 -53
  299. package/src/extensions/webui/tools/render-item.ts +0 -61
  300. package/src/extensions/webui/tools/render-list.ts +0 -170
  301. package/src/extensions/webui/tools/render-result.ts +0 -85
  302. package/src/extensions/webui/tools/render-tree.ts +0 -71
  303. package/src/extensions/webui/tools/ui-widget.ts +0 -54
  304. package/src/extensions/webui/tools/widget-result.ts +0 -13
  305. package/src/extensions/webui/widget-channel.ts +0 -50
  306. package/src/file-log.ts +0 -196
  307. package/src/git-tracked.ts +0 -68
  308. package/src/gitignore.ts +0 -53
  309. package/src/json-store.ts +0 -43
  310. package/src/load-env.ts +0 -70
  311. package/src/loader-style.ts +0 -96
  312. package/src/main.ts +0 -140
  313. package/src/mcp-catalog.ts +0 -96
  314. package/src/models-catalog.ts +0 -72
  315. package/src/permissions.ts +0 -120
  316. package/src/project-dir.ts +0 -189
  317. package/src/project-info.ts +0 -108
  318. package/src/prompt/app-ui.ts +0 -59
  319. package/src/prompt/browser.ts +0 -27
  320. package/src/prompt/index.ts +0 -62
  321. package/src/prompt/tools.ts +0 -27
  322. package/src/server-info.ts +0 -62
  323. package/src/session-factory.ts +0 -442
  324. package/src/session-store.ts +0 -115
  325. package/src/shell-env.ts +0 -45
  326. package/src/skills.ts +0 -163
  327. package/src/sync-snapshot.ts +0 -140
  328. package/src/telemetry.ts +0 -239
  329. package/src/testomatio-auth.ts +0 -299
  330. package/src/testomatio.ts +0 -98
  331. package/src/theme.ts +0 -30
  332. package/src/user-env.ts +0 -94
  333. package/src/welcome.ts +0 -194
  334. package/src/workspace/safe-path.ts +0 -85
  335. package/src/workspace/test-md.ts +0 -70
  336. package/src/workspace-model.ts +0 -440
  337. package/testeiya.config.json +0 -14
  338. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/advanced/authentication-flows.md +0 -0
  339. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/advanced/authentication.md +0 -0
  340. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/advanced/clock-mocking.md +0 -0
  341. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/advanced/mobile-testing.md +0 -0
  342. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/advanced/multi-context.md +0 -0
  343. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/advanced/multi-user.md +0 -0
  344. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/advanced/network-advanced.md +0 -0
  345. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/advanced/third-party.md +0 -0
  346. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/architecture/pom-vs-fixtures.md +0 -0
  347. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/architecture/test-architecture.md +0 -0
  348. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/architecture/when-to-mock.md +0 -0
  349. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/browser-apis/browser-apis.md +0 -0
  350. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/browser-apis/iframes.md +0 -0
  351. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/browser-apis/service-workers.md +0 -0
  352. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/browser-apis/websockets.md +0 -0
  353. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/core/annotations.md +0 -0
  354. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/core/assertions-waiting.md +0 -0
  355. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/core/configuration.md +0 -0
  356. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/core/fixtures-hooks.md +0 -0
  357. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/core/global-setup.md +0 -0
  358. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/core/locators.md +0 -0
  359. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/core/page-object-model.md +0 -0
  360. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/core/projects-dependencies.md +0 -0
  361. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/core/test-data.md +0 -0
  362. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/core/test-suite-structure.md +0 -0
  363. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/core/test-tags.md +0 -0
  364. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/debugging/console-errors.md +0 -0
  365. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/debugging/debugging.md +0 -0
  366. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/debugging/error-testing.md +0 -0
  367. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/debugging/flaky-tests.md +0 -0
  368. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/frameworks/angular.md +0 -0
  369. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/frameworks/nextjs.md +0 -0
  370. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/frameworks/react.md +0 -0
  371. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/frameworks/vue.md +0 -0
  372. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/infrastructure-ci-cd/ci-cd.md +0 -0
  373. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/infrastructure-ci-cd/docker.md +0 -0
  374. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/infrastructure-ci-cd/github-actions.md +0 -0
  375. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/infrastructure-ci-cd/gitlab.md +0 -0
  376. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/infrastructure-ci-cd/other-providers.md +0 -0
  377. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/infrastructure-ci-cd/parallel-sharding.md +0 -0
  378. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/infrastructure-ci-cd/performance.md +0 -0
  379. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/infrastructure-ci-cd/reporting.md +0 -0
  380. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/infrastructure-ci-cd/test-coverage.md +0 -0
  381. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/testing-patterns/accessibility.md +0 -0
  382. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/testing-patterns/api-testing.md +0 -0
  383. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/testing-patterns/browser-extensions.md +0 -0
  384. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/testing-patterns/canvas-webgl.md +0 -0
  385. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/testing-patterns/component-testing.md +0 -0
  386. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/testing-patterns/drag-drop.md +0 -0
  387. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/testing-patterns/electron.md +0 -0
  388. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/testing-patterns/file-operations.md +0 -0
  389. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/testing-patterns/file-upload-download.md +0 -0
  390. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/testing-patterns/forms-validation.md +0 -0
  391. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/testing-patterns/graphql-testing.md +0 -0
  392. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/testing-patterns/i18n.md +0 -0
  393. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/testing-patterns/performance-testing.md +0 -0
  394. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/testing-patterns/security-testing.md +0 -0
  395. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/testing-patterns/visual-regression.md +0 -0
  396. /package/skills/{playwright-cli → playwright/playwright-cli}/SKILL.md +0 -0
  397. /package/skills/{playwright-cli → playwright/playwright-cli}/references/element-attributes.md +0 -0
  398. /package/skills/{playwright-cli → playwright/playwright-cli}/references/playwright-tests.md +0 -0
  399. /package/skills/{playwright-cli → playwright/playwright-cli}/references/request-mocking.md +0 -0
  400. /package/skills/{playwright-cli → playwright/playwright-cli}/references/running-code.md +0 -0
  401. /package/skills/{playwright-cli → playwright/playwright-cli}/references/session-management.md +0 -0
  402. /package/skills/{playwright-cli → playwright/playwright-cli}/references/storage-state.md +0 -0
  403. /package/skills/{playwright-cli → playwright/playwright-cli}/references/test-generation.md +0 -0
  404. /package/skills/{playwright-cli → playwright/playwright-cli}/references/tracing.md +0 -0
  405. /package/skills/{playwright-cli → playwright/playwright-cli}/references/video-recording.md +0 -0
@@ -1,218 +0,0 @@
1
- ---
2
- title: WebdriverIO
3
- description: Learn how to integrate WebdriverIO with Testomat.io for efficient test management and reporting. This guide covers importing WebdriverIO tests, managing parametrized tests, reporting artifacts like screenshots and logs, enabling detailed reporting features, and configuring parallel execution reporting for CI workflows.
4
- type: article
5
- url: https://docs.testomat.io/tutorials/webdriverio
6
- head:
7
- - tag: meta
8
- attrs:
9
- name: og:image
10
- content: https://docs.testomat.io/_astro/New_b1BS3EKN_2024-08-29.DGrFkMLR_ZOOgn1.webp
11
-
12
- - tag: meta
13
- attrs:
14
- name: keywords
15
- content: WebdriverIO, Testomat.io, test reporting, automation, test management, artifacts, parallel execution, detailed reporting, parametrized tests, S3 integration, test import, browser automation
16
- ---
17
-
18
- <!--
19
- ## Importing WebdriverIO Tests
20
- - import WebdriverIO tests
21
- - TS tests (link to example project)
22
- - TypeScript tests (link to example project)
23
- - BDD tests
24
- - parametrized tests importing
25
- - add IDs to tests
26
-
27
- ## Reporting WebdriverIO Tests
28
- - timeline
29
- - visual testing
30
- - capture screenshots
31
- - artifacts (link to artifacts page)
32
- - videos
33
- - logs
34
-
35
- ## Advanced
36
- - parallel execution (link to parallel page)
37
- - custom commands
38
- - page objects
39
- -->
40
-
41
- # WebdriverIO Integration with Testomat.io
42
-
43
- WebdriverIO is an all in one framework for your web app development. It enables you to run small and lightweight component tests as well as running e2e test scenarios in the browser or on a mobile device. This guarantees that you to do the testing in an environment used by your users.
44
-
45
- This guide demonstrates how to integrate WebdriverIO with [Testomat.io](https://app.testomat.io) for efficient test management and detailed reporting.
46
-
47
- ---
48
-
49
- ## Importing WebdriverIO Tests
50
-
51
- You can easily import your WebdriverIO tests into Testomat.io on the **Imports** page.
52
-
53
- ![Testomat.io - Import Project from Source Code](./images/wdio-import.png)
54
-
55
- ### Steps to Import Your Tests
56
-
57
- 1. **Select Framework**: In the `Project Framework` field, choose `WebDriver`.
58
- 2. **Choose Language**: Select your project’s language from the `Project Language` field: `JavaScript`, `TypeScript`.
59
- 3. **Select OS**: Choose your device’s OS (`Mac`, `Linux`, or `Windows`) under `Import tests`.
60
-
61
- #### Additional options to customize your import:
62
-
63
- - **Auto-assign IDs**: Automatically assigns unique IDs to each test.
64
- - **Purge Old IDs**: Removes previously set IDs from tests.
65
- - **Disable Detached Tests**: Disables tests marked as detached.
66
- - **Prefer Source Code Structure**: Maintains your project’s source code structure in the test hierarchy.
67
-
68
- ![Testomat.io - Set up WebdriverIO project import](./images/wdio-import2.png)
69
-
70
- After setting up, copy the generated command and run it in your project’s terminal. Your tests will then appear on the Tests page in Testomat.io.
71
-
72
- **Example**: Try importing using the [Testomat.io WebdriverIO example project](https://github.com/testomatio/examples/tree/master/wdio/v8).
73
-
74
- For more details, refer to the [Import Tests from Source Code documentation](https://docs.testomat.io/getting-started/import-tests-from-source-code/).
75
-
76
- ---
77
-
78
- ## Importing Parametrized Tests
79
-
80
- When importing parametrized tests, include variable parameters in test names using template literals for better clarity in Testomat.io.
81
-
82
- **Example Code**:
83
-
84
- ```typescript
85
- const people = ['Alice', 'Bob'];
86
- describe('my tests', () => {
87
- for (const name of people) {
88
- it(`testing with ${name}`, async () => {
89
- // ...
90
- });
91
- }
92
- });
93
- ```
94
-
95
- Avoid string concatenation like `title + name`. Instead, use template literals to make test names dynamic and clear.
96
-
97
- > This test will be imported with its placeholder in the name, and results will display parameter values in Testomat.io reports.
98
-
99
- ![Testomat.io - Parameterised Tests in Code](./images/wdio-parametrize.png)
100
-
101
- ![Testomat.io - Imported Parameterised Tests](./images/wdio-parametrize2.png)
102
-
103
- ---
104
-
105
- ## Auto-assigning Test IDs
106
-
107
- When importing tests, enable **Auto-assign Ids** (`--update-ids`) to track changes without duplicating tests when scaling your project. Without this, CI processes may not launch correctly.
108
-
109
- ```diff
110
- + it('user should be fine @T12345678', () => {
111
- - it('user should be fine', () => {
112
- expect(user).toBe('fine');
113
- });
114
- ```
115
-
116
- IDs will be automatically assigned in your code and appear in Testomat.io.
117
-
118
- ![Testomat.io - Auto-assign Ids in Code](./images/wdio-ids.png)
119
-
120
- ![Testomat.io - Auto-assign Ids in Tests](./images/wdio-ids2.png)
121
-
122
- ---
123
-
124
- ## Reporting WebdriverIO Tests
125
-
126
- WebdriverIO allows you to leverage various types of reports, including screenshots, to improve error detection and debugging. Here's how you can enhance your testing workflow:
127
-
128
- ### Visual Reports with Timeline Reporter
129
-
130
- Tools like **Timeline Reporter** provide a visual representation of your test results. These reports can include screenshots, which help analyze failures and identify issues quickly.
131
- [Learn more about Timeline Reporter](https://webdriver.io/docs/wdio-timeline-reporter/)
132
-
133
- ### Visual Testing with @wdio/visual-service
134
-
135
- WebdriverIO supports visual testing via the **@wdio/visual-service** plugin. This enables you to capture, save, and compare screenshots of elements, pages, or screens with baseline images. It is an excellent way to detect visual regressions in your application.
136
- [Learn more about Visual Testing](https://webdriver.io/docs/visual-testing/)
137
-
138
- ### Capturing Screenshots
139
-
140
- WebdriverIO provides built-in methods such as `browser.saveScreenshot()` to capture the current state of a webpage or specific elements. These screenshots can be incorporated into your reporting tools for a comprehensive debugging experience.
141
- [Learn more about Screenshot](https://webdriver.io/docs/wdio-light-reporter/#screenshots)
142
-
143
- ```typescript
144
- afterTest: async function (test, context, { error, result, duration, passed, retries }) {
145
- if (error) {
146
- await browser.takeScreenshot();
147
- }
148
- }
149
- ```
150
-
151
- By integrating these features into your WebdriverIO setup, you can enhance the efficiency of error detection and resolution, leading to more robust and reliable tests.
152
-
153
- ### Artifacts in WebdriverIO with Testomat.io Reporter and S3
154
-
155
- Artifacts like screenshots, videos, and logs are essential for debugging. With the Testomat.io reporter, these artifacts can be automatically uploaded to an S3 bucket and linked to test cases in the Testomat.io dashboard. [Read more about Artifacts](https://docs.testomat.io/usage/test-artifacts/)
156
-
157
- ![Testomat.io - Artifacts](./images/artefacts_settings.jpg)
158
-
159
- - **Configure Artifacts**: Enable options in Playwright (e.g., recordVideo, screenshot, logs).
160
- - **Setup S3 and Testomat.io Reporter**: Link your S3 bucket with Testomat.io for smooth integration.
161
- - **View and Debug**: Access artifacts in Testomat.io for easy downloading and analysis.
162
-
163
- #### Steps to Configure Artifacts:
164
-
165
- 1. Enable options in WebdriverIO (e.g., `takeScreenshot`, `captureLogs`).
166
- 2. Link your S3 bucket with Testomat.io.
167
- 3. Access artifacts in Testomat.io for easy debugging.
168
-
169
- **Code Example for Screenshots**:
170
-
171
- ```typescript
172
- await driver.takeScreenshot().then((image) => {
173
- require('fs').writeFileSync('screenshot.png', image, 'base64');
174
- });
175
- ```
176
-
177
- ### Steps to Enable:
178
-
179
- 1. Set up an S3 Bucket ([See Documentation](https://docs.testomat.io/)).
180
- 2. Enable third-party cookies in your browser.
181
- 3. Run your tests.
182
- 4. In `Test Run`, click the test, then select the trace log to open.
183
-
184
- ---
185
-
186
- ## Parallel Execution Reporting
187
-
188
- Report parallel test executions to the same Testomat.io run by assigning a shared title and setting the `TESTOMATIO_SHARED_RUN` environment variable.
189
-
190
- **Example**:
191
-
192
- ```bash
193
- TESTOMATIO_TITLE="Parallel Test Run ${GIT_COMMIT}" TESTOMATIO_SHARED_RUN=1 <actual run command>
194
- ```
195
-
196
- To extend the shared run timeout (default: 20 minutes), use the `TESTOMATIO_SHARED_RUN_TIMEOUT` variable.
197
-
198
- **Example**:
199
-
200
- ```bash
201
- TESTOMATIO_SHARED_RUN_TIMEOUT=120 TESTOMATIO_SHARED_RUN=1 <actual run command>
202
- ```
203
-
204
- We strongly recommend to use Testomat.io `cli` to run your WebdriverIO tests in parallel mode, it will handle each worker/process automatically.
205
-
206
- `npx @testomatio/reporter run 'npx wdio wdio.conf.js'`
207
-
208
- For more details, refer to the [Testomat.io cli docs][1] and the [WebdriverIO guide][2].
209
-
210
- [1]: https://github.com/testomatio/reporter/blob/2.x/docs/cli.md#3-run
211
- [2]: https://github.com/testomatio/reporter/blob/2.x/docs/frameworks.md#webdriverio
212
-
213
- ```bash
214
-
215
- ---
216
-
217
- This guide outlines the process of integrating WebdriverIO with Testomat.io for effective test management and reporting. For more information, visit the [Testomat.io Documentation](https://docs.testomat.io/).
218
- ```
@@ -1,6 +0,0 @@
1
- {
2
- "source": "testomatio/docs",
3
- "path": "src/content/docs",
4
- "sha": "942895fc45fdf1cb5db1aa8322925ce5317d3028",
5
- "files": 140
6
- }
@@ -1,307 +0,0 @@
1
- ---
2
- name: testomatio-reporter
3
- description: Report automated test RESULTS to Testomat.io with @testomatio/reporter. Create and finish runs, merge parallel CI shards into one run, filter tests by tag/plan/label or coverage map, launch remote CI profiles, ingest JUnit XML and Allure, and upload S3 artifacts. Wired into Playwright, CodeceptJS, Cypress, Jest, Vitest, Mocha, WebdriverIO, Cucumber. Use to report results, create or finish a run, run tests with reporting, import JUnit/Allure, or debug missing results or artifacts.
4
- license: MIT
5
- metadata:
6
- author: Testomat.io
7
- version: 1.0.0
8
- ---
9
-
10
- # Testomatio Reporter
11
-
12
- `@testomatio/reporter` (npm, v2.x) reports automated test results to Testomat.io. It:
13
-
14
- - creates runs and streams per-test statuses, steps, stack traces, and logs;
15
- - uploads artifacts to the user's own S3 bucket;
16
- - posts PR comments and writes local HTML/Markdown/CSV reports.
17
-
18
- It targets the project identified by the `TESTOMATIO` key (`tstmt_*`).
19
-
20
- The reporter writes RESULTS. `check-tests` and `check-cucumber` write test DEFINITIONS. "Report my results" or "create a run" is this tool; "sync my tests" is not.
21
-
22
- ## Use cases
23
-
24
- - Report a Playwright/CodeceptJS/Cypress/Jest/… run's results to Testomat.io.
25
- - Merge parallel CI shards into one run.
26
- - Create a run now and finish it later, or launch its automated part on a CI profile.
27
- - Run only the tests impacted by a diff via a coverage map.
28
- - Ingest JUnit XML or Allure results from non-JS stacks.
29
- - Upload screenshots/videos/traces as artifacts to S3.
30
- - Debug missing results, duplicate runs, or missing artifacts.
31
-
32
- ## When NOT to use it
33
-
34
- - **Running the reporter with a real key CREATES RUNS visible to the whole team.** Never run it "just to see if it works" — any create/finish/launch needs explicit authorization. Verify safely with the dry-run recipes below.
35
- - **Never run the reporter over `*.test.md` files.** Nothing there is executable — markdown tests tagged `type: automated` are references, and the real code lives in a separate automation repo (executed via a CI profile, `run --remote`).
36
- - Right tool only when the workspace IS an automation repo (a playwright/codecept/cypress/wdio config or dependency — Testeiya's `hasAutomationConfig`). Otherwise results come from CI or the automation repo.
37
- - Setup/wiring → `qa-e2e-tests-reporting`. PR-driven CI pipelines → `setup-pr-testing`. Post-run analysis (history, flakiness) → `testomatio-mcp`. Coverage maps → `qa-test-code-coverage`. Test definitions → `check-tests`/`check-cucumber`.
38
-
39
- ## Testeiya workspace context
40
-
41
- A workspace is a cwd representing one project (`.testeiya/testeiya.json` holds `{projectId, baseUrl, title}`). Three shapes:
42
-
43
- | Workspace shape | Recognize by | Reporter applies? |
44
- |---|---|---|
45
- | Managed project workspace | `~/.testeiya/workspaces/<id>/`, `*.test.md` at root | Never — markdown only |
46
- | Code repo with manual-tests overlay | `.testeiya/manual-tests/` holds `*.test.md` | Only if the repo itself is an automation repo; the overlay is never a target |
47
- | Automation repo | playwright/codecept/cypress/wdio config or dep | Yes — the spec files are the automated tests |
48
-
49
- Token resolution (mirror Testeiya's order): 1) the managed session's token for the slug; 2) else the linked project's `apiKey`; 3) else the folder's `.env` `TESTOMATIO`; 4) when `baseUrl` isn't `https://app.testomat.io`, also set `TESTOMATIO_URL`.
50
-
51
- ## Two usage modes
52
-
53
- 1. Framework reporter/plugin — wired into the runner's config. The runner executes tests; the adapter streams results whenever `TESTOMATIO` is set. Without the key the adapter stays inert, so committing the wiring is safe.
54
- 2. Standalone CLI — `npx @testomatio/reporter <command>`: manage the run lifecycle, wrap a runner so parallel workers report into one run, trigger remote CI profiles, or ingest XML/Allure.
55
-
56
- - Both modes read the same `TESTOMATIO_*` env vars.
57
- - Legacy bin aliases still work: `npx report-xml` (= `xml`), `npx start-test-run`.
58
- - Yarn 4 (Berry) can't run scoped bins — install `testomatio-reporter-cli` and call `npx testomatio-reporter <command>`.
59
- - **Truthy env vars are enabled by ANY value, including `false` and `0`.** To disable, unset the variable.
60
-
61
- ## CLI commands
62
-
63
- `npx @testomatio/reporter <command> [options]`. Every command accepts `--env-file <file>` (default `.env`).
64
-
65
- | Command | Purpose | Own options |
66
- |---|---|---|
67
- | `start` | Create a run, print its ID; non-zero if creation failed | `--kind`, `--filter`, `--format id` |
68
- | `finish` | Finish a run (`TESTOMATIO_RUN`, else the stored latest) | — |
69
- | `run` (alias `test`) | Create a run, execute `[command]` with `TESTOMATIO_RUN`/`TESTOMATIO_PROCEED` injected, finish by exit code; propagates the runner's exit code | `[command]`, `--filter`, `--filter-list`, `--format`, `--kind`, `--remote`, `--remote-param` |
70
- | `xml <glob>` | Parse and upload JUnit/NUnit/xUnit/TRX reports | `-d`, `--lang <c#\|java\|ruby\|python\|php>`, `--java-tests [path]` (default `src/test/java`), `--timelimit <sec>` |
71
- | `allure <glob>` | Parse and upload Allure results | `-d`, `--lang`, `--java-tests [path]` (default `src/test`), `--with-package`, `--timelimit <sec>` |
72
- | `upload-artifacts` | Upload artifacts skipped/failed during the run (needs S3) | `--force` (re-upload done ones) |
73
- | `replay [debug-file]` | Re-send from a debug file (default `./testomatio.debug.json`) | `--dry-run` (preview, no network) |
74
-
75
- Shared option meanings (see sections below): `--kind` → [run kinds](#run-kinds); `--filter`/`--filter-list` → [filters](#filters); `--remote`/`--remote-param` → [remote launches](#remote-ci-launches); `--format` → machine-readable stdout.
76
-
77
- ### Machine-readable output (`--format`)
78
-
79
- - With `--format`, stdout carries only the payload; the banner is skipped, logs go to stderr (`TESTOMATIO_LOG_LEVEL=INFO` brings progress back).
80
- - `start --format id` → stdout is the run id: `RUN_ID=$(npx @testomatio/reporter start --format id)`.
81
- - `run --filter-list … --format <v>` → matched IDs as `ids` (default), `grep` (`(T1|T2)`), `json`, or `newline`. Exit 0 if ≥1 matched, 1 if none — CI can branch on `$?`.
82
-
83
- ### Run kinds (`--kind`)
84
-
85
- The flag follows which kinds of tests the project has:
86
-
87
- | Project tests | `--kind` | Later launch |
88
- |---|---|---|
89
- | manual + automated | `mixed` | preview/merge launch the automated part |
90
- | manual only | `manual` | none — complete at creation |
91
- | automated only | *(omit)* | preview/merge launch the run |
92
-
93
- ### Filters
94
-
95
- Only two filter pipes exist; any other prefix is rejected.
96
-
97
- - `testomatio:` — `tag-name=smoke`, `plan=<id>`, `label=<name-or-id>` (`label=<id>:🔥 Major`), `jira-ticket=TC-123`. Execution filtering works for Playwright and CodeceptJS.
98
- - `coverage:` — `file=<coverage.yml>[,diff=<git-ref>]`. Maps `git diff <ref> --name-only` (run in `process.cwd()`, default ref `master`) through a glob→ID map and returns impacted tests. The map is produced by `qa-test-code-coverage` (default `coverage.tests.yml`) — never hand-write one.
99
- - A filter resolving to zero tests creates no run (`No tests found.`) — treat as success in CI.
100
-
101
- ### Remote CI launches (`run --remote`)
102
-
103
- - `run --remote <profile>` asks Testomat.io to dispatch a CI profile (Settings → CI) instead of executing locally.
104
- - The run is created, resolved filter IDs are joined with `|` as the workflow's grep, and the CLI exits 0 printing the run URL.
105
- - With `TESTOMATIO_RUN` set, no new run is created — the profile triggers for the existing (prepared) run, reusing its stored scope unless a fresh `--filter` overrides it.
106
- - `--remote-param <k=v>` forwards a parameter to the profile (repeatable) — the carrier for a preview URL.
107
- - Guards: requires `TESTOMATIO` (exit 1); cannot combine with `--filter-list` (exit 1); a positional command is ignored with a warning; a missing profile fails `CI launch failed: <message>` (exit 1).
108
- - Env equivalents: `TESTOMATIO_CI_PROFILE` (= `--remote`), `TESTOMATIO_CI_PARAMS="k=v,k2=v2"` (= `--remote-param`).
109
- - Full CI phase model: `setup-pr-testing`.
110
-
111
- ## Environment variables
112
-
113
- Confirmed against reporter v2.9.0. Reminder: boolean-style vars are enabled by any value, including `0`/`false`.
114
-
115
- ### Auth and target
116
-
117
- | Variable | Meaning |
118
- |---|---|
119
- | `TESTOMATIO` | Project API key (`tstmt_*`). Aliases `TESTOMATIO_TOKEN`, `TESTOMATIO_API_KEY` are copied in when it's unset |
120
- | `TESTOMATIO_URL` | Instance URL (default `https://app.testomat.io`). Set for self-hosted (match `.testeiya/testeiya.json` `baseUrl`) |
121
-
122
- ### Run identity
123
-
124
- | Variable | Meaning |
125
- |---|---|
126
- | `TESTOMATIO_RUN` | Report into an existing run by ID |
127
- | `TESTOMATIO_TITLE` | Run title |
128
- | `TESTOMATIO_DESCRIPTION` | Run description; truncated to 1024 chars in PR comments |
129
- | `TESTOMATIO_RUNGROUP_TITLE` | Attach to a RunGroup; `/` nests (`"Builds/${BUILD_ID}"`) |
130
- | `TESTOMATIO_ENV` | Comma-separated environments (`"Windows, Chrome"`) |
131
- | `TESTOMATIO_LABEL` | Run label(s); must exist with scope `runs`; `key:value`, comma-separated |
132
- | `TESTOMATIO_JIRA_ID` | Link the run to a Jira issue (`TST-1`) |
133
- | `TESTOMATIO_SHARED_RUN` | Parallel jobs report into one run matched by identical `TESTOMATIO_TITLE` |
134
- | `TESTOMATIO_SHARED_RUN_TIMEOUT` | Minutes the shared-run title stays matchable (default 20) — after that a NEW run is created |
135
- | `TESTOMATIO_PROCEED` | Keep the run Running; pair with an explicit `finish`. `run` sets it for its child automatically |
136
- | `TESTOMATIO_PUBLISH` | Publish the run and get a public URL |
137
- | `BUILD_URL` | Override the CI build URL (auto-detected on major CIs) |
138
-
139
- ### Reporting behavior
140
-
141
- | Variable | Meaning |
142
- |---|---|
143
- | `TESTOMATIO_CREATE` | Create tests missing from the project (fallback — import first via `check-tests`) |
144
- | `TESTOMATIO_WORKDIR` | Base dir for relative paths of created tests |
145
- | `TESTOMATIO_SUITE` | Put created tests into a suite by ID (`@S12345678`); also on XML import |
146
- | `TESTOMATIO_UPDATE_CODE` | Send test source with each run (off by default — code is pushed by `check-tests`) |
147
- | `TESTOMATIO_MARK_DETACHED` | XML only: mark project tests absent from this run as detached; pass a tag to limit |
148
- | `IGNORE_NEW_TESTS` | XML only: don't create unmatched tests |
149
- | `TESTOMATIO_EXCLUDE_FILES_FROM_REPORT_GLOB_PATTERN` | Exclude report files by glob; `;`-separated |
150
- | `TESTOMATIO_EXCLUDE_SKIPPED` | Drop skipped tests from the report |
151
- | `TESTOMATIO_NO_TIMESTAMP` | Disable auto timestamps (unsynced parallel clocks) |
152
- | `TESTOMATIO_INTERCEPT_CONSOLE_LOGS` | Capture console output into test logs |
153
- | `TESTOMATIO_STACK_PASSED` | Include stacks/logs for passed tests |
154
- | `TESTOMATIO_STACK_IGNORE` | Glob of files to omit from stack traces |
155
- | `TESTOMATIO_STACK_ARTIFACTS` | Store oversized stacks (>5000) and steps (>10000) as artifact files |
156
- | `TESTOMATIO_STEPS_PASSED` | Include step details for passed tests |
157
- | `TESTOMATIO_NO_STEPS` | Report no steps at all |
158
- | `TESTOMATIO_SCREENSHOTS_ON_STEPS` | Step-screenshot upload (on where available; set `false` to disable — this one parses the value) |
159
- | `TESTOMATIO_DISABLE_BATCH_UPLOAD` | One request per result instead of batches |
160
- | `TESTOMATIO_REQUEST_TIMEOUT` | API timeout in ms (default 20000) |
161
- | `TESTOMATIO_MAX_REQUEST_FAILURES` | Stop reporting after N failed requests |
162
- | `TESTOMATIO_MAX_REQUEST_FAILURES_COUNT` | Max total retries (default 10) |
163
- | `TESTOMATIO_MAX_REQUEST_RETRIES_WITHIN_TIME_SECONDS` | Retry window in seconds (default 60) |
164
- | `TESTOMATIO_MAX_ENTITY_EXPANSIONS` | XML entity-expansion cap (default 10000); raise only for trusted reports |
165
- | `TESTOMATIO_LOG_LEVEL` | `ERROR` / `WARN` / `INFO` (default) |
166
- | `TESTOMATIO_DEBUG` | Debug pipe: full request logging + a replayable `testomatio.debug.json` (plain `DEBUG` also triggers it) |
167
- | `HTTP_PROXY` / `HTTPS_PROXY` | Route API requests through a proxy |
168
-
169
- ### Artifacts (S3)
170
-
171
- Artifacts upload to the user's own S3-compatible bucket, never to Testomat.io. Uploads activate when `S3_BUCKET` is set (env or Project Settings → Artifacts). Public `public-read` by default; private mode uses 10-minute pre-signed links.
172
-
173
- | Variable | Meaning |
174
- |---|---|
175
- | `S3_ACCESS_KEY_ID` / `S3_SECRET_ACCESS_KEY` | Bucket credentials |
176
- | `S3_BUCKET` / `S3_REGION` | Bucket name and region |
177
- | `S3_ENDPOINT` | Endpoint URL — required for non-AWS (DigitalOcean, Minio, R2, GCS) |
178
- | `S3_FORCE_PATH_STYLE` | Path-style URLs — `true` for Minio/R2; keep off on AWS or pre-signed private links break |
179
- | `S3_SESSION_TOKEN` | Temporary-credentials session token |
180
- | `TESTOMATIO_PRIVATE_ARTIFACTS` | Private upload mode; mirror S3 creds in Project Settings → Artifacts so the app can pre-sign |
181
- | `TESTOMATIO_DISABLE_ARTIFACTS` | Skip uploads during the run; recover later with `upload-artifacts` |
182
- | `TESTOMATIO_ARTIFACT_MAX_SIZE_MB` | Skip files over N MB during the run; upload them afterwards |
183
-
184
- For non-JS stacks, artifacts attach by printing `file://<path>` to output (picked up from JUnit `system-out`). `tid://@T<id>` links a result to an existing test.
185
-
186
- ### CI pipes and local reports
187
-
188
- Each pipe activates on its env var alone. HTML/Markdown/CSV pipes need NO key — useful for local-only reports. PR comments always come from these pipes; never script a PR-comment API call.
189
-
190
- | Variable | Meaning |
191
- |---|---|
192
- | `GH_PAT` | GitHub PR comment (in Actions, `${{ github.token }}` works; needs `issues: write`, `pull-requests: write`) |
193
- | `GH_KEEP_OUTDATED_REPORTS` / `GITHUB_REMOVE_ALL_OUTDATED_REPORTS` | Keep / delete previous PR comments (note the asymmetric prefixes — both real) |
194
- | `GITLAB_PAT` | GitLab MR comment (`api` scope; MR pipeline context) |
195
- | `GITLAB_KEEP_OUTDATED_REPORTS` / `GITLAB_REMOVE_ALL_OUTDATED_REPORTS` | Same for GitLab |
196
- | `BITBUCKET_ACCESS_TOKEN` | Bitbucket PR comment (repo token; only in `pull-requests:` pipelines — needs `BITBUCKET_PR_ID`) |
197
- | `BITBUCKET_KEEP_OUTDATED_REPORTS` / `BITBUCKET_REMOVE_ALL_OUTDATED_REPORTS` | Same for Bitbucket |
198
- | `TESTOMATIO_HTML_REPORT_SAVE` / `_FOLDER` / `TESTOMATIO_HTML_FILENAME` | Local HTML report (default `html-report/testomatio-report.html`) |
199
- | `TESTOMATIO_MARKDOWN_REPORT_SAVE` / `_FOLDER` / `TESTOMATIO_MARKDOWN_FILENAME` | Local Markdown report (default `md-report/…`; feed `$GITHUB_STEP_SUMMARY`) |
200
- | `TESTOMATIO_CSV_FILENAME` | Local CSV report |
201
-
202
- ## Framework wiring
203
-
204
- Full setup (detection, install, credentials) lives in `qa-e2e-tests-reporting`. The wiring surface for reference:
205
-
206
- | Framework | Wiring |
207
- |---|---|
208
- | Playwright | `reporter: [['list'], ['@testomatio/reporter/playwright', { apiKey: process.env.TESTOMATIO }]]` |
209
- | CodeceptJS | plugin `testomatio: { enabled: true, require: '@testomatio/reporter/codecept' }`; local reports via `html`/`markdown`/`csv`/`reportDir` |
210
- | Cypress ≥10 | `setupNodeEvents(on, config) { return require('@testomatio/reporter/cypress')(on, config) }`; filtering needs `@cypress/grep` |
211
- | Jest | `reporters: ['default', ['@testomatio/reporter/jest', { apiKey: process.env.TESTOMATIO }]]`; never use `bail` |
212
- | Vitest | `reporters: ['verbose', new TestomatioReporter()]` (from `@testomatio/reporter/vitest`); sent after the run ends |
213
- | Mocha | `mocha --reporter @testomatio/reporter/mocha --reporter-options apiKey=$TESTOMATIO` |
214
- | WebdriverIO | `reporters: [[testomatio, { apiKey: process.env.TESTOMATIO }]]` (`@testomatio/reporter/wdio`); wrap with `reporter run` for parallel |
215
- | Cucumber-js | `npx cucumber-js --format @testomatio/reporter/cucumber` (features imported first via `check-cucumber`) |
216
- | Jasmine / Protractor | `new JasmineReporter({ apiKey })` from `@testomatio/reporter/jasmine` |
217
- | Nightwatch | `npx nightwatch --reporter @testomatio/reporter/nightwatch` |
218
- | TestCafe | `npx testcafe chrome -r testomatio` |
219
- | Newman | `newman-reporter-testomatio`, then `newman run … -r testomatio` |
220
- | Java/Python/Ruby/PHP/C#/Go | generate JUnit XML → `xml`; or Allure results → `allure` |
221
-
222
- ```bash
223
- # Playwright, reporter wired in config
224
- TESTOMATIO=tstmt_*** npx playwright test
225
-
226
- # CodeceptJS with parallel workers — wrap so all workers hit one run
227
- TESTOMATIO=tstmt_*** npx @testomatio/reporter run 'npx codeceptjs run-workers 2'
228
-
229
- # Pytest via JUnit XML
230
- pytest --junit-xml report.xml
231
- TESTOMATIO=tstmt_*** npx report-xml report.xml --lang=python
232
- ```
233
-
234
- ## Run lifecycle recipes
235
-
236
- All of these create or mutate runs — authorized use only.
237
-
238
- Plain report — reporter wired into the runner, `TESTOMATIO` set, run the tests. The run is created on the fly and finalized when the runner exits.
239
-
240
- ```bash
241
- # Parallel CI shards into one run — same unique title on every shard + shared-run matching
242
- TESTOMATIO=tstmt_*** TESTOMATIO_TITLE="report for ${GIT_COMMIT}" \
243
- TESTOMATIO_SHARED_RUN=1 TESTOMATIO_SHARED_RUN_TIMEOUT=120 npx playwright test --shard=1/4
244
-
245
- # Prepared run, launched later (the setup-pr-testing two-phase contract)
246
- RUN_ID=$(npx @testomatio/reporter start --kind mixed \
247
- --filter "coverage:file=coverage.tests.yml,diff=origin/main" --format id)
248
- TESTOMATIO_RUN=$RUN_ID npx @testomatio/reporter run --remote github
249
-
250
- # Selective execution from a coverage map
251
- npx @testomatio/reporter run "npx playwright test" --filter "coverage:file=coverage.tests.yml,diff=develop"
252
- # or resolve IDs yourself:
253
- GREP=$(npx @testomatio/reporter run --filter-list "coverage:file=coverage.tests.yml" --format grep)
254
- [ -n "$GREP" ] && npx playwright test --grep "$GREP"
255
-
256
- # JUnit / Allure ingestion
257
- TESTOMATIO=tstmt_*** npx @testomatio/reporter xml "target/surefire-reports/**.xml" --java-tests
258
- TESTOMATIO=tstmt_*** npx @testomatio/reporter allure allure-results
259
-
260
- # Deferred artifact upload (slow uplinks, or big files only)
261
- TESTOMATIO=tstmt_*** TESTOMATIO_ARTIFACT_MAX_SIZE_MB=10 npx playwright test
262
- TESTOMATIO=tstmt_*** npx @testomatio/reporter upload-artifacts
263
- ```
264
-
265
- - Shard alternative without title matching: one job runs `start --format id`, exports the id, every shard runs with `TESTOMATIO_RUN=$RUN_ID TESTOMATIO_PROCEED=1`, a final job runs `finish`.
266
- - `xml` links results via `@T<id>` in test names, `// @T<id>` in reachable source, or `tid://@T<id>` in output. `allure` also maps `@TmsLink` annotations.
267
-
268
- Safe verification without touching the project (allowed without authorization — no network writes):
269
-
270
- ```bash
271
- # local-only report: no key, markdown pipe on
272
- TESTOMATIO_MARKDOWN_REPORT_SAVE=1 npx playwright test
273
- # or capture what WOULD be sent, then preview
274
- TESTOMATIO_DEBUG=1 npx playwright test # writes ./testomatio.debug.json
275
- npx @testomatio/reporter replay --dry-run # previews, sends nothing
276
- ```
277
-
278
- ## Troubleshooting
279
-
280
- | Symptom | Cause and fix |
281
- |---|---|
282
- | No run appears, no errors | `TESTOMATIO` not visible to the runner (subshell, missing dotenv load, unmapped CI secret). Check with `DEBUG=@testomatio/reporter:*`. Resolve the token per the order above |
283
- | `TESTOMATIO is "undefined"` | The literal string `undefined` was interpolated — fix the shell/CI expansion |
284
- | Two runs instead of one on parallel | Shard titles differ, `TESTOMATIO_SHARED_RUN` unset, or the window (default 20 min) elapsed — align `TESTOMATIO_TITLE`, raise the timeout. For runner-spawned workers, wrap with `reporter run` |
285
- | A "disable" var didn't disable | Boolean vars enable on any value including `false`/`0` — unset them |
286
- | Run stuck as Running | `TESTOMATIO_PROCEED` set without a `finish` — run `TESTOMATIO_RUN=<id> npx @testomatio/reporter finish` |
287
- | `$(...)` output polluted by the banner | Add `--format` — only then is stdout clean |
288
- | `--filter` rejected | Only `testomatio:` and `coverage:` pipes exist; check the prefix |
289
- | `Coverage file not found` / `Git command failed` / `Missing required parameter: "file"` | The pipe reads the map with `fs` and runs `git diff` in the cwd — run from inside the repo, verify path/ref (shallow clones need full history) |
290
- | `CI launch failed: No settings for <profile>` | The `--remote` profile doesn't exist — check Settings → CI (or `/api/v2/<project>/info` `ci_profiles`) |
291
- | Artifacts missing | S3 env not set where tests ran (Docker: pass `-e`), `TESTOMATIO_DISABLE_ARTIFACTS` on, or files over the size cap — recover with `upload-artifacts --force` |
292
- | Private artifacts upload but don't display | `S3_FORCE_PATH_STYLE=true` on AWS breaks pre-signed URLs — set `false`; avoid dots in bucket names; mirror creds in Project Settings |
293
- | XML: `Entity expansion limit exceeded` | Trusted report with heavy entities — raise `TESTOMATIO_MAX_ENTITY_EXPANSIONS` |
294
- | XML/Allure import hangs in CI | Network stall — add `--timelimit <sec>`; it kills with exit 0 so the pipeline isn't failed |
295
- | Bitbucket comment hits `/pullrequests//comments` | Not a PR pipeline — `BITBUCKET_PR_ID` absent; only under `pipelines: pull-requests:` |
296
- | Jest run status never updates | `bail` is set in the Jest config — remove it |
297
- | Results lost after a flaky upload | Rerun with `TESTOMATIO_DEBUG=1`; recover a debug file with `replay` (history in `/tmp/testomatio.debug.<datetime>.json`) |
298
-
299
- ## Related skills
300
-
301
- - `check-tests` / `check-cucumber` — import and sync test DEFINITIONS (the other side of the boundary).
302
- - `qa-e2e-tests-reporting` — the setup workflow that installs and wires this reporter.
303
- - `setup-pr-testing` — PR-driven CI pipelines built on prepared runs and `--remote`.
304
- - `qa-test-code-coverage` — produces the `coverage.tests.yml` consumed by `--filter "coverage:…"`.
305
- - `scan-automation-project` — discovers whether a workspace is an automation repo.
306
- - `debug-fix-failed-flaky-autotests` — acting on the failures a run reports.
307
- - `testomatio-mcp` — reading and analyzing runs after they exist.