155 lines
16 KiB
JSON
155 lines
16 KiB
JSON
{
|
||
"config": {
|
||
"configFile": "D:\\Coding\\gymflow\\playwright.config.ts",
|
||
"rootDir": "D:/Coding/gymflow/tests",
|
||
"forbidOnly": false,
|
||
"fullyParallel": false,
|
||
"globalSetup": null,
|
||
"globalTeardown": null,
|
||
"globalTimeout": 0,
|
||
"grep": {},
|
||
"grepInvert": null,
|
||
"maxFailures": 0,
|
||
"metadata": {
|
||
"actualWorkers": 1
|
||
},
|
||
"preserveOutput": "always",
|
||
"reporter": [
|
||
[
|
||
"json"
|
||
]
|
||
],
|
||
"reportSlowTests": {
|
||
"max": 5,
|
||
"threshold": 300000
|
||
},
|
||
"quiet": false,
|
||
"projects": [
|
||
{
|
||
"outputDir": "D:/Coding/gymflow/test-results",
|
||
"repeatEach": 1,
|
||
"retries": 0,
|
||
"metadata": {
|
||
"actualWorkers": 1
|
||
},
|
||
"id": "chromium",
|
||
"name": "chromium",
|
||
"testDir": "D:/Coding/gymflow/tests",
|
||
"testIgnore": [],
|
||
"testMatch": [
|
||
"**/*.@(spec|test).?(c|m)[jt]s?(x)"
|
||
],
|
||
"timeout": 60000
|
||
}
|
||
],
|
||
"shard": null,
|
||
"tags": [],
|
||
"updateSnapshots": "missing",
|
||
"updateSourceMethod": "patch",
|
||
"version": "1.57.0",
|
||
"workers": 1,
|
||
"webServer": null
|
||
},
|
||
"suites": [
|
||
{
|
||
"title": "02_workout_management.spec.ts",
|
||
"file": "02_workout_management.spec.ts",
|
||
"column": 0,
|
||
"line": 0,
|
||
"specs": [],
|
||
"suites": [
|
||
{
|
||
"title": "II. Workout Management",
|
||
"file": "02_workout_management.spec.ts",
|
||
"line": 6,
|
||
"column": 6,
|
||
"specs": [],
|
||
"suites": [
|
||
{
|
||
"title": "B. Exercise Library",
|
||
"file": "02_workout_management.spec.ts",
|
||
"line": 386,
|
||
"column": 10,
|
||
"specs": [
|
||
{
|
||
"title": "2.15 B. Exercise Library - Edit to Unilateral & Verify Logger",
|
||
"ok": false,
|
||
"tags": [],
|
||
"tests": [
|
||
{
|
||
"timeout": 60000,
|
||
"annotations": [],
|
||
"expectedStatus": "passed",
|
||
"projectId": "chromium",
|
||
"projectName": "chromium",
|
||
"results": [
|
||
{
|
||
"workerIndex": 0,
|
||
"parallelIndex": 0,
|
||
"status": "failed",
|
||
"duration": 4082,
|
||
"error": {
|
||
"message": "Error: locator.click: Error: strict mode violation: getByRole('button', { name: 'Tracker' }) resolved to 2 elements:\n 1) <button class=\"flex flex-col items-center gap-1 group w-full\">…</button> aka getByRole('button', { name: 'Tracker', exact: true })\n 2) <button class=\"w-full flex justify-between items-center text-sm font-bold text-primary\">…</button> aka getByRole('button', { name: 'Weight Tracker' })\n\nCall log:\n\u001b[2m - waiting for getByRole('button', { name: 'Tracker' })\u001b[22m\n",
|
||
"stack": "Error: locator.click: Error: strict mode violation: getByRole('button', { name: 'Tracker' }) resolved to 2 elements:\n 1) <button class=\"flex flex-col items-center gap-1 group w-full\">…</button> aka getByRole('button', { name: 'Tracker', exact: true })\n 2) <button class=\"w-full flex justify-between items-center text-sm font-bold text-primary\">…</button> aka getByRole('button', { name: 'Weight Tracker' })\n\nCall log:\n\u001b[2m - waiting for getByRole('button', { name: 'Tracker' })\u001b[22m\n\n at D:\\Coding\\gymflow\\tests\\02_workout_management.spec.ts:601:65",
|
||
"location": {
|
||
"file": "D:\\Coding\\gymflow\\tests\\02_workout_management.spec.ts",
|
||
"column": 65,
|
||
"line": 601
|
||
},
|
||
"snippet": "\u001b[0m \u001b[90m 599 |\u001b[39m\n \u001b[90m 600 |\u001b[39m \u001b[90m// 4. Verify in Tracker\u001b[39m\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 601 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mgetByRole(\u001b[32m'button'\u001b[39m\u001b[33m,\u001b[39m { name\u001b[33m:\u001b[39m \u001b[32m'Tracker'\u001b[39m })\u001b[33m.\u001b[39mclick()\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 602 |\u001b[39m\n \u001b[90m 603 |\u001b[39m \u001b[90m// Select the exercise\u001b[39m\n \u001b[90m 604 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mgetByRole(\u001b[32m'textbox'\u001b[39m\u001b[33m,\u001b[39m { name\u001b[33m:\u001b[39m \u001b[32m'Select Exercise'\u001b[39m })\u001b[33m.\u001b[39mfill(exName)\u001b[33m;\u001b[39m\u001b[0m"
|
||
},
|
||
"errors": [
|
||
{
|
||
"location": {
|
||
"file": "D:\\Coding\\gymflow\\tests\\02_workout_management.spec.ts",
|
||
"column": 65,
|
||
"line": 601
|
||
},
|
||
"message": "Error: locator.click: Error: strict mode violation: getByRole('button', { name: 'Tracker' }) resolved to 2 elements:\n 1) <button class=\"flex flex-col items-center gap-1 group w-full\">…</button> aka getByRole('button', { name: 'Tracker', exact: true })\n 2) <button class=\"w-full flex justify-between items-center text-sm font-bold text-primary\">…</button> aka getByRole('button', { name: 'Weight Tracker' })\n\nCall log:\n\u001b[2m - waiting for getByRole('button', { name: 'Tracker' })\u001b[22m\n\n\n 599 |\n 600 | // 4. Verify in Tracker\n> 601 | await page.getByRole('button', { name: 'Tracker' }).click();\n | ^\n 602 |\n 603 | // Select the exercise\n 604 | await page.getByRole('textbox', { name: 'Select Exercise' }).fill(exName);\n at D:\\Coding\\gymflow\\tests\\02_workout_management.spec.ts:601:65"
|
||
}
|
||
],
|
||
"stdout": [],
|
||
"stderr": [],
|
||
"retry": 0,
|
||
"startTime": "2025-12-17T16:44:41.551Z",
|
||
"annotations": [],
|
||
"attachments": [
|
||
{
|
||
"name": "error-context",
|
||
"contentType": "text/markdown",
|
||
"path": "D:\\Coding\\gymflow\\test-results\\02_workout_management-II-W-e70e4-to-Unilateral-Verify-Logger-chromium\\error-context.md"
|
||
}
|
||
],
|
||
"errorLocation": {
|
||
"file": "D:\\Coding\\gymflow\\tests\\02_workout_management.spec.ts",
|
||
"column": 65,
|
||
"line": 601
|
||
}
|
||
}
|
||
],
|
||
"status": "unexpected"
|
||
}
|
||
],
|
||
"id": "b0ff013673da5d0fc38f-f9a248c29340aa38080e",
|
||
"file": "02_workout_management.spec.ts",
|
||
"line": 573,
|
||
"column": 9
|
||
}
|
||
]
|
||
}
|
||
]
|
||
}
|
||
]
|
||
}
|
||
],
|
||
"errors": [],
|
||
"stats": {
|
||
"startTime": "2025-12-17T16:44:40.588Z",
|
||
"duration": 5268.128000000001,
|
||
"expected": 0,
|
||
"skipped": 0,
|
||
"unexpected": 1,
|
||
"flaky": 0
|
||
}
|
||
}
|