testeiya 0.3.9 → 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.
- package/README.md +312 -27
- package/dist/prompt/index.js +6 -2
- package/dist/prompt/index.js.map +1 -1
- package/dist/prompt/print.js +8 -0
- package/dist/prompt/print.js.map +1 -1
- package/dist/prompt/system-prompt.js +14 -4
- package/dist/prompt/system-prompt.js.map +1 -1
- package/dist/prompt/testomatio.js +3 -3
- package/dist/prompt/tools.js +15 -7
- package/dist/prompt/tools.js.map +1 -1
- package/dist/src/args.js +147 -47
- package/dist/src/args.js.map +1 -1
- package/dist/src/cli.js +50 -14
- package/dist/src/cli.js.map +1 -1
- package/dist/src/doctor.js +186 -0
- package/dist/src/doctor.js.map +1 -0
- package/dist/src/env.js +29 -5
- package/dist/src/env.js.map +1 -1
- package/dist/src/mcp.js +3 -3
- package/dist/src/mcp.js.map +1 -1
- package/dist/src/model.js +15 -10
- package/dist/src/model.js.map +1 -1
- package/dist/src/models.js +38 -0
- package/dist/src/models.js.map +1 -0
- package/dist/src/output.js +185 -0
- package/dist/src/output.js.map +1 -0
- package/dist/src/run.js +116 -24
- package/dist/src/run.js.map +1 -1
- package/dist/src/session.js +38 -23
- package/dist/src/session.js.map +1 -1
- package/dist/src/sessions.js +61 -0
- package/dist/src/sessions.js.map +1 -0
- package/package.json +7 -3
- package/prompt/index.ts +11 -2
- package/prompt/print.ts +9 -0
- package/prompt/system-prompt.ts +18 -4
- package/prompt/testomatio.ts +3 -3
- package/prompt/tools.ts +15 -7
- package/skills/codeceptjs/ci-fix-tests/SKILL.md +119 -0
- package/skills/codeceptjs/codeceptjs-auth/SKILL.md +141 -0
- package/skills/codeceptjs/codeceptjs-exploration/SKILL.md +100 -0
- package/skills/codeceptjs/codeceptjs-fundamentals/SKILL.md +196 -0
- package/skills/codeceptjs/codeceptjs-run-analysis/SKILL.md +83 -0
- package/skills/codeceptjs/debugging-codeceptjs-tests/SKILL.md +126 -0
- package/skills/codeceptjs/migrate-codeceptjs-4/SKILL.md +109 -0
- package/skills/codeceptjs/migrate-cypress-to-codeceptjs/SKILL.md +295 -0
- package/skills/codeceptjs/migrate-protractor-to-codeceptjs/SKILL.md +339 -0
- package/skills/codeceptjs/migrate-selenium-java-to-codeceptjs/SKILL.md +459 -0
- package/skills/codeceptjs/migrate-testcafe-to-codeceptjs/SKILL.md +338 -0
- package/skills/codeceptjs/refactoring-codeceptjs-tests/SKILL.md +78 -0
- package/skills/codeceptjs/writing-codeceptjs-tests/SKILL.md +102 -0
- package/skills/playwright/playwright-best-practices/SKILL.md +303 -0
- package/skills/playwright/playwright-best-practices/advanced/authentication-flows.md +360 -0
- package/skills/playwright/playwright-best-practices/advanced/authentication.md +871 -0
- package/skills/playwright/playwright-best-practices/advanced/clock-mocking.md +364 -0
- package/skills/playwright/playwright-best-practices/advanced/mobile-testing.md +409 -0
- package/skills/playwright/playwright-best-practices/advanced/multi-context.md +288 -0
- package/skills/playwright/playwright-best-practices/advanced/multi-user.md +393 -0
- package/skills/playwright/playwright-best-practices/advanced/network-advanced.md +452 -0
- package/skills/playwright/playwright-best-practices/advanced/third-party.md +464 -0
- package/skills/playwright/playwright-best-practices/architecture/pom-vs-fixtures.md +363 -0
- package/skills/playwright/playwright-best-practices/architecture/test-architecture.md +369 -0
- package/skills/playwright/playwright-best-practices/architecture/when-to-mock.md +383 -0
- package/skills/playwright/playwright-best-practices/browser-apis/browser-apis.md +391 -0
- package/skills/playwright/playwright-best-practices/browser-apis/iframes.md +403 -0
- package/skills/playwright/playwright-best-practices/browser-apis/service-workers.md +504 -0
- package/skills/playwright/playwright-best-practices/browser-apis/websockets.md +403 -0
- package/skills/playwright/playwright-best-practices/core/annotations.md +424 -0
- package/skills/playwright/playwright-best-practices/core/assertions-waiting.md +361 -0
- package/skills/playwright/playwright-best-practices/core/configuration.md +452 -0
- package/skills/playwright/playwright-best-practices/core/fixtures-hooks.md +417 -0
- package/skills/playwright/playwright-best-practices/core/global-setup.md +434 -0
- package/skills/playwright/playwright-best-practices/core/locators.md +242 -0
- package/skills/playwright/playwright-best-practices/core/page-object-model.md +315 -0
- package/skills/playwright/playwright-best-practices/core/projects-dependencies.md +453 -0
- package/skills/playwright/playwright-best-practices/core/test-data.md +492 -0
- package/skills/playwright/playwright-best-practices/core/test-suite-structure.md +361 -0
- package/skills/playwright/playwright-best-practices/core/test-tags.md +298 -0
- package/skills/playwright/playwright-best-practices/debugging/console-errors.md +420 -0
- package/skills/playwright/playwright-best-practices/debugging/debugging.md +504 -0
- package/skills/playwright/playwright-best-practices/debugging/error-testing.md +360 -0
- package/skills/playwright/playwright-best-practices/debugging/flaky-tests.md +496 -0
- package/skills/playwright/playwright-best-practices/frameworks/angular.md +530 -0
- package/skills/playwright/playwright-best-practices/frameworks/nextjs.md +469 -0
- package/skills/playwright/playwright-best-practices/frameworks/react.md +531 -0
- package/skills/playwright/playwright-best-practices/frameworks/vue.md +574 -0
- package/skills/playwright/playwright-best-practices/infrastructure-ci-cd/ci-cd.md +468 -0
- package/skills/playwright/playwright-best-practices/infrastructure-ci-cd/docker.md +283 -0
- package/skills/playwright/playwright-best-practices/infrastructure-ci-cd/github-actions.md +546 -0
- package/skills/playwright/playwright-best-practices/infrastructure-ci-cd/gitlab.md +397 -0
- package/skills/playwright/playwright-best-practices/infrastructure-ci-cd/other-providers.md +521 -0
- package/skills/playwright/playwright-best-practices/infrastructure-ci-cd/parallel-sharding.md +371 -0
- package/skills/playwright/playwright-best-practices/infrastructure-ci-cd/performance.md +453 -0
- package/skills/playwright/playwright-best-practices/infrastructure-ci-cd/reporting.md +424 -0
- package/skills/playwright/playwright-best-practices/infrastructure-ci-cd/test-coverage.md +497 -0
- package/skills/playwright/playwright-best-practices/testing-patterns/accessibility.md +359 -0
- package/skills/playwright/playwright-best-practices/testing-patterns/api-testing.md +719 -0
- package/skills/playwright/playwright-best-practices/testing-patterns/browser-extensions.md +506 -0
- package/skills/playwright/playwright-best-practices/testing-patterns/canvas-webgl.md +493 -0
- package/skills/playwright/playwright-best-practices/testing-patterns/component-testing.md +500 -0
- package/skills/playwright/playwright-best-practices/testing-patterns/drag-drop.md +576 -0
- package/skills/playwright/playwright-best-practices/testing-patterns/electron.md +509 -0
- package/skills/playwright/playwright-best-practices/testing-patterns/file-operations.md +377 -0
- package/skills/playwright/playwright-best-practices/testing-patterns/file-upload-download.md +562 -0
- package/skills/playwright/playwright-best-practices/testing-patterns/forms-validation.md +561 -0
- package/skills/playwright/playwright-best-practices/testing-patterns/graphql-testing.md +331 -0
- package/skills/playwright/playwright-best-practices/testing-patterns/i18n.md +508 -0
- package/skills/playwright/playwright-best-practices/testing-patterns/performance-testing.md +476 -0
- package/skills/playwright/playwright-best-practices/testing-patterns/security-testing.md +430 -0
- package/skills/playwright/playwright-best-practices/testing-patterns/visual-regression.md +634 -0
- package/skills/playwright/playwright-cli/SKILL.md +420 -0
- package/skills/playwright/playwright-cli/references/element-attributes.md +23 -0
- package/skills/playwright/playwright-cli/references/playwright-tests.md +39 -0
- package/skills/playwright/playwright-cli/references/request-mocking.md +87 -0
- package/skills/playwright/playwright-cli/references/running-code.md +241 -0
- package/skills/playwright/playwright-cli/references/session-management.md +225 -0
- package/skills/playwright/playwright-cli/references/storage-state.md +275 -0
- package/skills/playwright/playwright-cli/references/test-generation.md +433 -0
- package/skills/playwright/playwright-cli/references/tracing.md +139 -0
- package/skills/playwright/playwright-cli/references/video-recording.md +143 -0
- package/skills/skills.lock.json +39 -36
- package/skills/testomatio/explorbot/explorbot-fundamentals/SKILL.md +76 -0
- package/skills/testomatio/explorbot/explorbot-fundamentals/references/no-install.md +36 -0
- package/skills/testomatio/explorbot/explorbot-plan/SKILL.md +108 -0
- package/skills/testomatio/explorbot/explorbot-setup/SKILL.md +86 -0
- package/skills/testomatio/qa-process/qa-explain-behavior/SKILL.md +111 -0
- package/skills/testomatio/qa-process/qa-explain-behavior/references/answer-shapes.md +116 -0
- package/skills/testomatio/qa-process/qa-explain-behavior/references/examples.md +157 -0
- package/skills/testomatio/qa-process/qa-lead-strategy-advisor/SKILL.md +91 -0
- package/skills/testomatio/qa-process/qa-lead-strategy-advisor/references/output-format.md +71 -0
- package/skills/testomatio/qa-process/testing-workflow/SKILL.md +227 -0
- package/skills/testomatio/test-automation/automate-manual-test-cases/CLAUDE.md +56 -0
- package/skills/testomatio/test-automation/automate-manual-test-cases/SKILL.md +242 -0
- package/skills/testomatio/test-automation/automate-manual-test-cases/references/CODECEPTJS_BEST_PRACTICES.md +182 -0
- package/skills/testomatio/test-automation/automate-manual-test-cases/references/FINAL_SUMMARY_TEMPLATE.md +22 -0
- package/skills/testomatio/test-automation/automate-manual-test-cases/references/PLAYWRIGHT_BEST_PRACTICES.md +90 -0
- package/skills/testomatio/test-automation/automate-manual-test-cases/references/POM_BEST_PRACTICES.md +53 -0
- package/skills/testomatio/test-automation/automate-manual-test-cases/references/TEST_DATA_MANAGEMENT.md +52 -0
- package/skills/testomatio/test-automation/debug-fix-failed-flaky-autotests/SKILL.md +107 -0
- package/skills/testomatio/test-automation/debug-fix-failed-flaky-autotests/references/DEBUGGING_QUICK_REFERENCE.md +113 -0
- package/skills/testomatio/test-automation/qa-automation-test-consolidation/SKILL.md +29 -0
- package/skills/testomatio/test-automation/qa-data-seeder/SKILL.md +83 -0
- package/skills/testomatio/test-automation/run-tests-with-testomatio-reporter/SKILL.md +153 -0
- package/skills/testomatio/test-automation/setup-change-aware-pr-testing/SKILL.md +190 -0
- package/skills/testomatio/test-automation/setup-ci-automation/SKILL.md +76 -0
- package/skills/testomatio/test-automation/testomat-allure-adapter/SKILL.md +289 -0
- package/skills/testomatio/test-management/detect-duplicate-test-cases/SKILL.md +86 -0
- package/skills/testomatio/test-management/detect-duplicate-test-cases/references/DUPLICATE_INSTRUCTIONS.md +54 -0
- package/skills/testomatio/test-management/improve-test-cases/SKILL.md +114 -0
- package/skills/testomatio/test-management/improve-test-cases/references/TESTOMAT_MARKDOWN_EXAMPLE.md +66 -0
- package/skills/testomatio/test-management/pull-request-diff-analyzer/SKILL.md +141 -0
- package/skills/testomatio/test-management/qa-e2e-tests-reporting/SKILL.md +354 -0
- package/skills/testomatio/test-management/qa-e2e-tests-reporting/references/TESTOMATIO_ARTIFACTS.md +82 -0
- package/skills/testomatio/test-management/qa-e2e-tests-reporting/references/TESTOMATIO_HTML_REPORT.md +37 -0
- package/skills/testomatio/test-management/qa-e2e-tests-reporting/references/TESTOMATIO_REPORTERS_CONFIG.md +118 -0
- package/skills/testomatio/test-management/qa-pr-requirements-analyzer/SKILL.md +149 -0
- package/skills/testomatio/test-management/qa-pr-requirements-analyzer/references/summary-example.md +54 -0
- package/skills/testomatio/test-management/qa-requirement-reviewer/SKILL.md +126 -0
- package/skills/testomatio/test-management/qa-requirement-reviewer/references/requirements_reviewer_examples.md +128 -0
- package/skills/testomatio/test-management/qa-split-testing-levels-pyramid/SKILL.md +55 -0
- package/skills/testomatio/test-management/qa-sprint-report-by-testomatio/SKILL.md +220 -0
- package/skills/testomatio/test-management/qa-sprint-report-by-testomatio/references/qa-sprint-report.md +126 -0
- package/skills/testomatio/test-management/qa-test-code-coverage/SKILL.md +174 -0
- package/skills/testomatio/test-management/qa-test-code-coverage/references/COVERAGE_FILE_FORMAT.md +138 -0
- package/skills/testomatio/test-management/qa-test-code-coverage/references/E2E_FRAMEWORKS.md +65 -0
- package/skills/testomatio/test-management/qa-test-code-coverage/scripts/check-coverage.mjs +40 -0
- package/skills/testomatio/test-management/qa-thinking/SKILL.md +36 -0
- package/skills/testomatio/test-management/qa-write-test-cases/SKILL.md +267 -0
- package/skills/testomatio/test-management/qa-write-test-cases/references/test-case-format.md +387 -0
- package/skills/testomatio/test-management/qa-write-test-cases/references/testomat-tms-guide.md +72 -0
- package/skills/testomatio/test-management/qa-write-test-cases/references/writing-rule.md +159 -0
- package/skills/testomatio/test-management/scan-automation-project/SKILL.md +152 -0
- package/skills/testomatio/test-management/sync-test-cases-with-tms/SKILL.md +107 -0
- package/skills/testomatio/test-management/sync-test-cases-with-tms/references/TESTOMATIO_CLI.md +140 -0
- package/skills/testomatio/test-management/testomatio-mcp/SKILL.md +195 -0
- package/skills/testomatio/test-management/testomatio-mcp/references/MCP_SETUP.md +177 -0
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: pull-request-diff-analyzer
|
|
3
|
+
description: Analyze git diff/pull request changes to detect feature implementations and fixes, extract acceptance criteria, and identify related tickets. Use this skill when the user wants to understand what changed in a PR/branch, determine if it's a feature or bug fix, and get acceptance criteria for manual test case generation.
|
|
4
|
+
license: MIT
|
|
5
|
+
metadata:
|
|
6
|
+
author: Testomat.io
|
|
7
|
+
version: 1.0.0
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Pull Request Diff Analyzer
|
|
11
|
+
|
|
12
|
+
Analyze a git diff or PR to detect the change type and extract acceptance criteria for manual testing. **Analysis only** — never modify code.
|
|
13
|
+
|
|
14
|
+
## Step 1: Detect Branch Context and Scope
|
|
15
|
+
|
|
16
|
+
Get the current branch:
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
git branch --show-current
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
Detect the base branch, in order:
|
|
23
|
+
|
|
24
|
+
1. From PR context (preferred). If a PR number is known:
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
gh pr view {PR_NUMBER} --json baseRefName
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
`baseRefName` in the response is the PR's base branch.
|
|
31
|
+
|
|
32
|
+
- If the base branch cannot be detected, ask the user to specify it.
|
|
33
|
+
|
|
34
|
+
Get changed files:
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
git diff {BASE_BRANCH}...HEAD --name-only
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
For uncommitted local changes only:
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
git diff --name-only
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
For a GitHub PR with full diff view:
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
gh pr diff {PR_NUMBER}
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
**Skip to Step 3 with a short summary only (no acceptance criteria)** if:
|
|
53
|
+
- Current branch is `master`, `main`, `stable`, or the detected default branch in `baseRefName`.
|
|
54
|
+
- No files changed.
|
|
55
|
+
- All changes are non-source-code updates:
|
|
56
|
+
- documentation/requirements (`*.md`, `docs/**`)
|
|
57
|
+
- test updates and test docs (`*.test.md`, `test-flows/**`, `tests/e2e`)
|
|
58
|
+
- CI/CD and infrastructure config (`.github/workflows/**`, `Jenkinsfile`)
|
|
59
|
+
- lint/formatter/tooling configs
|
|
60
|
+
- dependency version bumps without behavior changes
|
|
61
|
+
- No application/source code behavior changed.
|
|
62
|
+
|
|
63
|
+
**Proceed to Step 2** if source code changed (`src/**`, `lib/**`, `app/**`, or root `.ts`/`.js`/`.tsx`/`.jsx`/`.java`/`.py`/`.go`/`.rb`/`.php`/`.cs`/`.kt`/`.swift`/`.rs`, etc).
|
|
64
|
+
|
|
65
|
+
## Step 2: Analyze PR Context and Files
|
|
66
|
+
|
|
67
|
+
Get PR details:
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
gh pr view {PR_NUMBER} --json title,body,comments,reviews,issues
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
Extract testing-relevant info:
|
|
74
|
+
- Title — feature/fix name, affected component.
|
|
75
|
+
- Description — criteria, test scenarios.
|
|
76
|
+
- Comments — test notes, edge cases, reproductions.
|
|
77
|
+
|
|
78
|
+
Analyze **source code files only**:
|
|
79
|
+
- Directories: `src/**`, `lib/**`, `app/**`, `controllers/**`, `services/**`, `models/**`, `pages/**`, `components/**`, `handlers/**`, `modules/**`, etc.
|
|
80
|
+
- Extensions: `.ts`, `.js`, `.tsx`, `.jsx`, `.java`, `.py`, `.go`, `.rb`, `.php`, `.cs`, `.kt`, `.swift`, `.rs`
|
|
81
|
+
- Skip configs, dependencies, tests, docs, migrations, and other files not related to source code.
|
|
82
|
+
|
|
83
|
+
Detect PR type:
|
|
84
|
+
- Feature — new files, endpoints, components, modules.
|
|
85
|
+
- Fix — bug fixes, patches, hotfixes (check commits for "fix", "bug", "hotfix").
|
|
86
|
+
- Refactor — code restructure without behavior change.
|
|
87
|
+
|
|
88
|
+
### Optional: scan-automation-project
|
|
89
|
+
|
|
90
|
+
**Do not run `scan-automation-project` by default.** Run it only when extra project context adds clear value before writing acceptance criteria.
|
|
91
|
+
|
|
92
|
+
Run it if:
|
|
93
|
+
- The PR introduces new functionality or a significant feature change.
|
|
94
|
+
- You need to check whether similar manual tests already exist.
|
|
95
|
+
- The user explicitly asks ("check for duplicates", "what tests already exist", or similar).
|
|
96
|
+
|
|
97
|
+
Skip it if:
|
|
98
|
+
- The PR is a small fix or minor UI/component update.
|
|
99
|
+
- The diff already gives enough context to write ACs confidently.
|
|
100
|
+
- Changes are limited to docs, requirements, tests, configs, or non-source-code updates.
|
|
101
|
+
- The project does not appear to contain manual tests.
|
|
102
|
+
- Existing test inventory is not relevant for the requested task.
|
|
103
|
+
|
|
104
|
+
If it is unavailable:
|
|
105
|
+
- Continue without checking existing tests.
|
|
106
|
+
- Add this note to the AC output: `Manual test inventory not checked — verify existing tests manually if needed.`
|
|
107
|
+
|
|
108
|
+
Use scan results only to:
|
|
109
|
+
- Avoid duplicating existing manual test cases.
|
|
110
|
+
- Understand project structure, frameworks, and test organization.
|
|
111
|
+
- Improve relevance and consistency of generated acceptance criteria.
|
|
112
|
+
|
|
113
|
+
## Step 3: Summary with Acceptance Criteria
|
|
114
|
+
|
|
115
|
+
Output format:
|
|
116
|
+
|
|
117
|
+
```md
|
|
118
|
+
## PR Diff Summary
|
|
119
|
+
|
|
120
|
+
**PR Type:** ... (feature | fix | refactor)
|
|
121
|
+
**Branch:** ... (branch name, e.g. feature/user-auth)
|
|
122
|
+
**Changes:** ... (one sentence describing the overall purpose of this PR)
|
|
123
|
+
**Affected Files:**
|
|
124
|
+
- ... (bullet list of all affected files in this PR)
|
|
125
|
+
|
|
126
|
+
**Impacted Areas:**
|
|
127
|
+
- ... (1-3 bullets, only real impacted files/areas in the PR)
|
|
128
|
+
|
|
129
|
+
**Acceptance Criteria:**
|
|
130
|
+
- action to perform → expected result
|
|
131
|
+
- ...
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
Summary rules:
|
|
135
|
+
- Keep the summary concise and high-level.
|
|
136
|
+
- "Changes" is ONE sentence. Not a paragraph.
|
|
137
|
+
- "Impacted Areas" lists only meaningful business or technical impact.
|
|
138
|
+
- Omit empty sections instead of writing `None` or `N/A`.
|
|
139
|
+
- **Acceptance criteria MUST be testable and user-oriented.**
|
|
140
|
+
- Avoid generic statements like "code cleanup", "minor fixes", or "various improvements".
|
|
141
|
+
- Do NOT describe implementation details line-by-line.
|
|
@@ -0,0 +1,354 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: qa-e2e-tests-reporting
|
|
3
|
+
description: Install and configure Testomat.io reporting in a test automation project when a user needs to integrate their tests with Testomat.io. Detect the testing framework (e.g., Playwright, CodeceptJS, Jest, Mocha, WebdriverIO, JUnit, Pytest, XML, etc) and automatically set up the appropriate reporter so test results are sent to the Testomat.io TMS.
|
|
4
|
+
license: MIT
|
|
5
|
+
metadata:
|
|
6
|
+
author: Testomat.io
|
|
7
|
+
version: 1.0.0
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Testomat.io Reporter Setup
|
|
11
|
+
|
|
12
|
+
Install and configure the Testomat.io reporter in an automation project, then push test results to the Testomat.io TMS.
|
|
13
|
+
|
|
14
|
+
## Step 1: Detect Language & Framework
|
|
15
|
+
|
|
16
|
+
- Detect the language from the project manifest (`package.json`, `pyproject.toml`/`requirements.txt`, `pom.xml`/`build.gradle`, `*.csproj`, `composer.json`, `Gemfile`).
|
|
17
|
+
- Detect the framework from its config file: `playwright.config.*`, `codecept.conf.js`, `wdio.conf.*`, `jest.config.*`, `.mocharc.*`, `pytest.ini`/`conftest.py`, `*.robot`/`robot.toml`, `testng.xml`/JUnit deps in `pom.xml`.
|
|
18
|
+
- No native reporter for the stack (C#, PHP, Ruby, Go, etc.): use JUnit XML import (Step 4).
|
|
19
|
+
|
|
20
|
+
## Step 2: Configure Credentials
|
|
21
|
+
|
|
22
|
+
- Check `.env` for a `TESTOMATIO` API key. If present, use it.
|
|
23
|
+
- If missing, add a placeholder line to `.env`:
|
|
24
|
+
|
|
25
|
+
```env
|
|
26
|
+
TESTOMATIO=tstmt_xxxxx
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
- **Ask the user to replace the placeholder with their "Project Reporting API key" themselves — never ask them to paste the key into chat.**
|
|
30
|
+
|
|
31
|
+
Message to the user:
|
|
32
|
+
|
|
33
|
+
```
|
|
34
|
+
✅ Added `TESTOMATIO=tstmt_xxxxx` placeholder to .env
|
|
35
|
+
|
|
36
|
+
To activate reporting:
|
|
37
|
+
1. Go to Testomat.io → your project → Settings → Project
|
|
38
|
+
(https://app.testomat.io/projects/<project-id>/settings/project)
|
|
39
|
+
2. Copy "Project Reporting API key"
|
|
40
|
+
3. Replace `tstmt_xxxxx` in .env with your actual key
|
|
41
|
+
4. Run tests: TESTOMATIO=tstmt_xxxxx npx <test-command>
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
## Step 3: Install & Configure Reporter
|
|
45
|
+
|
|
46
|
+
Pick the section for the detected language and framework.
|
|
47
|
+
|
|
48
|
+
### JavaScript / TypeScript
|
|
49
|
+
|
|
50
|
+
Use `@testomatio/reporter`:
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
npm install @testomatio/reporter --save-dev
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
Playwright — `playwright.config.ts` or `playwright.config.js`:
|
|
57
|
+
|
|
58
|
+
```js
|
|
59
|
+
reporter: [
|
|
60
|
+
['@testomatio/reporter/playwright'],
|
|
61
|
+
// other reporters...
|
|
62
|
+
],
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
CodeceptJS — `codecept.conf.js` or `codecept.config.js`:
|
|
66
|
+
|
|
67
|
+
```js
|
|
68
|
+
plugins: {
|
|
69
|
+
testomatio: {
|
|
70
|
+
enabled: true,
|
|
71
|
+
require: '@testomatio/reporter/codecept',
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
WebdriverIO — `wdio.conf.js`:
|
|
77
|
+
|
|
78
|
+
```js
|
|
79
|
+
import testomatio from '@testomatio/reporter/webdriver';
|
|
80
|
+
|
|
81
|
+
exports.config = {
|
|
82
|
+
// ...
|
|
83
|
+
reporters: [
|
|
84
|
+
[testomatio, { apiKey: process.env.TESTOMATIO }],
|
|
85
|
+
],
|
|
86
|
+
};
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
Jest — `jest.config.js` or `jest.config.ts`:
|
|
90
|
+
|
|
91
|
+
```js
|
|
92
|
+
module.exports = {
|
|
93
|
+
reporters: ['default', ['@testomatio/reporter/jest', { apiKey: process.env.TESTOMATIO }]],
|
|
94
|
+
};
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
Mocha — run with CLI flags:
|
|
98
|
+
|
|
99
|
+
```bash
|
|
100
|
+
mocha --reporter @testomatio/reporter/mocha --reporter-options apiKey=tstmt_xxx
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
- Run commands and more config options: [./references/TESTOMATIO_REPORTERS_CONFIG.md](./references/TESTOMATIO_REPORTERS_CONFIG.md)
|
|
104
|
+
- Docs: [Testomat.io NodeJS Frameworks](https://docs.testomat.io/test-reporting/frameworks/)
|
|
105
|
+
|
|
106
|
+
### Python
|
|
107
|
+
|
|
108
|
+
Use `pytestomatio` for pytest, `robot-framework-reporter` for Robot Framework.
|
|
109
|
+
|
|
110
|
+
- Use `pip3` if Python 2.x and 3.x coexist.
|
|
111
|
+
|
|
112
|
+
pytest:
|
|
113
|
+
|
|
114
|
+
```bash
|
|
115
|
+
pip install pytestomatio
|
|
116
|
+
|
|
117
|
+
# Run and report tests
|
|
118
|
+
pytest --testomatio report
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
Robot Framework:
|
|
122
|
+
|
|
123
|
+
```bash
|
|
124
|
+
pip install robot-framework-reporter
|
|
125
|
+
|
|
126
|
+
# Run and report tests
|
|
127
|
+
robot --listener Testomatio.Report path/to/tests
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
Docs: [Testomat.io Python Reporting](https://docs.testomat.io/test-reporting/python/)
|
|
131
|
+
|
|
132
|
+
### Java (JUnit, TestNG, Cucumber, Karate)
|
|
133
|
+
|
|
134
|
+
Use the `io.testomat` Java reporters.
|
|
135
|
+
|
|
136
|
+
- Ask the user to set the API key before running tests, then verify it is set and starts with `tstmt_`:
|
|
137
|
+
|
|
138
|
+
```bash
|
|
139
|
+
export TESTOMATIO=<tstmt_api_key>
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
- Add the dependency for the framework in use:
|
|
143
|
+
|
|
144
|
+
```xml
|
|
145
|
+
<dependency>
|
|
146
|
+
<groupId>io.testomat</groupId>
|
|
147
|
+
<artifactId>java-reporter-junit</artifactId>
|
|
148
|
+
<version>{LATEST_STABLE_VERSION}</version>
|
|
149
|
+
</dependency>
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
Artifact IDs: `java-reporter-junit`, `java-reporter-testng`, `java-reporter-cucumber`, `java-reporter-karate`.
|
|
153
|
+
|
|
154
|
+
- Run tests:
|
|
155
|
+
|
|
156
|
+
```bash
|
|
157
|
+
mvn clean test
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
- Scan the output for a run ID. If found, show the link:
|
|
161
|
+
|
|
162
|
+
```
|
|
163
|
+
View results: https://app.testomat.io/projects/{project-id}/runs/{run-id}
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
Docs: [Testomat.io Java/JUnit Reporting](https://docs.testomat.io/test-reporting/junit/)
|
|
167
|
+
|
|
168
|
+
## Step 4: Import Automated Tests to Testomat.io TMS
|
|
169
|
+
|
|
170
|
+
Import test source code into Testomat.io to see test structure and enable codebase-TMS synchronization.
|
|
171
|
+
|
|
172
|
+
Docs: [Testomat.io Import Overview](https://docs.testomat.io/project/import-export/)
|
|
173
|
+
|
|
174
|
+
### JavaScript / TypeScript
|
|
175
|
+
|
|
176
|
+
Use the `check-tests` CLI:
|
|
177
|
+
|
|
178
|
+
```bash
|
|
179
|
+
npx check-tests@latest <framework> "<glob-pattern>" [options]
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
| Framework | Example |
|
|
183
|
+
|-------------|---------|
|
|
184
|
+
| Playwright | `npx check-tests@latest Playwright "tests/**/*.spec.js"` |
|
|
185
|
+
| CodeceptJS | `npx check-tests@latest CodeceptJS "tests/**_test.js"` |
|
|
186
|
+
| Cypress | `npx check-tests@latest cypress "cypress/e2e/**/*.js"` |
|
|
187
|
+
| Jest | `npx check-tests@latest Jest "tests/**/*.test.js"` |
|
|
188
|
+
| Mocha | `npx check-tests@latest mocha "test/**/*_test.js"` |
|
|
189
|
+
| WebdriverIO | `npx check-tests@latest webdriverio "test/**/*.js"` |
|
|
190
|
+
|
|
191
|
+
Options:
|
|
192
|
+
|
|
193
|
+
- `--typescript` — for TypeScript projects: `npx check-tests@latest Playwright "tests/**/*.spec.ts" --typescript`
|
|
194
|
+
- `--update-ids` — sync and auto-assign test IDs in source code: `npx check-tests@latest CodeceptJS "tests/**_test.js" --update-ids`
|
|
195
|
+
|
|
196
|
+
### Python
|
|
197
|
+
|
|
198
|
+
pytest — sync tests with Testomat.io:
|
|
199
|
+
|
|
200
|
+
```bash
|
|
201
|
+
pytest --testomatio sync
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
Robot Framework — import tests:
|
|
205
|
+
|
|
206
|
+
```bash
|
|
207
|
+
robot --listener Testomatio.Import path/to/tests
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
### Java (JUnit, TestNG)
|
|
211
|
+
|
|
212
|
+
Use the `testomatio.jar` CLI. Re-run after every test execution.
|
|
213
|
+
|
|
214
|
+
- **Run only from the project root:**
|
|
215
|
+
|
|
216
|
+
```bash
|
|
217
|
+
cd <project-root>
|
|
218
|
+
|
|
219
|
+
export TESTOMATIO=tstmt_xxxxx && \
|
|
220
|
+
curl -L -O https://github.com/testomatio/java-check-tests/releases/latest/download/testomatio.jar && \
|
|
221
|
+
java -jar testomatio.jar sync
|
|
222
|
+
```
|
|
223
|
+
|
|
224
|
+
Commands:
|
|
225
|
+
|
|
226
|
+
- `import` — import test code to Testomat.io (dry-run without API key).
|
|
227
|
+
- `clean-ids` — import tests without system ids.
|
|
228
|
+
- `sync` — import tests and pull IDs into source code (alias: `update-ids`).
|
|
229
|
+
|
|
230
|
+
### JUnit XML (C#, PHP, Ruby, Go, etc.)
|
|
231
|
+
|
|
232
|
+
For stacks without a native reporter, generate a JUnit XML report, then import it.
|
|
233
|
+
|
|
234
|
+
- NUnit (C#): `dotnet test --logger:"trx;LogFileName=results.xml"` — convert to JUnit XML if needed.
|
|
235
|
+
- PHPUnit (PHP): `./vendor/bin/phpunit --log-junit=results.xml`
|
|
236
|
+
- RSpec (Ruby): `rspec --format json --out results.json` — then convert to JUnit XML.
|
|
237
|
+
|
|
238
|
+
Import to Testomat.io:
|
|
239
|
+
|
|
240
|
+
```bash
|
|
241
|
+
npx check-tests@latest junit "path/to/results.xml"
|
|
242
|
+
|
|
243
|
+
# Multiple XML files
|
|
244
|
+
npx check-tests@latest junit "results/*.xml"
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
## Step 5: Verify Setup
|
|
248
|
+
|
|
249
|
+
Run the tests with the reporter enabled:
|
|
250
|
+
|
|
251
|
+
```bash
|
|
252
|
+
TESTOMATIO=tstmt_xxxxx npx <your-test-command>
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
### Via Testomat.io MCP (preferred, if enabled)
|
|
256
|
+
|
|
257
|
+
- After the run, fetch the latest run via MCP to confirm data was received.
|
|
258
|
+
- Success indicators: a new run ID appears in the logs; run status shows passed/failed as expected; the run is retrievable by its ID.
|
|
259
|
+
- Setup is complete when the new run is fetchable via MCP.
|
|
260
|
+
- MCP tools: [Testomat.io MCP Run Management](https://github.com/testomatio/mcp/blob/main/docs/tools.md#run-management)
|
|
261
|
+
|
|
262
|
+
### Debug Mode (alternative)
|
|
263
|
+
|
|
264
|
+
- Capture reporter output locally **for only 1-2 tests** to verify data is generated correctly before sending:
|
|
265
|
+
|
|
266
|
+
```bash
|
|
267
|
+
DEBUG=@testomatio/reporter:pipe:testomatio npx <your-test-command>
|
|
268
|
+
```
|
|
269
|
+
|
|
270
|
+
- Read the execution logs to confirm the reporter is enabled and configured.
|
|
271
|
+
- Docs: [Testomat.io Debugging Logs](https://docs.testomat.io/not-in-use/debugging/)
|
|
272
|
+
|
|
273
|
+
## Step 6: Configure Artifacts (only on explicit request)
|
|
274
|
+
|
|
275
|
+
Store screenshots, videos, traces, and logs in S3-compatible storage alongside test results.
|
|
276
|
+
|
|
277
|
+
- **Only perform this step if the user explicitly asks for artifacts configuration** (or mentions saving screenshots, videos, traces, logs).
|
|
278
|
+
- Prerequisite: first test report executed successfully.
|
|
279
|
+
- Check `.env` for existing S3 credentials (`S3_ACCESS_KEY_ID`, `S3_BUCKET`, `S3_REGION`). If present, skip to verification.
|
|
280
|
+
|
|
281
|
+
### Create S3 Bucket (if needed)
|
|
282
|
+
|
|
283
|
+
- Recommended: one bucket per project.
|
|
284
|
+
- Guide the user through their provider, based on official documentation:
|
|
285
|
+
|
|
286
|
+
| Provider | Link |
|
|
287
|
+
|----------|------|
|
|
288
|
+
| AWS S3 | https://s3.console.aws.amazon.com/s3 |
|
|
289
|
+
| DigitalOcean | https://cloud.digitalocean.com/spaces |
|
|
290
|
+
| Google Cloud Storage | https://console.cloud.google.com/storage |
|
|
291
|
+
| Cloudflare R2 | https://dash.cloudflare.com/ |
|
|
292
|
+
| Minio | Self-hosted or cloud instance |
|
|
293
|
+
|
|
294
|
+
- The user obtains the Access Key ID and Secret Access Key from the provider.
|
|
295
|
+
|
|
296
|
+
### Option A: Testomat.io UI (recommended)
|
|
297
|
+
|
|
298
|
+
- **The agent cannot access Testomat.io project settings — the user configures this manually:**
|
|
299
|
+
1. Open `https://app.testomat.io/projects/<project-id>/settings/artifacts`
|
|
300
|
+
2. Enable the "Share credentials" toggle.
|
|
301
|
+
3. Enter Access Key ID, Secret Access Key, bucket name, region, and endpoint (endpoint only for non-AWS providers).
|
|
302
|
+
|
|
303
|
+
### Option B: Environment Variables
|
|
304
|
+
|
|
305
|
+
Add S3 credentials to `.env` or the CI pipeline:
|
|
306
|
+
|
|
307
|
+
```env
|
|
308
|
+
# Required for all providers
|
|
309
|
+
S3_ACCESS_KEY_ID=your_access_key
|
|
310
|
+
S3_SECRET_ACCESS_KEY=your_secret_key
|
|
311
|
+
S3_BUCKET=your_bucket_name
|
|
312
|
+
S3_REGION=us-west-1
|
|
313
|
+
|
|
314
|
+
# Optional: for non-AWS providers (DigitalOcean, Minio, Cloudflare R2, GCS)
|
|
315
|
+
S3_ENDPOINT=https://your-endpoint-url
|
|
316
|
+
|
|
317
|
+
# Optional: private access mode (recommended)
|
|
318
|
+
TESTOMATIO_PRIVATE_ARTIFACTS=1
|
|
319
|
+
```
|
|
320
|
+
|
|
321
|
+
Cloudflare R2 example:
|
|
322
|
+
|
|
323
|
+
```env
|
|
324
|
+
S3_ACCESS_KEY_ID=xxx
|
|
325
|
+
S3_SECRET_ACCESS_KEY=xxx
|
|
326
|
+
S3_BUCKET=testomatio-artifacts
|
|
327
|
+
S3_REGION=auto
|
|
328
|
+
S3_ENDPOINT=https://<account-id>.r2.cloudflarestorage.com
|
|
329
|
+
S3_FORCE_PATH_STYLE=true
|
|
330
|
+
```
|
|
331
|
+
|
|
332
|
+
- Disable uploads: `TESTOMATIO_DISABLE_ARTIFACTS=1`
|
|
333
|
+
- Provider examples (AWS, DigitalOcean, Minio, GCS): [./references/TESTOMATIO_ARTIFACTS.md](./references/TESTOMATIO_ARTIFACTS.md)
|
|
334
|
+
- More options: [Testomat.io Artifacts](https://docs.testomat.io/test-reporting/artifacts/)
|
|
335
|
+
|
|
336
|
+
### Verify Artifacts
|
|
337
|
+
|
|
338
|
+
- Run tests that produce screenshots, videos, or traces: `TESTOMATIO=tstmt_xxxxx npx <your-test-command>`
|
|
339
|
+
- Ask the user to open `https://app.testomat.io/projects/<project-id>/runs` and click a test with artifacts (failed tests typically have screenshots).
|
|
340
|
+
- Success: artifacts appear in the test results ("Artifacts" section or attachment icon) and are clickable; Playwright traces open in the trace viewer.
|
|
341
|
+
|
|
342
|
+
## References
|
|
343
|
+
|
|
344
|
+
| Description | Link |
|
|
345
|
+
|-------------|------|
|
|
346
|
+
| Getting started | https://docs.testomat.io/getting-started/ |
|
|
347
|
+
| Reporter configuration | https://docs.testomat.io/test-reporting/frameworks/ |
|
|
348
|
+
| Framework config snippets | [./references/TESTOMATIO_REPORTERS_CONFIG.md](./references/TESTOMATIO_REPORTERS_CONFIG.md) |
|
|
349
|
+
| Python test reporting | https://docs.testomat.io/test-reporting/python/ |
|
|
350
|
+
| Python Robot Framework | https://github.com/testomatio/robot-framework-reporter/blob/master/README.md |
|
|
351
|
+
| Java/JUnit reporting | https://docs.testomat.io/test-reporting/junit/ |
|
|
352
|
+
| HTML pipe | [./references/TESTOMATIO_HTML_REPORT.md](./references/TESTOMATIO_HTML_REPORT.md) |
|
|
353
|
+
| Debug pipe | `TESTOMATIO_DEBUG=1 <test-command>` |
|
|
354
|
+
| Artifacts (S3) | [./references/TESTOMATIO_ARTIFACTS.md](./references/TESTOMATIO_ARTIFACTS.md) |
|
package/skills/testomatio/test-management/qa-e2e-tests-reporting/references/TESTOMATIO_ARTIFACTS.md
ADDED
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
# Testomat.io Artifacts
|
|
2
|
+
|
|
3
|
+
Upload screenshots, videos, and traces for failed tests to S3-compatible storage.
|
|
4
|
+
|
|
5
|
+
## Configuration
|
|
6
|
+
|
|
7
|
+
Set S3 credentials via environment variables:
|
|
8
|
+
|
|
9
|
+
| Variable | Description | Required |
|
|
10
|
+
|----------|-------------|----------|
|
|
11
|
+
| `S3_ACCESS_KEY_ID` | Access key | Yes |
|
|
12
|
+
| `S3_SECRET_ACCESS_KEY` | Secret key | Yes |
|
|
13
|
+
| `S3_BUCKET` | Bucket name | Yes |
|
|
14
|
+
| `S3_REGION` | Bucket region | Yes |
|
|
15
|
+
| `S3_ENDPOINT` | Custom S3 provider endpoint | For non-AWS |
|
|
16
|
+
| `S3_FORCE_PATH_STYLE` | Enable force path style | For Minio |
|
|
17
|
+
| `TESTOMATIO_PRIVATE_ARTIFACTS=1` | Private access mode | No (default: public) |
|
|
18
|
+
|
|
19
|
+
## Providers
|
|
20
|
+
|
|
21
|
+
### AWS
|
|
22
|
+
|
|
23
|
+
```env
|
|
24
|
+
S3_ACCESS_KEY_ID=xxx
|
|
25
|
+
S3_SECRET_ACCESS_KEY=xxx
|
|
26
|
+
S3_BUCKET=xxx
|
|
27
|
+
S3_REGION=us-west-1
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
### DigitalOcean / Custom S3
|
|
31
|
+
|
|
32
|
+
```env
|
|
33
|
+
S3_ENDPOINT=https://nyc3.digitaloceanspaces.com
|
|
34
|
+
S3_ACCESS_KEY_ID=xxx
|
|
35
|
+
S3_SECRET_ACCESS_KEY=xxx
|
|
36
|
+
S3_BUCKET=xxx
|
|
37
|
+
S3_REGION=xxx
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
### Minio
|
|
41
|
+
|
|
42
|
+
```env
|
|
43
|
+
S3_ENDPOINT=http://localhost:9000
|
|
44
|
+
S3_ACCESS_KEY_ID=xxx
|
|
45
|
+
S3_SECRET_ACCESS_KEY=xxx
|
|
46
|
+
S3_BUCKET=xxx
|
|
47
|
+
S3_FORCE_PATH_STYLE=true
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
### Google Cloud Storage
|
|
51
|
+
|
|
52
|
+
Enable Interoperability mode in bucket settings, then use:
|
|
53
|
+
|
|
54
|
+
```env
|
|
55
|
+
S3_ENDPOINT=xxx
|
|
56
|
+
S3_ACCESS_KEY_ID=xxx
|
|
57
|
+
S3_SECRET_ACCESS_KEY=xxx
|
|
58
|
+
S3_BUCKET=xxx
|
|
59
|
+
S3_REGION=xxx
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
## Supported Frameworks
|
|
63
|
+
|
|
64
|
+
Artifacts are automatically uploaded for:
|
|
65
|
+
- Playwright
|
|
66
|
+
- CodeceptJS
|
|
67
|
+
- Cypress
|
|
68
|
+
- WebdriverIO
|
|
69
|
+
|
|
70
|
+
## Custom Artifacts
|
|
71
|
+
|
|
72
|
+
Add custom files to any test:
|
|
73
|
+
|
|
74
|
+
```js
|
|
75
|
+
// Attach a local file
|
|
76
|
+
global.testomatioArtifacts.push('img/file.png');
|
|
77
|
+
|
|
78
|
+
// Attach with custom name
|
|
79
|
+
global.testomatioArtifacts.push({ name: 'Screenshot', path: 'img/file.png' });
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
Artifacts are uploaded when the test finishes. If S3 is not configured, files are ignored.
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# TESTOMATIO HTML Report
|
|
2
|
+
|
|
3
|
+
Generate standalone HTML/CSS reports for test results visualization.
|
|
4
|
+
|
|
5
|
+
## Configuration
|
|
6
|
+
|
|
7
|
+
Set environment variables to enable and customize HTML reports:
|
|
8
|
+
|
|
9
|
+
| Variable | Description | Default |
|
|
10
|
+
|----------|-------------|---------|
|
|
11
|
+
| `TESTOMATIO_HTML_REPORT_SAVE=1` | Enable HTML report generation | - |
|
|
12
|
+
| `TESTOMATIO_HTML_REPORT_FOLDER` | Output folder for reports | `testomatio-reports/` |
|
|
13
|
+
| `TESTOMATIO_HTML_FILENAME` | Output filename (must include `.html`) | - |
|
|
14
|
+
|
|
15
|
+
## Usage
|
|
16
|
+
|
|
17
|
+
**Generate report without sending data to Testomatio:**
|
|
18
|
+
```bash
|
|
19
|
+
TESTOMATIO_HTML_REPORT_SAVE=1 npx codeceptjs run
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
**Custom output location:**
|
|
23
|
+
```bash
|
|
24
|
+
TESTOMATIO_HTML_REPORT_SAVE=1 TESTOMATIO_HTML_REPORT_FOLDER=user-html-reporter TESTOMATIO_HTML_FILENAME=custom.html npx codeceptjs run
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
**Generate report and push results to TMS:**
|
|
28
|
+
```bash
|
|
29
|
+
TESTOMATIO_HTML_REPORT_SAVE=1 TESTOMATIO=tstmt_xxx npx codeceptjs run
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## Report Contents
|
|
33
|
+
|
|
34
|
+
- Run ID, status, and URL
|
|
35
|
+
- Parallel execution indication
|
|
36
|
+
- Execution time and date
|
|
37
|
+
- Test details with statistics and error info
|