testeiya 0.2.1 → 0.3.10

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 (402) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +284 -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 +57 -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 +172 -0
  20. package/dist/src/args.js.map +1 -0
  21. package/dist/src/cli.js +97 -0
  22. package/dist/src/cli.js.map +1 -0
  23. package/dist/src/doctor.js +186 -0
  24. package/dist/src/doctor.js.map +1 -0
  25. package/dist/src/env.js +93 -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 +185 -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 +291 -0
  40. package/dist/src/run.js.map +1 -0
  41. package/dist/src/session.js +92 -0
  42. package/dist/src/session.js.map +1 -0
  43. package/dist/src/sessions.js +61 -0
  44. package/dist/src/sessions.js.map +1 -0
  45. package/dist/vendor/mcp.js +14801 -0
  46. package/mcp-tools.json +2967 -0
  47. package/package.json +34 -43
  48. package/prompt/context.ts +101 -0
  49. package/prompt/index.ts +102 -0
  50. package/prompt/print.ts +32 -0
  51. package/prompt/project-info.ts +30 -0
  52. package/prompt/system-prompt.ts +187 -0
  53. package/{src/prompt → prompt}/testomatio.ts +120 -9
  54. package/prompt/tools.ts +57 -0
  55. package/prompt/vocab.ts +7 -0
  56. package/skills/codeceptjs/ci-fix-tests/SKILL.md +7 -8
  57. package/skills/codeceptjs/codeceptjs-auth/SKILL.md +47 -64
  58. package/skills/codeceptjs/codeceptjs-exploration/SKILL.md +56 -47
  59. package/skills/codeceptjs/codeceptjs-fundamentals/SKILL.md +144 -106
  60. package/skills/codeceptjs/codeceptjs-run-analysis/SKILL.md +50 -57
  61. package/skills/codeceptjs/debugging-codeceptjs-tests/SKILL.md +88 -196
  62. package/skills/codeceptjs/migrate-codeceptjs-4/SKILL.md +4 -5
  63. package/skills/codeceptjs/migrate-cypress-to-codeceptjs/SKILL.md +25 -36
  64. package/skills/codeceptjs/migrate-protractor-to-codeceptjs/SKILL.md +23 -36
  65. package/skills/codeceptjs/migrate-selenium-java-to-codeceptjs/SKILL.md +23 -36
  66. package/skills/codeceptjs/migrate-testcafe-to-codeceptjs/SKILL.md +23 -35
  67. package/skills/codeceptjs/refactoring-codeceptjs-tests/SKILL.md +50 -53
  68. package/skills/codeceptjs/writing-codeceptjs-tests/SKILL.md +87 -191
  69. package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/SKILL.md +1 -1
  70. package/{skills.lock.json → skills/skills.lock.json} +43 -36
  71. package/skills/skills.yaml +34 -0
  72. package/skills/testomatio/explorbot/explorbot-fundamentals/SKILL.md +49 -61
  73. package/skills/testomatio/explorbot/explorbot-fundamentals/references/no-install.md +36 -0
  74. package/skills/testomatio/explorbot/explorbot-plan/SKILL.md +20 -7
  75. package/skills/testomatio/explorbot/explorbot-setup/SKILL.md +41 -289
  76. package/skills/testomatio/qa-process/qa-explain-behavior/SKILL.md +111 -0
  77. package/skills/testomatio/qa-process/qa-explain-behavior/references/answer-shapes.md +116 -0
  78. package/skills/testomatio/qa-process/qa-explain-behavior/references/examples.md +157 -0
  79. package/skills/testomatio/qa-process/qa-lead-strategy-advisor/SKILL.md +91 -0
  80. package/skills/testomatio/qa-process/qa-lead-strategy-advisor/references/output-format.md +71 -0
  81. package/skills/testomatio/qa-process/testing-workflow/SKILL.md +227 -0
  82. package/skills/testomatio/test-automation/qa-data-seeder/SKILL.md +83 -0
  83. package/skills/testomatio/test-automation/run-tests-with-testomatio-reporter/SKILL.md +5 -3
  84. package/skills/testomatio/test-automation/setup-change-aware-pr-testing/SKILL.md +190 -0
  85. package/skills/testomatio/test-automation/setup-ci-automation/SKILL.md +76 -0
  86. package/skills/testomatio/test-management/qa-split-testing-levels-pyramid/SKILL.md +55 -0
  87. package/skills/testomatio/test-management/qa-sprint-report-by-testomatio/SKILL.md +220 -0
  88. package/skills/testomatio/test-management/qa-sprint-report-by-testomatio/references/qa-sprint-report.md +126 -0
  89. package/skills/testomatio/test-management/qa-test-code-coverage/SKILL.md +1 -1
  90. package/skills/testomatio/test-management/qa-thinking/SKILL.md +25 -25
  91. package/skills/testomatio/test-management/testomatio-mcp/SKILL.md +14 -1
  92. package/skills/testomatio/test-management/testomatio-mcp/references/MCP_SETUP.md +8 -0
  93. package/assets/testeiya-logo-dark.svg +0 -16
  94. package/assets/testeiya-logo.svg +0 -15
  95. package/models.catalog.json +0 -6963
  96. package/skills/playwright-best-practices-skill/LICENSE.md +0 -7
  97. package/skills/playwright-best-practices-skill/README.md +0 -147
  98. package/skills/testeiya/README.md +0 -29
  99. package/skills/testeiya/answer-formatting/SKILL.md +0 -30
  100. package/skills/testeiya/check-cucumber/SKILL.md +0 -200
  101. package/skills/testeiya/check-tests/SKILL.md +0 -260
  102. package/skills/testeiya/manual-run-assistant/SKILL.md +0 -61
  103. package/skills/testeiya/testomatio-docs/INDEX.md +0 -175
  104. package/skills/testeiya/testomatio-docs/SKILL.md +0 -102
  105. package/skills/testeiya/testomatio-docs/docs/advanced/ai-powered-features/ai-agents.md +0 -144
  106. package/skills/testeiya/testomatio-docs/docs/advanced/ai-powered-features/ai-powered-features.md +0 -531
  107. package/skills/testeiya/testomatio-docs/docs/advanced/ai-powered-features/ai-requirements.md +0 -437
  108. package/skills/testeiya/testomatio-docs/docs/advanced/api-access/index.md +0 -191
  109. package/skills/testeiya/testomatio-docs/docs/advanced/branches-folder/index.md +0 -277
  110. package/skills/testeiya/testomatio-docs/docs/advanced/bulk-edit-folder/bulk-edit-demos.mdx +0 -39
  111. package/skills/testeiya/testomatio-docs/docs/advanced/bulk-edit-folder/bulk-edit-on-suite-and-test-level.md +0 -122
  112. package/skills/testeiya/testomatio-docs/docs/advanced/bulk-edit-folder/what-is-bulk-edit.md +0 -170
  113. package/skills/testeiya/testomatio-docs/docs/advanced/jira-plugin/branches.md +0 -53
  114. package/skills/testeiya/testomatio-docs/docs/advanced/jira-plugin/index.mdx +0 -98
  115. package/skills/testeiya/testomatio-docs/docs/advanced/jira-plugin/jira-issue.md +0 -151
  116. package/skills/testeiya/testomatio-docs/docs/advanced/jira-plugin/runs-and-reports.md +0 -377
  117. package/skills/testeiya/testomatio-docs/docs/advanced/jira-plugin/work-in-jira.md +0 -267
  118. package/skills/testeiya/testomatio-docs/docs/advanced/living-doc/index.md +0 -138
  119. package/skills/testeiya/testomatio-docs/docs/advanced/milestones/index.md +0 -220
  120. package/skills/testeiya/testomatio-docs/docs/advanced/shortcuts/index.md +0 -48
  121. package/skills/testeiya/testomatio-docs/docs/advanced/tags-labels/labels-and-custom-fields.md +0 -201
  122. package/skills/testeiya/testomatio-docs/docs/advanced/tags-labels/tags-or-labels.md +0 -94
  123. package/skills/testeiya/testomatio-docs/docs/advanced/tags-labels/tags.md +0 -243
  124. package/skills/testeiya/testomatio-docs/docs/advanced/test-artifacts/index.md +0 -135
  125. package/skills/testeiya/testomatio-docs/docs/advanced/tql/index.md +0 -394
  126. package/skills/testeiya/testomatio-docs/docs/getting-started/index.md +0 -290
  127. package/skills/testeiya/testomatio-docs/docs/integrations/continuous-integration/azure.md +0 -96
  128. package/skills/testeiya/testomatio-docs/docs/integrations/continuous-integration/bamboo.md +0 -94
  129. package/skills/testeiya/testomatio-docs/docs/integrations/continuous-integration/bitbucket.md +0 -106
  130. package/skills/testeiya/testomatio-docs/docs/integrations/continuous-integration/circle.md +0 -115
  131. package/skills/testeiya/testomatio-docs/docs/integrations/continuous-integration/github.md +0 -120
  132. package/skills/testeiya/testomatio-docs/docs/integrations/continuous-integration/gitlab.md +0 -88
  133. package/skills/testeiya/testomatio-docs/docs/integrations/continuous-integration/index.mdx +0 -151
  134. package/skills/testeiya/testomatio-docs/docs/integrations/continuous-integration/jenkins.md +0 -121
  135. package/skills/testeiya/testomatio-docs/docs/integrations/continuous-integration/teamcity.md +0 -96
  136. package/skills/testeiya/testomatio-docs/docs/integrations/issues-management/azure.md +0 -31
  137. package/skills/testeiya/testomatio-docs/docs/integrations/issues-management/clickup.md +0 -54
  138. package/skills/testeiya/testomatio-docs/docs/integrations/issues-management/confluence.md +0 -34
  139. package/skills/testeiya/testomatio-docs/docs/integrations/issues-management/github.md +0 -31
  140. package/skills/testeiya/testomatio-docs/docs/integrations/issues-management/gitlab.md +0 -93
  141. package/skills/testeiya/testomatio-docs/docs/integrations/issues-management/index.md +0 -131
  142. package/skills/testeiya/testomatio-docs/docs/integrations/issues-management/jira.md +0 -164
  143. package/skills/testeiya/testomatio-docs/docs/integrations/issues-management/linear.md +0 -29
  144. package/skills/testeiya/testomatio-docs/docs/integrations/issues-management/shortcut.md +0 -67
  145. package/skills/testeiya/testomatio-docs/docs/integrations/issues-management/youtrack.md +0 -94
  146. package/skills/testeiya/testomatio-docs/docs/integrations/report-notifications/azure-devops.md +0 -53
  147. package/skills/testeiya/testomatio-docs/docs/integrations/report-notifications/email.md +0 -71
  148. package/skills/testeiya/testomatio-docs/docs/integrations/report-notifications/jira.md +0 -52
  149. package/skills/testeiya/testomatio-docs/docs/integrations/report-notifications/ms-teams.md +0 -60
  150. package/skills/testeiya/testomatio-docs/docs/integrations/report-notifications/rules.md +0 -267
  151. package/skills/testeiya/testomatio-docs/docs/integrations/report-notifications/slack.md +0 -82
  152. package/skills/testeiya/testomatio-docs/docs/integrations/report-notifications/telegram.md +0 -73
  153. package/skills/testeiya/testomatio-docs/docs/integrations/scim-provisioning/index.mdx +0 -207
  154. package/skills/testeiya/testomatio-docs/docs/integrations/scim-provisioning/okta.md +0 -204
  155. package/skills/testeiya/testomatio-docs/docs/integrations/single-sign-on/azure.md +0 -95
  156. package/skills/testeiya/testomatio-docs/docs/integrations/single-sign-on/google.md +0 -75
  157. package/skills/testeiya/testomatio-docs/docs/integrations/single-sign-on/index.mdx +0 -33
  158. package/skills/testeiya/testomatio-docs/docs/integrations/single-sign-on/okta.md +0 -108
  159. package/skills/testeiya/testomatio-docs/docs/integrations/single-sign-on/saml.md +0 -66
  160. package/skills/testeiya/testomatio-docs/docs/legal/compliance/gdpr.md +0 -95
  161. package/skills/testeiya/testomatio-docs/docs/legal/compliance/index.mdx +0 -94
  162. package/skills/testeiya/testomatio-docs/docs/legal/compliance/privacy.md +0 -26
  163. package/skills/testeiya/testomatio-docs/docs/legal/compliance/terms.md +0 -32
  164. package/skills/testeiya/testomatio-docs/docs/legal/security/index.mdx +0 -242
  165. package/skills/testeiya/testomatio-docs/docs/legal/security/jira.md +0 -140
  166. package/skills/testeiya/testomatio-docs/docs/legal/security/subprocessors.md +0 -76
  167. package/skills/testeiya/testomatio-docs/docs/management/company/administration.md +0 -363
  168. package/skills/testeiya/testomatio-docs/docs/management/company/audit-log.md +0 -41
  169. package/skills/testeiya/testomatio-docs/docs/management/company/plan-features-comparison.md +0 -240
  170. package/skills/testeiya/testomatio-docs/docs/management/company/subscriptions.md +0 -326
  171. package/skills/testeiya/testomatio-docs/docs/management/company/trials.md +0 -75
  172. package/skills/testeiya/testomatio-docs/docs/management/company/users-and-permissions/accountant.md +0 -49
  173. package/skills/testeiya/testomatio-docs/docs/management/company/users-and-permissions/index.mdx +0 -285
  174. package/skills/testeiya/testomatio-docs/docs/management/company/users-and-permissions/read-only-user.md +0 -67
  175. package/skills/testeiya/testomatio-docs/docs/management/company/users-and-permissions/teams.md +0 -138
  176. package/skills/testeiya/testomatio-docs/docs/management/project/settings.md +0 -87
  177. package/skills/testeiya/testomatio-docs/docs/management/project/templates.md +0 -546
  178. package/skills/testeiya/testomatio-docs/docs/project/analytics/index.md +0 -326
  179. package/skills/testeiya/testomatio-docs/docs/project/import-export/export-tests/classical-tests-markdown-format.md +0 -386
  180. package/skills/testeiya/testomatio-docs/docs/project/import-export/export-tests/download-manual-tests-as-files.md +0 -378
  181. package/skills/testeiya/testomatio-docs/docs/project/import-export/export-tests/export-to-obsidian.md +0 -112
  182. package/skills/testeiya/testomatio-docs/docs/project/import-export/export-tests/export-to-spreadsheet.md +0 -127
  183. package/skills/testeiya/testomatio-docs/docs/project/import-export/import/auto-import.md +0 -63
  184. package/skills/testeiya/testomatio-docs/docs/project/import-export/import/import-tests-from-Allure-TestOps.md +0 -49
  185. package/skills/testeiya/testomatio-docs/docs/project/import-export/import/import-tests-from-QTest.md +0 -41
  186. package/skills/testeiya/testomatio-docs/docs/project/import-export/import/import-tests-from-Qase.md +0 -39
  187. package/skills/testeiya/testomatio-docs/docs/project/import-export/import/import-tests-from-Zephyr.md +0 -37
  188. package/skills/testeiya/testomatio-docs/docs/project/import-export/import/import-tests-from-csv-xlsx.md +0 -117
  189. package/skills/testeiya/testomatio-docs/docs/project/import-export/import/import-tests-from-cucumber.md +0 -93
  190. package/skills/testeiya/testomatio-docs/docs/project/import-export/import/import-tests-from-qmetry.md +0 -44
  191. package/skills/testeiya/testomatio-docs/docs/project/import-export/import/import-tests-from-source-code.md +0 -117
  192. package/skills/testeiya/testomatio-docs/docs/project/import-export/import/import-tests-from-testcaselabs.md +0 -44
  193. package/skills/testeiya/testomatio-docs/docs/project/import-export/import/import-tests-from-testmo.md +0 -47
  194. package/skills/testeiya/testomatio-docs/docs/project/import-export/import/import-tests-from-testrail.md +0 -82
  195. package/skills/testeiya/testomatio-docs/docs/project/import-export/import/import-tests-from-xray.md +0 -55
  196. package/skills/testeiya/testomatio-docs/docs/project/plans/index.md +0 -334
  197. package/skills/testeiya/testomatio-docs/docs/project/pulse/index.md +0 -104
  198. package/skills/testeiya/testomatio-docs/docs/project/runs/archive-runs-and-groups.md +0 -176
  199. package/skills/testeiya/testomatio-docs/docs/project/runs/custom-statuses.md +0 -195
  200. package/skills/testeiya/testomatio-docs/docs/project/runs/environments.md +0 -203
  201. package/skills/testeiya/testomatio-docs/docs/project/runs/managing-runs.md +0 -455
  202. package/skills/testeiya/testomatio-docs/docs/project/runs/merge-strategies.md +0 -137
  203. package/skills/testeiya/testomatio-docs/docs/project/runs/reports.md +0 -329
  204. package/skills/testeiya/testomatio-docs/docs/project/runs/rungroups.md +0 -342
  205. package/skills/testeiya/testomatio-docs/docs/project/runs/running-automated-tests.md +0 -256
  206. package/skills/testeiya/testomatio-docs/docs/project/runs/running-manual-and-automated-tests.md +0 -331
  207. package/skills/testeiya/testomatio-docs/docs/project/runs/running-tests-manually.md +0 -633
  208. package/skills/testeiya/testomatio-docs/docs/project/runs/temporary-tests-notes.md +0 -223
  209. package/skills/testeiya/testomatio-docs/docs/project/steps-snippets/snippets.md +0 -68
  210. package/skills/testeiya/testomatio-docs/docs/project/steps-snippets/steps.md +0 -181
  211. package/skills/testeiya/testomatio-docs/docs/project/tests/bdd-test-case-editor.md +0 -98
  212. package/skills/testeiya/testomatio-docs/docs/project/tests/classical-test-case-editor.md +0 -354
  213. package/skills/testeiya/testomatio-docs/docs/project/tests/classical-vs-bdd.md +0 -169
  214. package/skills/testeiya/testomatio-docs/docs/project/tests/copy-and-move-your-tests.md +0 -156
  215. package/skills/testeiya/testomatio-docs/docs/project/tests/other-features-for-test-case-design.md +0 -412
  216. package/skills/testeiya/testomatio-docs/docs/project/tests/test-case-creation-and-editing.md +0 -527
  217. package/skills/testeiya/testomatio-docs/docs/support/index.md +0 -75
  218. package/skills/testeiya/testomatio-docs/docs/test-reporting/artifacts.md +0 -388
  219. package/skills/testeiya/testomatio-docs/docs/test-reporting/cli.md +0 -215
  220. package/skills/testeiya/testomatio-docs/docs/test-reporting/configuration.md +0 -247
  221. package/skills/testeiya/testomatio-docs/docs/test-reporting/frameworks.md +0 -490
  222. package/skills/testeiya/testomatio-docs/docs/test-reporting/functions.md +0 -144
  223. package/skills/testeiya/testomatio-docs/docs/test-reporting/index.mdx +0 -48
  224. package/skills/testeiya/testomatio-docs/docs/test-reporting/junit.md +0 -248
  225. package/skills/testeiya/testomatio-docs/docs/test-reporting/logger.md +0 -138
  226. package/skills/testeiya/testomatio-docs/docs/test-reporting/php.md +0 -77
  227. package/skills/testeiya/testomatio-docs/docs/test-reporting/pipes/bitbucket.md +0 -72
  228. package/skills/testeiya/testomatio-docs/docs/test-reporting/pipes/csv.md +0 -23
  229. package/skills/testeiya/testomatio-docs/docs/test-reporting/pipes/debug.md +0 -18
  230. package/skills/testeiya/testomatio-docs/docs/test-reporting/pipes/github.md +0 -63
  231. package/skills/testeiya/testomatio-docs/docs/test-reporting/pipes/gitlab.md +0 -29
  232. package/skills/testeiya/testomatio-docs/docs/test-reporting/pipes/html.md +0 -80
  233. package/skills/testeiya/testomatio-docs/docs/test-reporting/pipes/index.mdx +0 -57
  234. package/skills/testeiya/testomatio-docs/docs/test-reporting/pipes/testomatio.md +0 -331
  235. package/skills/testeiya/testomatio-docs/docs/test-reporting/python.md +0 -229
  236. package/skills/testeiya/testomatio-docs/docs/test-reporting/workflows.md +0 -325
  237. package/skills/testeiya/testomatio-docs/docs/tutorials/Interacting-via-API.md +0 -159
  238. package/skills/testeiya/testomatio-docs/docs/tutorials/Manual-Testing-Classic.md +0 -164
  239. package/skills/testeiya/testomatio-docs/docs/tutorials/Set-Up-Read-Only-Access.md +0 -85
  240. package/skills/testeiya/testomatio-docs/docs/tutorials/Using-AI-in-Testing.md +0 -163
  241. package/skills/testeiya/testomatio-docs/docs/tutorials/Working-with-Jira.md +0 -125
  242. package/skills/testeiya/testomatio-docs/docs/tutorials/java.md +0 -478
  243. package/skills/testeiya/testomatio-docs/docs/tutorials/playwright.md +0 -207
  244. package/skills/testeiya/testomatio-docs/docs/tutorials/webdriver.md +0 -218
  245. package/skills/testeiya/testomatio-docs/docs.lock.json +0 -6
  246. package/skills/testeiya/testomatio-reporter/SKILL.md +0 -307
  247. package/skills/testomatio/test-automation/setup-pr-testing/SKILL.md +0 -199
  248. package/skills.yaml +0 -21
  249. package/src/ai-debug.ts +0 -188
  250. package/src/api/agent-get.ts +0 -22
  251. package/src/api/agent-start.ts +0 -384
  252. package/src/api/client-log.ts +0 -29
  253. package/src/api/context.ts +0 -332
  254. package/src/api/debug-layout.ts +0 -47
  255. package/src/api/debug-report.ts +0 -29
  256. package/src/api/debug-snapshot.ts +0 -30
  257. package/src/api/debug-stream.ts +0 -52
  258. package/src/api/files-delete.ts +0 -184
  259. package/src/api/files-read.ts +0 -41
  260. package/src/api/files-rename.ts +0 -99
  261. package/src/api/files-tree.ts +0 -292
  262. package/src/api/files-write.ts +0 -41
  263. package/src/api/mcp.ts +0 -603
  264. package/src/api/memory.ts +0 -69
  265. package/src/api/open-external.ts +0 -39
  266. package/src/api/playwright-cli.ts +0 -606
  267. package/src/api/providers.ts +0 -457
  268. package/src/api/read-env-token.ts +0 -33
  269. package/src/api/sessions.ts +0 -79
  270. package/src/api/settings.ts +0 -120
  271. package/src/api/skills.ts +0 -58
  272. package/src/api/testomatio-attachment.ts +0 -89
  273. package/src/api/testomatio-auth.ts +0 -284
  274. package/src/api/testomatio-proxy.ts +0 -197
  275. package/src/api/testomatio-run-stats.ts +0 -81
  276. package/src/api/testomatio-target.ts +0 -225
  277. package/src/api/testomatio-transcription.ts +0 -82
  278. package/src/api/workspace-search.ts +0 -96
  279. package/src/api/workspace-sync.ts +0 -151
  280. package/src/api/workspace.ts +0 -165
  281. package/src/app-server.ts +0 -556
  282. package/src/bridge.ts +0 -251
  283. package/src/check-tests.ts +0 -156
  284. package/src/cli.ts +0 -17
  285. package/src/commands.ts +0 -244
  286. package/src/config.ts +0 -183
  287. package/src/connection.ts +0 -658
  288. package/src/context-store.ts +0 -265
  289. package/src/debug-bus.ts +0 -405
  290. package/src/extensions/tool-gate.ts +0 -220
  291. package/src/extensions/webui/ask-channel.ts +0 -52
  292. package/src/extensions/webui/index.ts +0 -184
  293. package/src/extensions/webui/tools/ask-question.ts +0 -88
  294. package/src/extensions/webui/tools/query-result.ts +0 -79
  295. package/src/extensions/webui/tools/render-chart.ts +0 -53
  296. package/src/extensions/webui/tools/render-item.ts +0 -61
  297. package/src/extensions/webui/tools/render-list.ts +0 -170
  298. package/src/extensions/webui/tools/render-result.ts +0 -85
  299. package/src/extensions/webui/tools/render-tree.ts +0 -71
  300. package/src/extensions/webui/tools/ui-widget.ts +0 -54
  301. package/src/extensions/webui/tools/widget-result.ts +0 -13
  302. package/src/extensions/webui/widget-channel.ts +0 -50
  303. package/src/file-log.ts +0 -196
  304. package/src/git-tracked.ts +0 -68
  305. package/src/gitignore.ts +0 -53
  306. package/src/json-store.ts +0 -43
  307. package/src/load-env.ts +0 -70
  308. package/src/loader-style.ts +0 -96
  309. package/src/main.ts +0 -140
  310. package/src/mcp-catalog.ts +0 -96
  311. package/src/models-catalog.ts +0 -72
  312. package/src/permissions.ts +0 -120
  313. package/src/project-dir.ts +0 -189
  314. package/src/project-info.ts +0 -108
  315. package/src/prompt/app-ui.ts +0 -59
  316. package/src/prompt/browser.ts +0 -27
  317. package/src/prompt/index.ts +0 -62
  318. package/src/prompt/tools.ts +0 -27
  319. package/src/server-info.ts +0 -62
  320. package/src/session-factory.ts +0 -442
  321. package/src/session-store.ts +0 -115
  322. package/src/shell-env.ts +0 -45
  323. package/src/skills.ts +0 -163
  324. package/src/sync-snapshot.ts +0 -140
  325. package/src/telemetry.ts +0 -239
  326. package/src/testomatio-auth.ts +0 -299
  327. package/src/testomatio.ts +0 -98
  328. package/src/theme.ts +0 -30
  329. package/src/user-env.ts +0 -94
  330. package/src/welcome.ts +0 -194
  331. package/src/workspace/safe-path.ts +0 -85
  332. package/src/workspace/test-md.ts +0 -70
  333. package/src/workspace-model.ts +0 -440
  334. package/testeiya.config.json +0 -14
  335. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/advanced/authentication-flows.md +0 -0
  336. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/advanced/authentication.md +0 -0
  337. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/advanced/clock-mocking.md +0 -0
  338. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/advanced/mobile-testing.md +0 -0
  339. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/advanced/multi-context.md +0 -0
  340. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/advanced/multi-user.md +0 -0
  341. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/advanced/network-advanced.md +0 -0
  342. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/advanced/third-party.md +0 -0
  343. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/architecture/pom-vs-fixtures.md +0 -0
  344. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/architecture/test-architecture.md +0 -0
  345. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/architecture/when-to-mock.md +0 -0
  346. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/browser-apis/browser-apis.md +0 -0
  347. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/browser-apis/iframes.md +0 -0
  348. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/browser-apis/service-workers.md +0 -0
  349. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/browser-apis/websockets.md +0 -0
  350. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/core/annotations.md +0 -0
  351. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/core/assertions-waiting.md +0 -0
  352. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/core/configuration.md +0 -0
  353. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/core/fixtures-hooks.md +0 -0
  354. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/core/global-setup.md +0 -0
  355. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/core/locators.md +0 -0
  356. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/core/page-object-model.md +0 -0
  357. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/core/projects-dependencies.md +0 -0
  358. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/core/test-data.md +0 -0
  359. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/core/test-suite-structure.md +0 -0
  360. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/core/test-tags.md +0 -0
  361. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/debugging/console-errors.md +0 -0
  362. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/debugging/debugging.md +0 -0
  363. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/debugging/error-testing.md +0 -0
  364. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/debugging/flaky-tests.md +0 -0
  365. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/frameworks/angular.md +0 -0
  366. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/frameworks/nextjs.md +0 -0
  367. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/frameworks/react.md +0 -0
  368. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/frameworks/vue.md +0 -0
  369. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/infrastructure-ci-cd/ci-cd.md +0 -0
  370. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/infrastructure-ci-cd/docker.md +0 -0
  371. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/infrastructure-ci-cd/github-actions.md +0 -0
  372. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/infrastructure-ci-cd/gitlab.md +0 -0
  373. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/infrastructure-ci-cd/other-providers.md +0 -0
  374. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/infrastructure-ci-cd/parallel-sharding.md +0 -0
  375. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/infrastructure-ci-cd/performance.md +0 -0
  376. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/infrastructure-ci-cd/reporting.md +0 -0
  377. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/infrastructure-ci-cd/test-coverage.md +0 -0
  378. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/testing-patterns/accessibility.md +0 -0
  379. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/testing-patterns/api-testing.md +0 -0
  380. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/testing-patterns/browser-extensions.md +0 -0
  381. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/testing-patterns/canvas-webgl.md +0 -0
  382. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/testing-patterns/component-testing.md +0 -0
  383. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/testing-patterns/drag-drop.md +0 -0
  384. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/testing-patterns/electron.md +0 -0
  385. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/testing-patterns/file-operations.md +0 -0
  386. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/testing-patterns/file-upload-download.md +0 -0
  387. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/testing-patterns/forms-validation.md +0 -0
  388. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/testing-patterns/graphql-testing.md +0 -0
  389. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/testing-patterns/i18n.md +0 -0
  390. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/testing-patterns/performance-testing.md +0 -0
  391. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/testing-patterns/security-testing.md +0 -0
  392. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/testing-patterns/visual-regression.md +0 -0
  393. /package/skills/{playwright-cli → playwright/playwright-cli}/SKILL.md +0 -0
  394. /package/skills/{playwright-cli → playwright/playwright-cli}/references/element-attributes.md +0 -0
  395. /package/skills/{playwright-cli → playwright/playwright-cli}/references/playwright-tests.md +0 -0
  396. /package/skills/{playwright-cli → playwright/playwright-cli}/references/request-mocking.md +0 -0
  397. /package/skills/{playwright-cli → playwright/playwright-cli}/references/running-code.md +0 -0
  398. /package/skills/{playwright-cli → playwright/playwright-cli}/references/session-management.md +0 -0
  399. /package/skills/{playwright-cli → playwright/playwright-cli}/references/storage-state.md +0 -0
  400. /package/skills/{playwright-cli → playwright/playwright-cli}/references/test-generation.md +0 -0
  401. /package/skills/{playwright-cli → playwright/playwright-cli}/references/tracing.md +0 -0
  402. /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.