testeiya 0.5.0 → 0.5.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/prompt/report.js +13 -6
- package/dist/prompt/report.js.map +1 -1
- package/dist/src/output.js +4 -3
- package/dist/src/output.js.map +1 -1
- package/package.json +1 -1
- package/prompt/report.ts +13 -6
- package/skills/playwright/playwright-cli/SKILL.md +8 -3
- package/skills/playwright/playwright-cli/references/running-code.md +4 -0
- package/skills/playwright/playwright-cli/references/test-generation.md +1 -1
- package/skills/skills.lock.json +2 -2
- package/skills/testomatio/qa-process/qa-review-pr/SKILL.md +46 -23
- package/skills/testomatio/test-automation/run-tests-with-testomatio-reporter/SKILL.md +26 -1
package/dist/prompt/report.js
CHANGED
|
@@ -17,13 +17,20 @@ export function finalReport(path) {
|
|
|
17
17
|
<final-report>
|
|
18
18
|
* Write your complete final report to \`${path}\` with the \`write\` tool. Writing it is required before you finish.
|
|
19
19
|
* That file is your answer. It is the run's deliverable; nothing else you say is kept.
|
|
20
|
-
*
|
|
20
|
+
* A skill's output format overrides every rule in this block, including the title. Follow it strictly.
|
|
21
|
+
* Decide the **severity of your report**. Low severity: a few short bullets, nothing more.
|
|
22
|
+
* Do not make the reader go through a long report for a minor issue with no effect.
|
|
23
|
+
* Severity decides how many items you report, not how long each one is. Even a critical finding is: what breaks, for whom, when.
|
|
24
|
+
* Before writing, delete from every item:
|
|
25
|
+
* How the code works: "because…", "unlike…", "only checks…".
|
|
26
|
+
* Examples in parentheses and "e.g.".
|
|
27
|
+
* "Either… or…" alternatives. Pick the expected result.
|
|
28
|
+
* Anything already said in another section.
|
|
29
|
+
* If the report is still long, drop the lowest-severity items.
|
|
30
|
+
* Format as markdown. Open with an \`##\` title, then the findings. Overwrite the file; never append.
|
|
21
31
|
* In a thread round (see <comment-thread>) the file is the whole current answer, never a delta.
|
|
22
|
-
* Prefer short sentences and bullet points
|
|
23
|
-
*
|
|
24
|
-
* If report has preferred format follow it strictly
|
|
25
|
-
* Prefer readability over detalization - report must be readable to user
|
|
26
|
-
* You are QA agent so your report must be clear to QA and Managers
|
|
32
|
+
* Prefer short sentences and bullet points. Avoid long paragraphs.
|
|
33
|
+
* Prefer readability over detail: the report is for QA engineers and managers, not developers.
|
|
27
34
|
</final-report>
|
|
28
35
|
`;
|
|
29
36
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"report.js","sourceRoot":"","sources":["../../prompt/report.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,MAAM,CAAC,MAAM,OAAO,GAAG,MAAM,CAAA;;;;CAI5B,CAAC;AAEF,MAAM,UAAU,MAAM,CAAC,OAAsB;IAC3C,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,OAAO,CAAC,KAAK;QAAE,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC3C,IAAI,OAAO,CAAC,UAAU;QAAE,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;IACpE,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,OAAO,MAAM,CAAA;;8CAE+B,IAAI
|
|
1
|
+
{"version":3,"file":"report.js","sourceRoot":"","sources":["../../prompt/report.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,MAAM,CAAC,MAAM,OAAO,GAAG,MAAM,CAAA;;;;CAI5B,CAAC;AAEF,MAAM,UAAU,MAAM,CAAC,OAAsB;IAC3C,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,OAAO,CAAC,KAAK;QAAE,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC3C,IAAI,OAAO,CAAC,UAAU;QAAE,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;IACpE,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,OAAO,MAAM,CAAA;;8CAE+B,IAAI;;;;;;;;;;;;;;;;;GAiB/C,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAA;;;;;;;CAOhC,CAAC"}
|
package/dist/src/output.js
CHANGED
|
@@ -93,9 +93,8 @@ export async function threadComments(pr, thread) {
|
|
|
93
93
|
return ids;
|
|
94
94
|
}
|
|
95
95
|
/**
|
|
96
|
-
* The report as delivered,
|
|
97
|
-
*
|
|
98
|
-
* answer a posted comment.
|
|
96
|
+
* The report as delivered, header above it and footer under it. The marker goes
|
|
97
|
+
* on top only in a thread: it is how a later round finds the comments we posted.
|
|
99
98
|
*/
|
|
100
99
|
export function decorate(report, decoration) {
|
|
101
100
|
const header = decoration?.header?.trim();
|
|
@@ -105,6 +104,8 @@ export function decorate(report, decoration) {
|
|
|
105
104
|
body = `${header}\n\n${body}`;
|
|
106
105
|
if (footer)
|
|
107
106
|
body = `${body}\n\n${footer}`;
|
|
107
|
+
if (!decoration?.thread)
|
|
108
|
+
return `${body}\n`;
|
|
108
109
|
return `${marker(decoration)}\n${body}\n`;
|
|
109
110
|
}
|
|
110
111
|
/**
|
package/dist/src/output.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"output.js","sourceRoot":"","sources":["../../src/output.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,MAAM,SAAS,GAAG,KAAK,CAAC;AACxB,MAAM,QAAQ,GACZ,8GAA8G,CAAC;AACjH,MAAM,MAAM,GAAG,eAAe,CAAC;AAE/B;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAgB,EAAE,IAAc;IAChE,MAAM,YAAY,GAAkB,EAAE,CAAC;IACvC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QAC3C,IAAI,OAAO,WAAW,KAAK,QAAQ;YAAE,OAAO,WAAW,CAAC;QACxD,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACjC,CAAC;IACD,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjE,OAAO,gEAAgE,CAAC;IAC1E,CAAC;IACD,IAAI,IAAI;QAAE,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IAC9C,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC;QAAE,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;IACrE,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,mDAAmD;AACnD,MAAM,UAAU,YAAY,CAAC,YAA2B;IACtD,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;QACvC,IAAI,WAAW,CAAC,IAAI,KAAK,UAAU;YAAE,OAAO,WAAW,CAAC,IAAI,CAAC;IAC/D,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,YAA2B;IACzD,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;QACvC,MAAM,IAAI,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;QACnC,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;YACnC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACpE,IAAI,CAAC,QAAQ;gBAAE,OAAO,mBAAmB,GAAG,EAAE,CAAC;QACjD,CAAC;QACD,IAAI,WAAW,CAAC,IAAI,KAAK,IAAI;YAAE,SAAS;QACxC,MAAM,EAAE,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;QAC1C,IAAI,EAAE,CAAC,IAAI,KAAK,CAAC;YAAE,OAAO,kDAAkD,CAAC;QAC7E,MAAM,EAAE,GAAG,MAAM,kBAAkB,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QACpD,IAAI,CAAC,EAAE;YAAE,OAAO,uDAAuD,CAAC;QACxE,WAAW,CAAC,EAAE,GAAG,EAAE,CAAC;IACtB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,8EAA8E;AAC9E,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,YAA2B,EAC3B,QAAqB,EACrB,MAAoB;IAEpB,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;QACvC,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,WAAW,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QAChE,IAAI,OAAO;YAAE,OAAO,OAAO,CAAC;IAC9B,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,EAAsB,EAAE,MAAe;IAC1E,IAAI,CAAC,EAAE,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IAC9B,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC;IAC/E,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAC/B,0EAA0E;IAC1E,MAAM,MAAM,GAAG,GAAG,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC;IAC1C,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,MAAM,OAAO,IAAI,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACjD,IAAI,OAAO,CAAC,WAAW;YAAE,SAAS;QAClC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC;YAAE,SAAS;QAChD,IAAI,OAAO,CAAC,EAAE;YAAE,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACvC,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"output.js","sourceRoot":"","sources":["../../src/output.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/prompt/report.ts
CHANGED
|
@@ -18,13 +18,20 @@ export function finalReport(path: string): string {
|
|
|
18
18
|
<final-report>
|
|
19
19
|
* Write your complete final report to \`${path}\` with the \`write\` tool. Writing it is required before you finish.
|
|
20
20
|
* That file is your answer. It is the run's deliverable; nothing else you say is kept.
|
|
21
|
-
*
|
|
21
|
+
* A skill's output format overrides every rule in this block, including the title. Follow it strictly.
|
|
22
|
+
* Decide the **severity of your report**. Low severity: a few short bullets, nothing more.
|
|
23
|
+
* Do not make the reader go through a long report for a minor issue with no effect.
|
|
24
|
+
* Severity decides how many items you report, not how long each one is. Even a critical finding is: what breaks, for whom, when.
|
|
25
|
+
* Before writing, delete from every item:
|
|
26
|
+
* How the code works: "because…", "unlike…", "only checks…".
|
|
27
|
+
* Examples in parentheses and "e.g.".
|
|
28
|
+
* "Either… or…" alternatives. Pick the expected result.
|
|
29
|
+
* Anything already said in another section.
|
|
30
|
+
* If the report is still long, drop the lowest-severity items.
|
|
31
|
+
* Format as markdown. Open with an \`##\` title, then the findings. Overwrite the file; never append.
|
|
22
32
|
* In a thread round (see <comment-thread>) the file is the whole current answer, never a delta.
|
|
23
|
-
* Prefer short sentences and bullet points
|
|
24
|
-
*
|
|
25
|
-
* If report has preferred format follow it strictly
|
|
26
|
-
* Prefer readability over detalization - report must be readable to user
|
|
27
|
-
* You are QA agent so your report must be clear to QA and Managers
|
|
33
|
+
* Prefer short sentences and bullet points. Avoid long paragraphs.
|
|
34
|
+
* Prefer readability over detail: the report is for QA engineers and managers, not developers.
|
|
28
35
|
</final-report>
|
|
29
36
|
`;
|
|
30
37
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: playwright-cli
|
|
3
3
|
description: Automate browser interactions, test web pages and work with Playwright tests.
|
|
4
|
-
allowed-tools: Bash(playwright-cli:*) Bash(npx:*) Bash(
|
|
4
|
+
allowed-tools: Bash(playwright-cli:*) Bash(npx playwright:*) Bash(npx --no-install playwright:*)
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# Browser Automation with playwright-cli
|
|
@@ -52,6 +52,8 @@ playwright-cli find "Sign in"
|
|
|
52
52
|
playwright-cli find --regex "Sign (in|up)"
|
|
53
53
|
# wrap the regexp in slashes to add flags, e.g. /i for case-insensitive
|
|
54
54
|
playwright-cli find --regex "/sign (in|up)/i"
|
|
55
|
+
# save results to a file when a query produces too many matches
|
|
56
|
+
playwright-cli find "Add" --filename=results.md
|
|
55
57
|
playwright-cli eval "document.title"
|
|
56
58
|
playwright-cli eval "el => el.textContent" e5
|
|
57
59
|
# get element id, class, or any attribute not visible in the snapshot
|
|
@@ -210,7 +212,8 @@ playwright-cli highlight --hide
|
|
|
210
212
|
### WebMCP
|
|
211
213
|
|
|
212
214
|
Some pages register their own tools for agents through the experimental WebMCP API. When a page
|
|
213
|
-
has them, the page status says so, and the snapshot lists them at the top
|
|
215
|
+
has them, the page status says so, and the snapshot lists them at the top. Run `webmcp-list` to
|
|
216
|
+
get the same list and schemas without taking a snapshot:
|
|
214
217
|
|
|
215
218
|
```
|
|
216
219
|
- Page URL: https://example.com/
|
|
@@ -227,7 +230,7 @@ has them, the page status says so, and the snapshot lists them at the top:
|
|
|
227
230
|
Prefer these tools over driving the UI when one matches the task: the page implements them, so a
|
|
228
231
|
single call replaces a sequence of clicks and fills — and it cannot be blocked by a cookie banner or
|
|
229
232
|
a newsletter modal.
|
|
230
|
-
Run `webmcp-call <name> --params '{...}'` to call the tool.
|
|
233
|
+
Run `webmcp-call <name> --params '{...}'` to call the tool.
|
|
231
234
|
|
|
232
235
|
```bash
|
|
233
236
|
playwright-cli webmcp-call search --params '{"query":"cats"}'
|
|
@@ -394,6 +397,8 @@ playwright-cli kill-all
|
|
|
394
397
|
|
|
395
398
|
## Installation
|
|
396
399
|
|
|
400
|
+
Package installation and custom `npm` scripts may require separate approval.
|
|
401
|
+
|
|
397
402
|
If global `playwright-cli` command is not available, try a local version via `npx playwright cli`:
|
|
398
403
|
|
|
399
404
|
```bash
|
|
@@ -21,6 +21,10 @@ playwright-cli run-code --filename=./my-script.js
|
|
|
21
21
|
The code must be a single function expression, it is wrapped in `(...)` and evaluated.
|
|
22
22
|
import/export/require syntax is not supported.
|
|
23
23
|
|
|
24
|
+
The code runs in an isolated context, not in a full Node.js environment. `require`, `process` and Node modules are not
|
|
25
|
+
available. Timers (`setTimeout`, `setInterval`), `fetch`, `URL`, `Buffer`, `crypto`, `AbortController`, `TextEncoder`
|
|
26
|
+
and `TextDecoder` are available.
|
|
27
|
+
|
|
24
28
|
## Geolocation
|
|
25
29
|
|
|
26
30
|
```bash
|
|
@@ -349,7 +349,7 @@ Rules:
|
|
|
349
349
|
|
|
350
350
|
### 2.3 Generate multiple scenarios
|
|
351
351
|
|
|
352
|
-
Loop 2.2 over the targeted scenarios one at a time, restarting the seed between each so every test starts from a clean page.
|
|
352
|
+
Loop 2.2 over the targeted scenarios one at a time, restarting the seed between each so every test starts from a clean page. Make sure each test run is stopped before starting the next one.
|
|
353
353
|
|
|
354
354
|
### 2.4 Run generated tests
|
|
355
355
|
|
package/skills/skills.lock.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
{
|
|
4
4
|
"source": "testomatio/skills",
|
|
5
5
|
"ref": null,
|
|
6
|
-
"sha": "
|
|
6
|
+
"sha": "a9dd6642e489e1bb4412177f70f157241156f980",
|
|
7
7
|
"folder": "testomatio",
|
|
8
8
|
"skills": [
|
|
9
9
|
"automate-manual-test-cases",
|
|
@@ -75,7 +75,7 @@
|
|
|
75
75
|
{
|
|
76
76
|
"source": "microsoft/playwright-cli/tree/main/skills/playwright-cli",
|
|
77
77
|
"ref": null,
|
|
78
|
-
"sha": "
|
|
78
|
+
"sha": "b85c7a736bb473bf55b584e54a09ffa698d6d871",
|
|
79
79
|
"folder": "playwright",
|
|
80
80
|
"skills": [
|
|
81
81
|
"playwright-cli"
|
|
@@ -10,54 +10,77 @@ Gather intent with the `qa-pr-requirements-analyzer` skill first.
|
|
|
10
10
|
|
|
11
11
|
## Think
|
|
12
12
|
|
|
13
|
-
- Does the provided implementation represent original task or requirement.
|
|
14
|
-
- Possible ambiguities in implementation
|
|
15
|
-
- Possible contradictions with existing practices, features
|
|
16
|
-
- Possible duplication of existing features or patterns
|
|
13
|
+
- Does the provided implementation represent the original task or requirement.
|
|
14
|
+
- Possible ambiguities in implementation.
|
|
15
|
+
- Possible contradictions with existing practices, features.
|
|
16
|
+
- Possible duplication of existing features or patterns.
|
|
17
17
|
- Unobvious usage: edge cases, repeated actions, boundary values, cancellations.
|
|
18
18
|
- Combinations: how this feature interacts with other features.
|
|
19
19
|
- Security vulnerabilities.
|
|
20
20
|
|
|
21
|
+
## Prioritize facts
|
|
22
|
+
|
|
23
|
+
- Every finding appears in exactly one section. Never restate a finding in another section.
|
|
24
|
+
- A defect proven by the code goes to `Is it done` or `Merge Risks`, not both.
|
|
25
|
+
- Anything not proven by the code goes to `What must be verified` as a scenario, or is dropped.
|
|
26
|
+
- Order every list by impact on end-users, most severe first.
|
|
27
|
+
- Limits are maximums, not targets. Fewer points are better than padded ones.
|
|
28
|
+
- Whole review: at most 180 words. If over, drop the lowest-severity item.
|
|
29
|
+
|
|
21
30
|
## Output
|
|
22
31
|
|
|
23
|
-
- Your output should be readable by person who doesn't understand or doesn't look into code.
|
|
24
|
-
- Use QA language, avoid coding jargon
|
|
32
|
+
- Your output should be readable by a person who doesn't understand or doesn't look into code.
|
|
33
|
+
- Use QA language, avoid coding jargon.
|
|
25
34
|
- Avoid mentioning internal variable names, syntax, queries, not relevant for QAs.
|
|
26
|
-
-
|
|
27
|
-
-
|
|
28
|
-
-
|
|
29
|
-
-
|
|
30
|
-
-
|
|
31
|
-
-
|
|
35
|
+
- Never mention HTTP status codes, test coverage, or unit tests.
|
|
36
|
+
- Use high-level business domain specific terms and not low level coding details.
|
|
37
|
+
- If needed mention class names, file names, but never get into deeper internal details.
|
|
38
|
+
- Explain risks and ambiguities in terms of the persona using the software.
|
|
39
|
+
- Try to resolve ambiguities based on your code and requirements understanding.
|
|
40
|
+
- State facts directly. No hedging words: "may", "might", "possibly", "should be sanity-checked", "unverified".
|
|
41
|
+
- Use bold only for the key point of each item.
|
|
42
|
+
- Reply with **only the requested sections, named exactly as provided**. No preface, no conclusions.
|
|
32
43
|
- Prefer simple wording and short sentences.
|
|
33
44
|
|
|
34
45
|
## Requested sections
|
|
35
46
|
|
|
36
|
-
- Section `Is it done`: does the code meet the original request (
|
|
37
|
-
-
|
|
38
|
-
-
|
|
39
|
-
-
|
|
47
|
+
- Section `Is it done`: does the code meet the original request (PR title, issue description, etc).
|
|
48
|
+
- Verdict is `Yes`, `No`, or `Partially`.
|
|
49
|
+
- If the reported problem still reproduces on any path, verdict is `Partially` — never "Yes, with a caveat".
|
|
50
|
+
- If any `Merge Risks` point says the original problem still happens somewhere, verdict is `Partially`.
|
|
51
|
+
- Issue summary: at most 15 words. Reasoning: at most 30 words.
|
|
52
|
+
- Section `Backwards Compatibility`: does the change alter behavior of existing features for existing users.
|
|
53
|
+
- If not, write one sentence and stop.
|
|
54
|
+
- New optional inputs and their new errors are not compatibility issues.
|
|
55
|
+
- Section `Merge Risks`: problems merging this PR introduces, proven by the code.
|
|
56
|
+
- At most 3 points. Empty section is allowed: write `No risks found`.
|
|
57
|
+
- Each point: **impact on user, at most 8 words** — who hits it and when, at most 15 words.
|
|
58
|
+
- Section `What must be verified`: at most 4 riskiest usage scenarios for end-users.
|
|
59
|
+
- Each scenario: **What if {persona} {action}** — expected result, at most 10 words.
|
|
60
|
+
- Avoid scenarios that are technical and can be unit tested.
|
|
40
61
|
|
|
41
62
|
## Output Format
|
|
42
63
|
|
|
43
64
|
```
|
|
44
65
|
### 👷♀️ Is it done
|
|
45
66
|
|
|
46
|
-
|
|
67
|
+
**<Yes | No | Partially>.** <original issue summary, ≤ 15 words>
|
|
47
68
|
|
|
48
|
-
<
|
|
69
|
+
<reasoning, ≤ 30 words>
|
|
49
70
|
|
|
50
71
|
### 🦕 Backwards Compatibility
|
|
51
72
|
|
|
52
|
-
<
|
|
53
|
-
<if no breaking changes -> 'No breaking changes'>
|
|
54
|
-
<if no change behavior -> 'No behavior changes'>
|
|
73
|
+
<'No breaking changes.' + why, ≤ 15 words — OR one line per changed existing behavior>
|
|
55
74
|
|
|
56
75
|
### 🌋 Merge Risks
|
|
57
76
|
|
|
58
|
-
<
|
|
77
|
+
1. **<impact on user, ≤ 8 words>** — <who hits it and when, ≤ 15 words>
|
|
78
|
+
|
|
79
|
+
<0 to 3 points, most severe first>
|
|
59
80
|
|
|
60
81
|
### 🔬 What must be verified
|
|
61
82
|
|
|
62
|
-
<
|
|
83
|
+
- **What if <persona> <action>** — <expected result, ≤ 10 words>
|
|
84
|
+
|
|
85
|
+
<up to 4 scenarios, most risky first>
|
|
63
86
|
```
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: run-tests-with-testomatio-reporter
|
|
3
|
-
description: Create and launch Testomat.io test runs with the `@testomatio/reporter` CLI. Covers manual runs for testers, mixed manual+automated runs, local test execution with reported results, and remote launches through a Testomat.io CI profile (`--remote`). Runs can include the whole suite or be filtered by tag, plan, label, Jira ticket, or changed source files. Use when the user asks to start or create a test run from the command line, run a filtered group of tests, launch tests remotely,
|
|
3
|
+
description: Create and launch Testomat.io test runs with the `@testomatio/reporter` CLI. Covers manual runs for testers, mixed manual+automated runs, local test execution with reported results, and remote launches through a Testomat.io CI profile (`--remote`), and looking up existing runs (`fetch`). Runs can include the whole suite or be filtered by tag, plan, label, Jira ticket, or changed source files. Use when the user asks to start or create a test run from the command line, run a filtered group of tests, launch tests remotely, report results into an existing run, or find/list existing runs.
|
|
4
4
|
license: MIT
|
|
5
5
|
metadata:
|
|
6
6
|
author: Testomat.io
|
|
@@ -20,6 +20,7 @@ metadata:
|
|
|
20
20
|
| Launch tests remotely via a Testomat.io CI profile | `run --remote <profile-name>` |
|
|
21
21
|
| List which tests a filter matches, run nothing | `run --filter-list "<filter>" --format ids` |
|
|
22
22
|
| Close a run created earlier | `finish` (run id via `TESTOMATIO_RUN`) |
|
|
23
|
+
| Look up existing runs, create or change nothing | `fetch --project <project-slug>` |
|
|
23
24
|
|
|
24
25
|
## Run kinds
|
|
25
26
|
|
|
@@ -97,6 +98,30 @@ Cannot be combined with `--remote`.
|
|
|
97
98
|
- `TESTOMATIO_DESCRIPTION` — free-form run description, shown on the run and in PR/MR comments; put the link to the change here (a generated coverage scope is appended after it).
|
|
98
99
|
- `TESTOMATIO_ENV` — optional environment labels.
|
|
99
100
|
|
|
101
|
+
## Find existing runs (`fetch`)
|
|
102
|
+
|
|
103
|
+
`fetch` returns the project's existing runs, newest first. It is read-only.
|
|
104
|
+
|
|
105
|
+
The project slug is required: pass `--project <project-slug>` or set `TESTOMATIO_PROJECT`. Without either it exits 1. Neither given → ask the user for the project slug; never guess it. `TESTOMATIO_URL` overrides the server (default `https://app.testomat.io`).
|
|
106
|
+
|
|
107
|
+
| Option | Effect |
|
|
108
|
+
| ------------------- | ------------------------------------------------------------------ |
|
|
109
|
+
| `--title <text>` | partial match on the run title |
|
|
110
|
+
| `--tql <query>` | Testomat Query Language filter (e.g. `"status = failed"`) |
|
|
111
|
+
| `--rungroup <uid>` | runs in that rungroup, nested rungroups included |
|
|
112
|
+
| `--limit <number>` | max runs returned, newest first; default `30`, capped at `100` |
|
|
113
|
+
| `--latest` | only the most recent run (same as `--limit 1`); combines with filters |
|
|
114
|
+
|
|
115
|
+
Output:
|
|
116
|
+
|
|
117
|
+
- No `--format`: a readable list with id, title, start/finish time, passed/failed/skipped counts, env, and CI build URL for each run.
|
|
118
|
+
- `--format id`: only run ids, one per line.
|
|
119
|
+
- `--format json`: a JSON array with every field of each run.
|
|
120
|
+
|
|
121
|
+
```bash
|
|
122
|
+
RUN_ID=$(npx @testomatio/reporter fetch --project <project-slug> --title "<title>" --latest --format id)
|
|
123
|
+
```
|
|
124
|
+
|
|
100
125
|
## Report into an existing run
|
|
101
126
|
|
|
102
127
|
- `TESTOMATIO_RUN=<run-id>` — the command reports or launches into that run instead of creating a new one. Works across pipelines and even across repos — pass it (with `TESTOMATIO` and the title env) into whatever process executes the tests.
|