diff --git a/.github/workflows/playwright-report-test.yml b/.github/workflows/playwright-report-test.yml
new file mode 100644
index 0000000..86332ff
--- /dev/null
+++ b/.github/workflows/playwright-report-test.yml
@@ -0,0 +1,26 @@
+name: Playwright Test Report
+
+on:
+ workflow_run:
+ workflows: ['CI']
+ types:
+ - completed
+ push:
+jobs:
+ report:
+ name: Workflow test
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v2
+ - name: Check dirs
+ run: ls
+ - name: Test reporter
+ uses: ./
+ with:
+ name: Workflow Report
+ path: playwright-report.xml
+ reporter: java-junit
+ show-html-notice: true
+ list-tests: 'non-skipped'
+ fail-on-error: false
diff --git a/README.md b/README.md
index 5fc21e7..f2d9e3c 100644
--- a/README.md
+++ b/README.md
@@ -156,6 +156,7 @@ jobs:
# all
# failed
# none
+ # non-skipped (Only show passed / failed in the file lists)
list-tests: 'all'
# Limits number of created annotations with error message and stack trace captured during test execution.
diff --git a/__tests__/__outputs__/playwright-output-all.md b/__tests__/__outputs__/playwright-output-all.md
new file mode 100644
index 0000000..8b67a06
--- /dev/null
+++ b/__tests__/__outputs__/playwright-output-all.md
@@ -0,0 +1,97 @@
+
+## ❌ fixtures/external/java/playwright-report.xml
+**60** tests were completed in **59s** with **36** passed, **4** failed and **20** skipped.
+|Test suite|Passed|Failed|Skipped|Time|
+|:---|---:|---:|---:|---:|
+|[auth.setup.ts](#r0s0)|6✅|||7s|
+|[tests/analyze/load-video.spec.ts](#r0s1)|||3⚪|0ms|
+|[tests/analyze/seamless-video-playback.spec.ts](#r0s2)|||9⚪|12ms|
+|[tests/app.spec.ts](#r0s3)|||1⚪|0ms|
+|[tests/grid.spec.ts](#r0s4)|18✅|4❌|3⚪|116s|
+|[tests/onboarding.spec.ts](#r0s5)|||4⚪|0ms|
+|[tests/statsEngine.spec.ts](#r0s6)|12✅|||36s|
+### ✅ auth.setup.ts
+```
+✅ authenticate as classic admin
+✅ authenticate as basketball admin
+✅ authenticate as wrestling admin
+✅ authenticate as onboarding admin 1
+✅ authenticate as onboarding admin 3
+✅ authenticate as coachAdmin
+```
+### ✅ tests/analyze/load-video.spec.ts
+```
+⚪ record "Time to Video" when loading directly via URL › using manual timings
+⚪ record "Time to Video" when loading directly via URL › using Performance API mark
+⚪ record "Time to Video" when loading directly via URL › using Performance API measurement
+```
+### ✅ tests/analyze/seamless-video-playback.spec.ts
+```
+⚪ during looping playback › when clip repeats, it starts at the beginning
+⚪ during sequential playback ("Play All Clips" mode) › when one clip plays through to the next, overlapping video is skipped
+⚪ in 'Play All Clips' mode, clip plays from beginning › when clicked on in navigation module
+⚪ in 'Play All Clips' mode, clip plays from beginning › with next clip button
+⚪ in 'Play All Clips' mode, clip plays from beginning › with previous clip button
+⚪ in 'Loop Clips' mode, clip plays from beginning › when clicked on in navigation module
+⚪ in 'Loop Clips' mode, clip plays from beginning › with next clip button
+⚪ in 'Loop Clips' mode, clip plays from beginning › with previous clip button
+⚪ rewind functions normally
+```
+### ✅ tests/app.spec.ts
+```
+⚪ App › logs in and loads page
+```
+### ❌ tests/grid.spec.ts
+```
+✅ Grid › Mobile Web › Athlete › should not be able to edit data
+✅ Grid › Mobile Web › Admin or Coach › should be able to edit data
+✅ Grid › Field Sets › should update displayed grid columns after editing
+⚪ Grid › Field Sets › should update displayed clip preview fields after editing
+✅ Grid › Basketball Navigation Module › should display correct moment data when filtered by Scout team Points
+✅ Grid › Basketball Navigation Module › should display correct moment data when filtered by Opponent Rebounds
+✅ Grid › Basketball Navigation Module › should display correct moment data when filtered by Steals
+✅ Grid › Basketball Navigation Module › should display correct moment data when filtered by Rebounds
+✅ Grid › Basketball Navigation Module › should display clips for opportunities in Period when filtered by Period
+✅ Grid › Basketball Navigation Module › should display clips for opportunities that end in a turnover when filtered by Turnovers
+✅ Grid › Basketball Navigation Module › should display correct moment data when filtered by 3FG Attempts
+❌ Grid › Column Sorting › AmFb Column Sets › should display correct data when sorting by OFF FORM column
+ [chrome] › tests/grid.spec.ts:202:11 › Grid › Column Sorting › AmFb Column Sets › should display correct data when sorting by OFF FORM column › Sort grid by OFF FORM in ascending order
+⚪ Grid › Column Sorting › Wrestling Column Sets › should display correct data when sorting by Period column
+⚪ Grid › Quick Editor › should be able to edit data from quick editor as an admin or coach
+❌ Grid › Data Entry › should open select dropdown options when pressing Spacebar in grid cell
+ [chrome] › tests/grid.spec.ts:254:9 › Grid › Data Entry › should open select dropdown options when pressing Spacebar in grid cell › double click into column OFF FORM clip number 3
+❌ Grid › Data Entry › should be able to use keyboard to navigate horizontal grid and enter data
+ [chrome] › tests/grid.spec.ts:261:9 › Grid › Data Entry › should be able to use keyboard to navigate horizontal grid and enter data › double click into column OFF FORM clip number 3
+❌ Grid › Data Entry › should be able to use keyboard to navigate vertical grid and enter data
+ [chrome] › tests/grid.spec.ts:277:9 › Grid › Data Entry › should be able to use keyboard to navigate vertical grid and enter data › Select BUNCH from column OFF FORM list
+✅ Grid › Data Entry › should display error state for input with invalid data
+✅ Grid › Data Entry › confirm auto-fill works correctly
+✅ Grid › Tagged data › Wrestling › should display correct wrestler names tagged from Assist
+✅ Grid › Tagged data › Wrestling › should display correct score and points tagged from Assist
+✅ Grid › Tagged data › Wrestling › should display correct Period tagged from Assist
+✅ Grid › Tagged data › Wrestling › should display correct Key Moments tagged from Assist
+✅ Grid › Tagged data › Wrestling › should edit cells using the team roster
+✅ Grid › Tagged data › Wrestling › should change key moment type and update grid data
+```
+### ✅ tests/onboarding.spec.ts
+```
+⚪ Grid › Onboarding › Field Visibility › should successfully display field visibility onboarding prompt
+⚪ Grid › Onboarding › Field Visibility › Grid Hotkey Tooltip › should successfully display grid hotkey onboarding prompt
+⚪ Grid › Onboarding › Field Visibility › Reorder Field Sets › should successfully display field reorder onboarding prompt
+⚪ Grid › Onboarding › Field Visibility › Quick Edit › should successfully display quick edit onboarding prompt
+```
+### ✅ tests/statsEngine.spec.ts
+```
+✅ Mock stats engine for speed › Filter by Offense in Phase card
+✅ Mock stats engine for speed › Filter by defense in phase card
+✅ Mock stats engine for speed › Key stats card stats appear as expected when opponent is selected
+✅ Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - FG percentage for Team in Context
+✅ Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - 2FG Makes for Team in Context
+✅ Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - 2FG Attempts for Team in Context
+✅ Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - 3FG Makes for Team in Context
+✅ Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - 3FG Attempts for Team in Context
+✅ Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - Off. Rebounds for Team in Context
+✅ Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - Def. Rebounds for Team in Context
+✅ Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - Assists for Team in Context
+✅ Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - Steal for Team in Context
+```
\ No newline at end of file
diff --git a/__tests__/__outputs__/playwright-output-failed.md b/__tests__/__outputs__/playwright-output-failed.md
new file mode 100644
index 0000000..74b5148
--- /dev/null
+++ b/__tests__/__outputs__/playwright-output-failed.md
@@ -0,0 +1,38 @@
+
+## ❌ fixtures/external/java/playwright-report.xml
+**60** tests were completed in **59s** with **36** passed, **4** failed and **20** skipped.
+|Test suite|Passed|Failed|Skipped|Time|
+|:---|---:|---:|---:|---:|
+|[tests/grid.spec.ts](#r0s0)|18✅|4❌|3⚪|116s|
+### ❌ tests/grid.spec.ts
+```
+✅ Grid › Mobile Web › Athlete › should not be able to edit data
+✅ Grid › Mobile Web › Admin or Coach › should be able to edit data
+✅ Grid › Field Sets › should update displayed grid columns after editing
+⚪ Grid › Field Sets › should update displayed clip preview fields after editing
+✅ Grid › Basketball Navigation Module › should display correct moment data when filtered by Scout team Points
+✅ Grid › Basketball Navigation Module › should display correct moment data when filtered by Opponent Rebounds
+✅ Grid › Basketball Navigation Module › should display correct moment data when filtered by Steals
+✅ Grid › Basketball Navigation Module › should display correct moment data when filtered by Rebounds
+✅ Grid › Basketball Navigation Module › should display clips for opportunities in Period when filtered by Period
+✅ Grid › Basketball Navigation Module › should display clips for opportunities that end in a turnover when filtered by Turnovers
+✅ Grid › Basketball Navigation Module › should display correct moment data when filtered by 3FG Attempts
+❌ Grid › Column Sorting › AmFb Column Sets › should display correct data when sorting by OFF FORM column
+ [chrome] › tests/grid.spec.ts:202:11 › Grid › Column Sorting › AmFb Column Sets › should display correct data when sorting by OFF FORM column › Sort grid by OFF FORM in ascending order
+⚪ Grid › Column Sorting › Wrestling Column Sets › should display correct data when sorting by Period column
+⚪ Grid › Quick Editor › should be able to edit data from quick editor as an admin or coach
+❌ Grid › Data Entry › should open select dropdown options when pressing Spacebar in grid cell
+ [chrome] › tests/grid.spec.ts:254:9 › Grid › Data Entry › should open select dropdown options when pressing Spacebar in grid cell › double click into column OFF FORM clip number 3
+❌ Grid › Data Entry › should be able to use keyboard to navigate horizontal grid and enter data
+ [chrome] › tests/grid.spec.ts:261:9 › Grid › Data Entry › should be able to use keyboard to navigate horizontal grid and enter data › double click into column OFF FORM clip number 3
+❌ Grid › Data Entry › should be able to use keyboard to navigate vertical grid and enter data
+ [chrome] › tests/grid.spec.ts:277:9 › Grid › Data Entry › should be able to use keyboard to navigate vertical grid and enter data › Select BUNCH from column OFF FORM list
+✅ Grid › Data Entry › should display error state for input with invalid data
+✅ Grid › Data Entry › confirm auto-fill works correctly
+✅ Grid › Tagged data › Wrestling › should display correct wrestler names tagged from Assist
+✅ Grid › Tagged data › Wrestling › should display correct score and points tagged from Assist
+✅ Grid › Tagged data › Wrestling › should display correct Period tagged from Assist
+✅ Grid › Tagged data › Wrestling › should display correct Key Moments tagged from Assist
+✅ Grid › Tagged data › Wrestling › should edit cells using the team roster
+✅ Grid › Tagged data › Wrestling › should change key moment type and update grid data
+```
\ No newline at end of file
diff --git a/__tests__/__outputs__/playwright-output-no-skipped.md b/__tests__/__outputs__/playwright-output-no-skipped.md
new file mode 100644
index 0000000..9190c86
--- /dev/null
+++ b/__tests__/__outputs__/playwright-output-no-skipped.md
@@ -0,0 +1,77 @@
+
+## ❌ fixtures/external/java/playwright-report.xml
+**60** tests were completed in **59s** with **36** passed, **4** failed and **20** skipped.
+|Test suite|Passed|Failed|Skipped|Time|
+|:---|---:|---:|---:|---:|
+|[auth.setup.ts](#r0s0)|6✅|||7s|
+|[tests/analyze/load-video.spec.ts](#r0s1)|||3⚪|0ms|
+|[tests/analyze/seamless-video-playback.spec.ts](#r0s2)|||9⚪|12ms|
+|[tests/app.spec.ts](#r0s3)|||1⚪|0ms|
+|[tests/grid.spec.ts](#r0s4)|18✅|4❌|3⚪|116s|
+|[tests/onboarding.spec.ts](#r0s5)|||4⚪|0ms|
+|[tests/statsEngine.spec.ts](#r0s6)|12✅|||36s|
+### ✅ auth.setup.ts
+```
+✅ authenticate as classic admin
+✅ authenticate as basketball admin
+✅ authenticate as wrestling admin
+✅ authenticate as onboarding admin 1
+✅ authenticate as onboarding admin 3
+✅ authenticate as coachAdmin
+```
+### ✅ tests/analyze/load-video.spec.ts
+```
+```
+### ✅ tests/analyze/seamless-video-playback.spec.ts
+```
+```
+### ✅ tests/app.spec.ts
+```
+```
+### ❌ tests/grid.spec.ts
+```
+✅ Grid › Mobile Web › Athlete › should not be able to edit data
+✅ Grid › Mobile Web › Admin or Coach › should be able to edit data
+✅ Grid › Field Sets › should update displayed grid columns after editing
+✅ Grid › Basketball Navigation Module › should display correct moment data when filtered by Scout team Points
+✅ Grid › Basketball Navigation Module › should display correct moment data when filtered by Opponent Rebounds
+✅ Grid › Basketball Navigation Module › should display correct moment data when filtered by Steals
+✅ Grid › Basketball Navigation Module › should display correct moment data when filtered by Rebounds
+✅ Grid › Basketball Navigation Module › should display clips for opportunities in Period when filtered by Period
+✅ Grid › Basketball Navigation Module › should display clips for opportunities that end in a turnover when filtered by Turnovers
+✅ Grid › Basketball Navigation Module › should display correct moment data when filtered by 3FG Attempts
+❌ Grid › Column Sorting › AmFb Column Sets › should display correct data when sorting by OFF FORM column
+ [chrome] › tests/grid.spec.ts:202:11 › Grid › Column Sorting › AmFb Column Sets › should display correct data when sorting by OFF FORM column › Sort grid by OFF FORM in ascending order
+❌ Grid › Data Entry › should open select dropdown options when pressing Spacebar in grid cell
+ [chrome] › tests/grid.spec.ts:254:9 › Grid › Data Entry › should open select dropdown options when pressing Spacebar in grid cell › double click into column OFF FORM clip number 3
+❌ Grid › Data Entry › should be able to use keyboard to navigate horizontal grid and enter data
+ [chrome] › tests/grid.spec.ts:261:9 › Grid › Data Entry › should be able to use keyboard to navigate horizontal grid and enter data › double click into column OFF FORM clip number 3
+❌ Grid › Data Entry › should be able to use keyboard to navigate vertical grid and enter data
+ [chrome] › tests/grid.spec.ts:277:9 › Grid › Data Entry › should be able to use keyboard to navigate vertical grid and enter data › Select BUNCH from column OFF FORM list
+✅ Grid › Data Entry › should display error state for input with invalid data
+✅ Grid › Data Entry › confirm auto-fill works correctly
+✅ Grid › Tagged data › Wrestling › should display correct wrestler names tagged from Assist
+✅ Grid › Tagged data › Wrestling › should display correct score and points tagged from Assist
+✅ Grid › Tagged data › Wrestling › should display correct Period tagged from Assist
+✅ Grid › Tagged data › Wrestling › should display correct Key Moments tagged from Assist
+✅ Grid › Tagged data › Wrestling › should edit cells using the team roster
+✅ Grid › Tagged data › Wrestling › should change key moment type and update grid data
+```
+### ✅ tests/onboarding.spec.ts
+```
+```
+### ✅ tests/statsEngine.spec.ts
+```
+✅ Mock stats engine for speed › Filter by Offense in Phase card
+✅ Mock stats engine for speed › Filter by defense in phase card
+✅ Mock stats engine for speed › Key stats card stats appear as expected when opponent is selected
+✅ Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - FG percentage for Team in Context
+✅ Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - 2FG Makes for Team in Context
+✅ Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - 2FG Attempts for Team in Context
+✅ Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - 3FG Makes for Team in Context
+✅ Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - 3FG Attempts for Team in Context
+✅ Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - Off. Rebounds for Team in Context
+✅ Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - Def. Rebounds for Team in Context
+✅ Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - Assists for Team in Context
+✅ Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - Steal for Team in Context
+```
\ No newline at end of file
diff --git a/__tests__/__outputs__/playwright-output-summary.md b/__tests__/__outputs__/playwright-output-summary.md
new file mode 100644
index 0000000..a1e9d4d
--- /dev/null
+++ b/__tests__/__outputs__/playwright-output-summary.md
@@ -0,0 +1,4 @@
+
+|Report|Passed|Failed|Skipped|Time|
+|:---|---:|---:|---:|---:|
+|[fixtures/external/java/playwright-report.xml](#r0)|36✅|4❌|20⚪|59s|
\ No newline at end of file
diff --git a/__tests__/__outputs__/playwright-output.md b/__tests__/__outputs__/playwright-output.md
new file mode 100644
index 0000000..8b67a06
--- /dev/null
+++ b/__tests__/__outputs__/playwright-output.md
@@ -0,0 +1,97 @@
+
+## ❌ fixtures/external/java/playwright-report.xml
+**60** tests were completed in **59s** with **36** passed, **4** failed and **20** skipped.
+|Test suite|Passed|Failed|Skipped|Time|
+|:---|---:|---:|---:|---:|
+|[auth.setup.ts](#r0s0)|6✅|||7s|
+|[tests/analyze/load-video.spec.ts](#r0s1)|||3⚪|0ms|
+|[tests/analyze/seamless-video-playback.spec.ts](#r0s2)|||9⚪|12ms|
+|[tests/app.spec.ts](#r0s3)|||1⚪|0ms|
+|[tests/grid.spec.ts](#r0s4)|18✅|4❌|3⚪|116s|
+|[tests/onboarding.spec.ts](#r0s5)|||4⚪|0ms|
+|[tests/statsEngine.spec.ts](#r0s6)|12✅|||36s|
+### ✅ auth.setup.ts
+```
+✅ authenticate as classic admin
+✅ authenticate as basketball admin
+✅ authenticate as wrestling admin
+✅ authenticate as onboarding admin 1
+✅ authenticate as onboarding admin 3
+✅ authenticate as coachAdmin
+```
+### ✅ tests/analyze/load-video.spec.ts
+```
+⚪ record "Time to Video" when loading directly via URL › using manual timings
+⚪ record "Time to Video" when loading directly via URL › using Performance API mark
+⚪ record "Time to Video" when loading directly via URL › using Performance API measurement
+```
+### ✅ tests/analyze/seamless-video-playback.spec.ts
+```
+⚪ during looping playback › when clip repeats, it starts at the beginning
+⚪ during sequential playback ("Play All Clips" mode) › when one clip plays through to the next, overlapping video is skipped
+⚪ in 'Play All Clips' mode, clip plays from beginning › when clicked on in navigation module
+⚪ in 'Play All Clips' mode, clip plays from beginning › with next clip button
+⚪ in 'Play All Clips' mode, clip plays from beginning › with previous clip button
+⚪ in 'Loop Clips' mode, clip plays from beginning › when clicked on in navigation module
+⚪ in 'Loop Clips' mode, clip plays from beginning › with next clip button
+⚪ in 'Loop Clips' mode, clip plays from beginning › with previous clip button
+⚪ rewind functions normally
+```
+### ✅ tests/app.spec.ts
+```
+⚪ App › logs in and loads page
+```
+### ❌ tests/grid.spec.ts
+```
+✅ Grid › Mobile Web › Athlete › should not be able to edit data
+✅ Grid › Mobile Web › Admin or Coach › should be able to edit data
+✅ Grid › Field Sets › should update displayed grid columns after editing
+⚪ Grid › Field Sets › should update displayed clip preview fields after editing
+✅ Grid › Basketball Navigation Module › should display correct moment data when filtered by Scout team Points
+✅ Grid › Basketball Navigation Module › should display correct moment data when filtered by Opponent Rebounds
+✅ Grid › Basketball Navigation Module › should display correct moment data when filtered by Steals
+✅ Grid › Basketball Navigation Module › should display correct moment data when filtered by Rebounds
+✅ Grid › Basketball Navigation Module › should display clips for opportunities in Period when filtered by Period
+✅ Grid › Basketball Navigation Module › should display clips for opportunities that end in a turnover when filtered by Turnovers
+✅ Grid › Basketball Navigation Module › should display correct moment data when filtered by 3FG Attempts
+❌ Grid › Column Sorting › AmFb Column Sets › should display correct data when sorting by OFF FORM column
+ [chrome] › tests/grid.spec.ts:202:11 › Grid › Column Sorting › AmFb Column Sets › should display correct data when sorting by OFF FORM column › Sort grid by OFF FORM in ascending order
+⚪ Grid › Column Sorting › Wrestling Column Sets › should display correct data when sorting by Period column
+⚪ Grid › Quick Editor › should be able to edit data from quick editor as an admin or coach
+❌ Grid › Data Entry › should open select dropdown options when pressing Spacebar in grid cell
+ [chrome] › tests/grid.spec.ts:254:9 › Grid › Data Entry › should open select dropdown options when pressing Spacebar in grid cell › double click into column OFF FORM clip number 3
+❌ Grid › Data Entry › should be able to use keyboard to navigate horizontal grid and enter data
+ [chrome] › tests/grid.spec.ts:261:9 › Grid › Data Entry › should be able to use keyboard to navigate horizontal grid and enter data › double click into column OFF FORM clip number 3
+❌ Grid › Data Entry › should be able to use keyboard to navigate vertical grid and enter data
+ [chrome] › tests/grid.spec.ts:277:9 › Grid › Data Entry › should be able to use keyboard to navigate vertical grid and enter data › Select BUNCH from column OFF FORM list
+✅ Grid › Data Entry › should display error state for input with invalid data
+✅ Grid › Data Entry › confirm auto-fill works correctly
+✅ Grid › Tagged data › Wrestling › should display correct wrestler names tagged from Assist
+✅ Grid › Tagged data › Wrestling › should display correct score and points tagged from Assist
+✅ Grid › Tagged data › Wrestling › should display correct Period tagged from Assist
+✅ Grid › Tagged data › Wrestling › should display correct Key Moments tagged from Assist
+✅ Grid › Tagged data › Wrestling › should edit cells using the team roster
+✅ Grid › Tagged data › Wrestling › should change key moment type and update grid data
+```
+### ✅ tests/onboarding.spec.ts
+```
+⚪ Grid › Onboarding › Field Visibility › should successfully display field visibility onboarding prompt
+⚪ Grid › Onboarding › Field Visibility › Grid Hotkey Tooltip › should successfully display grid hotkey onboarding prompt
+⚪ Grid › Onboarding › Field Visibility › Reorder Field Sets › should successfully display field reorder onboarding prompt
+⚪ Grid › Onboarding › Field Visibility › Quick Edit › should successfully display quick edit onboarding prompt
+```
+### ✅ tests/statsEngine.spec.ts
+```
+✅ Mock stats engine for speed › Filter by Offense in Phase card
+✅ Mock stats engine for speed › Filter by defense in phase card
+✅ Mock stats engine for speed › Key stats card stats appear as expected when opponent is selected
+✅ Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - FG percentage for Team in Context
+✅ Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - 2FG Makes for Team in Context
+✅ Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - 2FG Attempts for Team in Context
+✅ Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - 3FG Makes for Team in Context
+✅ Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - 3FG Attempts for Team in Context
+✅ Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - Off. Rebounds for Team in Context
+✅ Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - Def. Rebounds for Team in Context
+✅ Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - Assists for Team in Context
+✅ Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - Steal for Team in Context
+```
\ No newline at end of file
diff --git a/__tests__/__snapshots__/java-junit.test.ts.snap b/__tests__/__snapshots__/java-junit.test.ts.snap
index 73c5f80..91c6a69 100644
--- a/__tests__/__snapshots__/java-junit.test.ts.snap
+++ b/__tests__/__snapshots__/java-junit.test.ts.snap
@@ -1,5 +1,2525 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP
+exports[`java-junit tests playwright test report - all tests 1`] = `
+TestRunResult {
+ "path": "fixtures/external/java/playwright-report.xml",
+ "suites": Array [
+ TestSuiteResult {
+ "groups": Array [
+ TestGroupResult {
+ "name": "",
+ "tests": Array [
+ TestCaseResult {
+ "error": undefined,
+ "name": "authenticate as classic admin",
+ "result": "success",
+ "time": 1702,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "authenticate as basketball admin",
+ "result": "success",
+ "time": 1734,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "authenticate as wrestling admin",
+ "result": "success",
+ "time": 1697,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "authenticate as onboarding admin 1",
+ "result": "success",
+ "time": 516,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "authenticate as onboarding admin 3",
+ "result": "success",
+ "time": 527,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "authenticate as coachAdmin",
+ "result": "success",
+ "time": 526,
+ },
+ ],
+ },
+ ],
+ "name": "auth.setup.ts",
+ "totalTime": 6702,
+ },
+ TestSuiteResult {
+ "groups": Array [
+ TestGroupResult {
+ "name": "",
+ "tests": Array [
+ TestCaseResult {
+ "error": undefined,
+ "name": "record \\"Time to Video\\" when loading directly via URL › using manual timings",
+ "result": "skipped",
+ "time": 0,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "record \\"Time to Video\\" when loading directly via URL › using Performance API mark",
+ "result": "skipped",
+ "time": 0,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "record \\"Time to Video\\" when loading directly via URL › using Performance API measurement",
+ "result": "skipped",
+ "time": 0,
+ },
+ ],
+ },
+ ],
+ "name": "tests/analyze/load-video.spec.ts",
+ "totalTime": 0,
+ },
+ TestSuiteResult {
+ "groups": Array [
+ TestGroupResult {
+ "name": "",
+ "tests": Array [
+ TestCaseResult {
+ "error": undefined,
+ "name": "during looping playback › when clip repeats, it starts at the beginning",
+ "result": "skipped",
+ "time": 0,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "during sequential playback (\\"Play All Clips\\" mode) › when one clip plays through to the next, overlapping video is skipped",
+ "result": "skipped",
+ "time": 0,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "in 'Play All Clips' mode, clip plays from beginning › when clicked on in navigation module",
+ "result": "skipped",
+ "time": 0,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "in 'Play All Clips' mode, clip plays from beginning › with next clip button",
+ "result": "skipped",
+ "time": 0,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "in 'Play All Clips' mode, clip plays from beginning › with previous clip button",
+ "result": "skipped",
+ "time": 0,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "in 'Loop Clips' mode, clip plays from beginning › when clicked on in navigation module",
+ "result": "skipped",
+ "time": 0,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "in 'Loop Clips' mode, clip plays from beginning › with next clip button",
+ "result": "skipped",
+ "time": 0,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "in 'Loop Clips' mode, clip plays from beginning › with previous clip button",
+ "result": "skipped",
+ "time": 0,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "rewind functions normally",
+ "result": "skipped",
+ "time": 12,
+ },
+ ],
+ },
+ ],
+ "name": "tests/analyze/seamless-video-playback.spec.ts",
+ "totalTime": 12,
+ },
+ TestSuiteResult {
+ "groups": Array [
+ TestGroupResult {
+ "name": "",
+ "tests": Array [
+ TestCaseResult {
+ "error": undefined,
+ "name": "App › logs in and loads page",
+ "result": "skipped",
+ "time": 0,
+ },
+ ],
+ },
+ ],
+ "name": "tests/app.spec.ts",
+ "totalTime": 0,
+ },
+ TestSuiteResult {
+ "groups": Array [
+ TestGroupResult {
+ "name": "",
+ "tests": Array [
+ TestCaseResult {
+ "error": undefined,
+ "name": "Grid › Mobile Web › Athlete › should not be able to edit data",
+ "result": "success",
+ "time": 2968,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Grid › Mobile Web › Admin or Coach › should be able to edit data",
+ "result": "success",
+ "time": 5762,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Grid › Field Sets › should update displayed grid columns after editing",
+ "result": "success",
+ "time": 9215,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Grid › Field Sets › should update displayed clip preview fields after editing",
+ "result": "skipped",
+ "time": 0,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Grid › Basketball Navigation Module › should display correct moment data when filtered by Scout team Points",
+ "result": "success",
+ "time": 3150,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Grid › Basketball Navigation Module › should display correct moment data when filtered by Opponent Rebounds",
+ "result": "success",
+ "time": 5091,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Grid › Basketball Navigation Module › should display correct moment data when filtered by Steals",
+ "result": "success",
+ "time": 4261,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Grid › Basketball Navigation Module › should display correct moment data when filtered by Rebounds",
+ "result": "success",
+ "time": 2860,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Grid › Basketball Navigation Module › should display clips for opportunities in Period when filtered by Period",
+ "result": "success",
+ "time": 3501,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Grid › Basketball Navigation Module › should display clips for opportunities that end in a turnover when filtered by Turnovers",
+ "result": "success",
+ "time": 3721,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Grid › Basketball Navigation Module › should display correct moment data when filtered by 3FG Attempts",
+ "result": "success",
+ "time": 3282,
+ },
+ TestCaseResult {
+ "error": Object {
+ "details": "
+ [chrome] › tests/grid.spec.ts:202:11 › Grid › Column Sorting › AmFb Column Sets › should display correct data when sorting by OFF FORM column › Sort grid by OFF FORM in ascending order
+
+ Test timeout of 10000ms exceeded.
+
+ Error: locator.click: Target closed
+ =========================== logs ===========================
+ waiting for locator('[data-qa-id^=\\"column-header-OFF FORM-\\"]')
+ ============================================================
+
+ at ../../../packages/playwright-shared/src/models/locators/table.locator.ts:12
+
+ 10 | const expectedColumnSort = this.locator.filter({ has: this.page.locator(\`[data-qa-id*='\${sortOrder}']\`) });
+ 11 | do {
+ > 12 | await this.locator.click();
+ | ^
+ 13 | } while (!expectedColumnSort.isVisible());
+ 14 | }
+ 15 | }
+
+ at TableLocator.sortColumnBy (/Users/connor.vidlock/Documents/GitHub/hudl-frontends/packages/playwright-shared/src/models/locators/table.locator.ts:12:26)
+ at /Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/models/actions/grid.actions.ts:30:52
+ at GridActions.sortColumn (/Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/models/actions/grid.actions.ts:28:16)
+ at /Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/grid.spec.ts:205:27
+
+ Pending operations:
+ - locator.click at ../../packages/playwright-shared/src/models/locators/table.locator.ts:12:26
+
+
+ attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
+ playwright/test-results/tests-grid-Grid-Column-Sorting-AmFb-Column-Set-8f487-ay-correct-data-when-sorting-by-OFF-FORM-column-chrome/test-failed-1.png
+ ────────────────────────────────────────────────────────────────────────────────────────────────
+
+ attachment #2: trace (application/zip) ─────────────────────────────────────────────────────────
+ playwright/test-results/tests-grid-Grid-Column-Sorting-AmFb-Column-Set-8f487-ay-correct-data-when-sorting-by-OFF-FORM-column-chrome/trace.zip
+ Usage:
+
+ npx playwright show-trace playwright/test-results/tests-grid-Grid-Column-Sorting-AmFb-Column-Set-8f487-ay-correct-data-when-sorting-by-OFF-FORM-column-chrome/trace.zip
+
+ ────────────────────────────────────────────────────────────────────────────────────────────────
+
+",
+ "line": undefined,
+ "message": undefined,
+ "path": undefined,
+ },
+ "name": "Grid › Column Sorting › AmFb Column Sets › should display correct data when sorting by OFF FORM column",
+ "result": "failed",
+ "time": 10000,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Grid › Column Sorting › Wrestling Column Sets › should display correct data when sorting by Period column",
+ "result": "skipped",
+ "time": 0,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Grid › Quick Editor › should be able to edit data from quick editor as an admin or coach",
+ "result": "skipped",
+ "time": 0,
+ },
+ TestCaseResult {
+ "error": Object {
+ "details": "
+ [chrome] › tests/grid.spec.ts:254:9 › Grid › Data Entry › should open select dropdown options when pressing Spacebar in grid cell › double click into column OFF FORM clip number 3
+
+ Test timeout of 10000ms exceeded.
+
+ Error: locator.dblclick: Target closed
+ =========================== logs ===========================
+ waiting for locator('div[data-qa-id=\\\\'OFF FORM-column-3\\\\']')
+ ============================================================
+
+ at ../../../packages/playwright-shared/src/models/locators/base/base.locator.ts:17
+
+ 15 |
+ 16 | async doubleClick() {
+ > 17 | await this.locator.dblclick();
+ | ^
+ 18 | }
+ 19 |
+ 20 | async getText() {
+
+ at TextInputLocator.doubleClick (/Users/connor.vidlock/Documents/GitHub/hudl-frontends/packages/playwright-shared/src/models/locators/base/base.locator.ts:17:24)
+ at /Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/models/actions/grid.actions.ts:48:63
+ at GridActions.doubleClickIntoGridColumn (/Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/models/actions/grid.actions.ts:47:16)
+ at /Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/grid.spec.ts:256:25
+
+ Pending operations:
+ - locator.dblclick at ../../packages/playwright-shared/src/models/locators/base/base.locator.ts:17:24
+
+
+ attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
+ playwright/test-results/tests-grid-Grid-Data-Entry-should-open-select-dropdown-options-when-pressing-Spacebar-in-grid-cell-chrome/test-failed-1.png
+ ────────────────────────────────────────────────────────────────────────────────────────────────
+
+ attachment #2: trace (application/zip) ─────────────────────────────────────────────────────────
+ playwright/test-results/tests-grid-Grid-Data-Entry-should-open-select-dropdown-options-when-pressing-Spacebar-in-grid-cell-chrome/trace.zip
+ Usage:
+
+ npx playwright show-trace playwright/test-results/tests-grid-Grid-Data-Entry-should-open-select-dropdown-options-when-pressing-Spacebar-in-grid-cell-chrome/trace.zip
+
+ ────────────────────────────────────────────────────────────────────────────────────────────────
+
+",
+ "line": undefined,
+ "message": undefined,
+ "path": undefined,
+ },
+ "name": "Grid › Data Entry › should open select dropdown options when pressing Spacebar in grid cell",
+ "result": "failed",
+ "time": 10000,
+ },
+ TestCaseResult {
+ "error": Object {
+ "details": "
+ [chrome] › tests/grid.spec.ts:261:9 › Grid › Data Entry › should be able to use keyboard to navigate horizontal grid and enter data › double click into column OFF FORM clip number 3
+
+ Test timeout of 10000ms exceeded.
+
+ Error: locator.dblclick: Target closed
+ =========================== logs ===========================
+ waiting for locator('div[data-qa-id=\\\\'OFF FORM-column-3\\\\']')
+ ============================================================
+
+ at ../../../packages/playwright-shared/src/models/locators/base/base.locator.ts:17
+
+ 15 |
+ 16 | async doubleClick() {
+ > 17 | await this.locator.dblclick();
+ | ^
+ 18 | }
+ 19 |
+ 20 | async getText() {
+
+ at TextInputLocator.doubleClick (/Users/connor.vidlock/Documents/GitHub/hudl-frontends/packages/playwright-shared/src/models/locators/base/base.locator.ts:17:24)
+ at /Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/models/actions/grid.actions.ts:48:63
+ at GridActions.doubleClickIntoGridColumn (/Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/models/actions/grid.actions.ts:47:16)
+ at /Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/grid.spec.ts:263:25
+
+ Pending operations:
+ - locator.dblclick at ../../packages/playwright-shared/src/models/locators/base/base.locator.ts:17:24
+
+
+ attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
+ playwright/test-results/tests-grid-Grid-Data-Entry-should-be-able-to-use-keyboard-to-navigate-horizontal-grid-and-enter-data-chrome/test-failed-1.png
+ ────────────────────────────────────────────────────────────────────────────────────────────────
+
+ attachment #2: trace (application/zip) ─────────────────────────────────────────────────────────
+ playwright/test-results/tests-grid-Grid-Data-Entry-should-be-able-to-use-keyboard-to-navigate-horizontal-grid-and-enter-data-chrome/trace.zip
+ Usage:
+
+ npx playwright show-trace playwright/test-results/tests-grid-Grid-Data-Entry-should-be-able-to-use-keyboard-to-navigate-horizontal-grid-and-enter-data-chrome/trace.zip
+
+ ────────────────────────────────────────────────────────────────────────────────────────────────
+
+",
+ "line": undefined,
+ "message": undefined,
+ "path": undefined,
+ },
+ "name": "Grid › Data Entry › should be able to use keyboard to navigate horizontal grid and enter data",
+ "result": "failed",
+ "time": 10000,
+ },
+ TestCaseResult {
+ "error": Object {
+ "details": "
+ [chrome] › tests/grid.spec.ts:277:9 › Grid › Data Entry › should be able to use keyboard to navigate vertical grid and enter data › Select BUNCH from column OFF FORM list
+
+ Test timeout of 10000ms exceeded.
+
+ Error: locator.click: Target closed
+ =========================== logs ===========================
+ waiting for locator('[data-qa-id=\\"clip-edit-field-OFF FORM\\"]')
+ ============================================================
+
+ at ../../../packages/playwright-shared/src/models/locators/base/base.locator.ts:13
+
+ 11 |
+ 12 | async click(force: boolean = false) {
+ > 13 | await this.locator.click({ force });
+ | ^
+ 14 | }
+ 15 |
+ 16 | async doubleClick() {
+
+ at SelectLocator.click (/Users/connor.vidlock/Documents/GitHub/hudl-frontends/packages/playwright-shared/src/models/locators/base/base.locator.ts:13:24)
+ at /Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/models/actions/grid.actions.ts:93:58
+ at GridActions.enterGridSelectValue (/Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/models/actions/grid.actions.ts:92:16)
+ at /Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/grid.spec.ts:279:25
+
+ Pending operations:
+ - locator.click at ../../packages/playwright-shared/src/models/locators/base/base.locator.ts:13:24
+
+
+ attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
+ playwright/test-results/tests-grid-Grid-Data-Entry-should-be-able-to-use-keyboard-to-navigate-vertical-grid-and-enter-data-chrome/test-failed-1.png
+ ────────────────────────────────────────────────────────────────────────────────────────────────
+
+ attachment #2: trace (application/zip) ─────────────────────────────────────────────────────────
+ playwright/test-results/tests-grid-Grid-Data-Entry-should-be-able-to-use-keyboard-to-navigate-vertical-grid-and-enter-data-chrome/trace.zip
+ Usage:
+
+ npx playwright show-trace playwright/test-results/tests-grid-Grid-Data-Entry-should-be-able-to-use-keyboard-to-navigate-vertical-grid-and-enter-data-chrome/trace.zip
+
+ ────────────────────────────────────────────────────────────────────────────────────────────────
+
+",
+ "line": undefined,
+ "message": undefined,
+ "path": undefined,
+ },
+ "name": "Grid › Data Entry › should be able to use keyboard to navigate vertical grid and enter data",
+ "result": "failed",
+ "time": 10000,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Grid › Data Entry › should display error state for input with invalid data",
+ "result": "success",
+ "time": 5853,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Grid › Data Entry › confirm auto-fill works correctly",
+ "result": "success",
+ "time": 5021,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Grid › Tagged data › Wrestling › should display correct wrestler names tagged from Assist",
+ "result": "success",
+ "time": 2522,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Grid › Tagged data › Wrestling › should display correct score and points tagged from Assist",
+ "result": "success",
+ "time": 2655,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Grid › Tagged data › Wrestling › should display correct Period tagged from Assist",
+ "result": "success",
+ "time": 2666,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Grid › Tagged data › Wrestling › should display correct Key Moments tagged from Assist",
+ "result": "success",
+ "time": 2908,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Grid › Tagged data › Wrestling › should edit cells using the team roster",
+ "result": "success",
+ "time": 4794,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Grid › Tagged data › Wrestling › should change key moment type and update grid data",
+ "result": "success",
+ "time": 5662,
+ },
+ ],
+ },
+ ],
+ "name": "tests/grid.spec.ts",
+ "totalTime": 115892,
+ },
+ TestSuiteResult {
+ "groups": Array [
+ TestGroupResult {
+ "name": "",
+ "tests": Array [
+ TestCaseResult {
+ "error": undefined,
+ "name": "Grid › Onboarding › Field Visibility › should successfully display field visibility onboarding prompt",
+ "result": "skipped",
+ "time": 0,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Grid › Onboarding › Field Visibility › Grid Hotkey Tooltip › should successfully display grid hotkey onboarding prompt",
+ "result": "skipped",
+ "time": 0,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Grid › Onboarding › Field Visibility › Reorder Field Sets › should successfully display field reorder onboarding prompt",
+ "result": "skipped",
+ "time": 0,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Grid › Onboarding › Field Visibility › Quick Edit › should successfully display quick edit onboarding prompt",
+ "result": "skipped",
+ "time": 0,
+ },
+ ],
+ },
+ ],
+ "name": "tests/onboarding.spec.ts",
+ "totalTime": 0,
+ },
+ TestSuiteResult {
+ "groups": Array [
+ TestGroupResult {
+ "name": "",
+ "tests": Array [
+ TestCaseResult {
+ "error": undefined,
+ "name": "Mock stats engine for speed › Filter by Offense in Phase card",
+ "result": "success",
+ "time": 3542,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Mock stats engine for speed › Filter by defense in phase card",
+ "result": "success",
+ "time": 2471,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Mock stats engine for speed › Key stats card stats appear as expected when opponent is selected",
+ "result": "success",
+ "time": 3207,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - FG percentage for Team in Context",
+ "result": "success",
+ "time": 2932,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - 2FG Makes for Team in Context",
+ "result": "success",
+ "time": 3549,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - 2FG Attempts for Team in Context",
+ "result": "success",
+ "time": 2802,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - 3FG Makes for Team in Context",
+ "result": "success",
+ "time": 2949,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - 3FG Attempts for Team in Context",
+ "result": "success",
+ "time": 2937,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - Off. Rebounds for Team in Context",
+ "result": "success",
+ "time": 3277,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - Def. Rebounds for Team in Context",
+ "result": "success",
+ "time": 2799,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - Assists for Team in Context",
+ "result": "success",
+ "time": 3056,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - Steal for Team in Context",
+ "result": "success",
+ "time": 2850,
+ },
+ ],
+ },
+ ],
+ "name": "tests/statsEngine.spec.ts",
+ "totalTime": 36371,
+ },
+ ],
+ "totalTime": 59092.58599999547,
+}
+`;
+
+exports[`java-junit tests playwright test report - ignore skipped tests 1`] = `
+TestRunResult {
+ "path": "fixtures/external/java/playwright-report.xml",
+ "suites": Array [
+ TestSuiteResult {
+ "groups": Array [
+ TestGroupResult {
+ "name": "",
+ "tests": Array [
+ TestCaseResult {
+ "error": undefined,
+ "name": "authenticate as classic admin",
+ "result": "success",
+ "time": 1702,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "authenticate as basketball admin",
+ "result": "success",
+ "time": 1734,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "authenticate as wrestling admin",
+ "result": "success",
+ "time": 1697,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "authenticate as onboarding admin 1",
+ "result": "success",
+ "time": 516,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "authenticate as onboarding admin 3",
+ "result": "success",
+ "time": 527,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "authenticate as coachAdmin",
+ "result": "success",
+ "time": 526,
+ },
+ ],
+ },
+ ],
+ "name": "auth.setup.ts",
+ "totalTime": 6702,
+ },
+ TestSuiteResult {
+ "groups": Array [
+ TestGroupResult {
+ "name": "",
+ "tests": Array [
+ TestCaseResult {
+ "error": undefined,
+ "name": "record \\"Time to Video\\" when loading directly via URL › using manual timings",
+ "result": "skipped",
+ "time": 0,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "record \\"Time to Video\\" when loading directly via URL › using Performance API mark",
+ "result": "skipped",
+ "time": 0,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "record \\"Time to Video\\" when loading directly via URL › using Performance API measurement",
+ "result": "skipped",
+ "time": 0,
+ },
+ ],
+ },
+ ],
+ "name": "tests/analyze/load-video.spec.ts",
+ "totalTime": 0,
+ },
+ TestSuiteResult {
+ "groups": Array [
+ TestGroupResult {
+ "name": "",
+ "tests": Array [
+ TestCaseResult {
+ "error": undefined,
+ "name": "during looping playback › when clip repeats, it starts at the beginning",
+ "result": "skipped",
+ "time": 0,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "during sequential playback (\\"Play All Clips\\" mode) › when one clip plays through to the next, overlapping video is skipped",
+ "result": "skipped",
+ "time": 0,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "in 'Play All Clips' mode, clip plays from beginning › when clicked on in navigation module",
+ "result": "skipped",
+ "time": 0,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "in 'Play All Clips' mode, clip plays from beginning › with next clip button",
+ "result": "skipped",
+ "time": 0,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "in 'Play All Clips' mode, clip plays from beginning › with previous clip button",
+ "result": "skipped",
+ "time": 0,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "in 'Loop Clips' mode, clip plays from beginning › when clicked on in navigation module",
+ "result": "skipped",
+ "time": 0,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "in 'Loop Clips' mode, clip plays from beginning › with next clip button",
+ "result": "skipped",
+ "time": 0,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "in 'Loop Clips' mode, clip plays from beginning › with previous clip button",
+ "result": "skipped",
+ "time": 0,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "rewind functions normally",
+ "result": "skipped",
+ "time": 12,
+ },
+ ],
+ },
+ ],
+ "name": "tests/analyze/seamless-video-playback.spec.ts",
+ "totalTime": 12,
+ },
+ TestSuiteResult {
+ "groups": Array [
+ TestGroupResult {
+ "name": "",
+ "tests": Array [
+ TestCaseResult {
+ "error": undefined,
+ "name": "App › logs in and loads page",
+ "result": "skipped",
+ "time": 0,
+ },
+ ],
+ },
+ ],
+ "name": "tests/app.spec.ts",
+ "totalTime": 0,
+ },
+ TestSuiteResult {
+ "groups": Array [
+ TestGroupResult {
+ "name": "",
+ "tests": Array [
+ TestCaseResult {
+ "error": undefined,
+ "name": "Grid › Mobile Web › Athlete › should not be able to edit data",
+ "result": "success",
+ "time": 2968,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Grid › Mobile Web › Admin or Coach › should be able to edit data",
+ "result": "success",
+ "time": 5762,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Grid › Field Sets › should update displayed grid columns after editing",
+ "result": "success",
+ "time": 9215,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Grid › Field Sets › should update displayed clip preview fields after editing",
+ "result": "skipped",
+ "time": 0,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Grid › Basketball Navigation Module › should display correct moment data when filtered by Scout team Points",
+ "result": "success",
+ "time": 3150,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Grid › Basketball Navigation Module › should display correct moment data when filtered by Opponent Rebounds",
+ "result": "success",
+ "time": 5091,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Grid › Basketball Navigation Module › should display correct moment data when filtered by Steals",
+ "result": "success",
+ "time": 4261,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Grid › Basketball Navigation Module › should display correct moment data when filtered by Rebounds",
+ "result": "success",
+ "time": 2860,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Grid › Basketball Navigation Module › should display clips for opportunities in Period when filtered by Period",
+ "result": "success",
+ "time": 3501,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Grid › Basketball Navigation Module › should display clips for opportunities that end in a turnover when filtered by Turnovers",
+ "result": "success",
+ "time": 3721,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Grid › Basketball Navigation Module › should display correct moment data when filtered by 3FG Attempts",
+ "result": "success",
+ "time": 3282,
+ },
+ TestCaseResult {
+ "error": Object {
+ "details": "
+ [chrome] › tests/grid.spec.ts:202:11 › Grid › Column Sorting › AmFb Column Sets › should display correct data when sorting by OFF FORM column › Sort grid by OFF FORM in ascending order
+
+ Test timeout of 10000ms exceeded.
+
+ Error: locator.click: Target closed
+ =========================== logs ===========================
+ waiting for locator('[data-qa-id^=\\"column-header-OFF FORM-\\"]')
+ ============================================================
+
+ at ../../../packages/playwright-shared/src/models/locators/table.locator.ts:12
+
+ 10 | const expectedColumnSort = this.locator.filter({ has: this.page.locator(\`[data-qa-id*='\${sortOrder}']\`) });
+ 11 | do {
+ > 12 | await this.locator.click();
+ | ^
+ 13 | } while (!expectedColumnSort.isVisible());
+ 14 | }
+ 15 | }
+
+ at TableLocator.sortColumnBy (/Users/connor.vidlock/Documents/GitHub/hudl-frontends/packages/playwright-shared/src/models/locators/table.locator.ts:12:26)
+ at /Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/models/actions/grid.actions.ts:30:52
+ at GridActions.sortColumn (/Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/models/actions/grid.actions.ts:28:16)
+ at /Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/grid.spec.ts:205:27
+
+ Pending operations:
+ - locator.click at ../../packages/playwright-shared/src/models/locators/table.locator.ts:12:26
+
+
+ attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
+ playwright/test-results/tests-grid-Grid-Column-Sorting-AmFb-Column-Set-8f487-ay-correct-data-when-sorting-by-OFF-FORM-column-chrome/test-failed-1.png
+ ────────────────────────────────────────────────────────────────────────────────────────────────
+
+ attachment #2: trace (application/zip) ─────────────────────────────────────────────────────────
+ playwright/test-results/tests-grid-Grid-Column-Sorting-AmFb-Column-Set-8f487-ay-correct-data-when-sorting-by-OFF-FORM-column-chrome/trace.zip
+ Usage:
+
+ npx playwright show-trace playwright/test-results/tests-grid-Grid-Column-Sorting-AmFb-Column-Set-8f487-ay-correct-data-when-sorting-by-OFF-FORM-column-chrome/trace.zip
+
+ ────────────────────────────────────────────────────────────────────────────────────────────────
+
+",
+ "line": undefined,
+ "message": undefined,
+ "path": undefined,
+ },
+ "name": "Grid › Column Sorting › AmFb Column Sets › should display correct data when sorting by OFF FORM column",
+ "result": "failed",
+ "time": 10000,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Grid › Column Sorting › Wrestling Column Sets › should display correct data when sorting by Period column",
+ "result": "skipped",
+ "time": 0,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Grid › Quick Editor › should be able to edit data from quick editor as an admin or coach",
+ "result": "skipped",
+ "time": 0,
+ },
+ TestCaseResult {
+ "error": Object {
+ "details": "
+ [chrome] › tests/grid.spec.ts:254:9 › Grid › Data Entry › should open select dropdown options when pressing Spacebar in grid cell › double click into column OFF FORM clip number 3
+
+ Test timeout of 10000ms exceeded.
+
+ Error: locator.dblclick: Target closed
+ =========================== logs ===========================
+ waiting for locator('div[data-qa-id=\\\\'OFF FORM-column-3\\\\']')
+ ============================================================
+
+ at ../../../packages/playwright-shared/src/models/locators/base/base.locator.ts:17
+
+ 15 |
+ 16 | async doubleClick() {
+ > 17 | await this.locator.dblclick();
+ | ^
+ 18 | }
+ 19 |
+ 20 | async getText() {
+
+ at TextInputLocator.doubleClick (/Users/connor.vidlock/Documents/GitHub/hudl-frontends/packages/playwright-shared/src/models/locators/base/base.locator.ts:17:24)
+ at /Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/models/actions/grid.actions.ts:48:63
+ at GridActions.doubleClickIntoGridColumn (/Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/models/actions/grid.actions.ts:47:16)
+ at /Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/grid.spec.ts:256:25
+
+ Pending operations:
+ - locator.dblclick at ../../packages/playwright-shared/src/models/locators/base/base.locator.ts:17:24
+
+
+ attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
+ playwright/test-results/tests-grid-Grid-Data-Entry-should-open-select-dropdown-options-when-pressing-Spacebar-in-grid-cell-chrome/test-failed-1.png
+ ────────────────────────────────────────────────────────────────────────────────────────────────
+
+ attachment #2: trace (application/zip) ─────────────────────────────────────────────────────────
+ playwright/test-results/tests-grid-Grid-Data-Entry-should-open-select-dropdown-options-when-pressing-Spacebar-in-grid-cell-chrome/trace.zip
+ Usage:
+
+ npx playwright show-trace playwright/test-results/tests-grid-Grid-Data-Entry-should-open-select-dropdown-options-when-pressing-Spacebar-in-grid-cell-chrome/trace.zip
+
+ ────────────────────────────────────────────────────────────────────────────────────────────────
+
+",
+ "line": undefined,
+ "message": undefined,
+ "path": undefined,
+ },
+ "name": "Grid › Data Entry › should open select dropdown options when pressing Spacebar in grid cell",
+ "result": "failed",
+ "time": 10000,
+ },
+ TestCaseResult {
+ "error": Object {
+ "details": "
+ [chrome] › tests/grid.spec.ts:261:9 › Grid › Data Entry › should be able to use keyboard to navigate horizontal grid and enter data › double click into column OFF FORM clip number 3
+
+ Test timeout of 10000ms exceeded.
+
+ Error: locator.dblclick: Target closed
+ =========================== logs ===========================
+ waiting for locator('div[data-qa-id=\\\\'OFF FORM-column-3\\\\']')
+ ============================================================
+
+ at ../../../packages/playwright-shared/src/models/locators/base/base.locator.ts:17
+
+ 15 |
+ 16 | async doubleClick() {
+ > 17 | await this.locator.dblclick();
+ | ^
+ 18 | }
+ 19 |
+ 20 | async getText() {
+
+ at TextInputLocator.doubleClick (/Users/connor.vidlock/Documents/GitHub/hudl-frontends/packages/playwright-shared/src/models/locators/base/base.locator.ts:17:24)
+ at /Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/models/actions/grid.actions.ts:48:63
+ at GridActions.doubleClickIntoGridColumn (/Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/models/actions/grid.actions.ts:47:16)
+ at /Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/grid.spec.ts:263:25
+
+ Pending operations:
+ - locator.dblclick at ../../packages/playwright-shared/src/models/locators/base/base.locator.ts:17:24
+
+
+ attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
+ playwright/test-results/tests-grid-Grid-Data-Entry-should-be-able-to-use-keyboard-to-navigate-horizontal-grid-and-enter-data-chrome/test-failed-1.png
+ ────────────────────────────────────────────────────────────────────────────────────────────────
+
+ attachment #2: trace (application/zip) ─────────────────────────────────────────────────────────
+ playwright/test-results/tests-grid-Grid-Data-Entry-should-be-able-to-use-keyboard-to-navigate-horizontal-grid-and-enter-data-chrome/trace.zip
+ Usage:
+
+ npx playwright show-trace playwright/test-results/tests-grid-Grid-Data-Entry-should-be-able-to-use-keyboard-to-navigate-horizontal-grid-and-enter-data-chrome/trace.zip
+
+ ────────────────────────────────────────────────────────────────────────────────────────────────
+
+",
+ "line": undefined,
+ "message": undefined,
+ "path": undefined,
+ },
+ "name": "Grid › Data Entry › should be able to use keyboard to navigate horizontal grid and enter data",
+ "result": "failed",
+ "time": 10000,
+ },
+ TestCaseResult {
+ "error": Object {
+ "details": "
+ [chrome] › tests/grid.spec.ts:277:9 › Grid › Data Entry › should be able to use keyboard to navigate vertical grid and enter data › Select BUNCH from column OFF FORM list
+
+ Test timeout of 10000ms exceeded.
+
+ Error: locator.click: Target closed
+ =========================== logs ===========================
+ waiting for locator('[data-qa-id=\\"clip-edit-field-OFF FORM\\"]')
+ ============================================================
+
+ at ../../../packages/playwright-shared/src/models/locators/base/base.locator.ts:13
+
+ 11 |
+ 12 | async click(force: boolean = false) {
+ > 13 | await this.locator.click({ force });
+ | ^
+ 14 | }
+ 15 |
+ 16 | async doubleClick() {
+
+ at SelectLocator.click (/Users/connor.vidlock/Documents/GitHub/hudl-frontends/packages/playwright-shared/src/models/locators/base/base.locator.ts:13:24)
+ at /Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/models/actions/grid.actions.ts:93:58
+ at GridActions.enterGridSelectValue (/Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/models/actions/grid.actions.ts:92:16)
+ at /Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/grid.spec.ts:279:25
+
+ Pending operations:
+ - locator.click at ../../packages/playwright-shared/src/models/locators/base/base.locator.ts:13:24
+
+
+ attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
+ playwright/test-results/tests-grid-Grid-Data-Entry-should-be-able-to-use-keyboard-to-navigate-vertical-grid-and-enter-data-chrome/test-failed-1.png
+ ────────────────────────────────────────────────────────────────────────────────────────────────
+
+ attachment #2: trace (application/zip) ─────────────────────────────────────────────────────────
+ playwright/test-results/tests-grid-Grid-Data-Entry-should-be-able-to-use-keyboard-to-navigate-vertical-grid-and-enter-data-chrome/trace.zip
+ Usage:
+
+ npx playwright show-trace playwright/test-results/tests-grid-Grid-Data-Entry-should-be-able-to-use-keyboard-to-navigate-vertical-grid-and-enter-data-chrome/trace.zip
+
+ ────────────────────────────────────────────────────────────────────────────────────────────────
+
+",
+ "line": undefined,
+ "message": undefined,
+ "path": undefined,
+ },
+ "name": "Grid › Data Entry › should be able to use keyboard to navigate vertical grid and enter data",
+ "result": "failed",
+ "time": 10000,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Grid › Data Entry › should display error state for input with invalid data",
+ "result": "success",
+ "time": 5853,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Grid › Data Entry › confirm auto-fill works correctly",
+ "result": "success",
+ "time": 5021,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Grid › Tagged data › Wrestling › should display correct wrestler names tagged from Assist",
+ "result": "success",
+ "time": 2522,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Grid › Tagged data › Wrestling › should display correct score and points tagged from Assist",
+ "result": "success",
+ "time": 2655,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Grid › Tagged data › Wrestling › should display correct Period tagged from Assist",
+ "result": "success",
+ "time": 2666,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Grid › Tagged data › Wrestling › should display correct Key Moments tagged from Assist",
+ "result": "success",
+ "time": 2908,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Grid › Tagged data › Wrestling › should edit cells using the team roster",
+ "result": "success",
+ "time": 4794,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Grid › Tagged data › Wrestling › should change key moment type and update grid data",
+ "result": "success",
+ "time": 5662,
+ },
+ ],
+ },
+ ],
+ "name": "tests/grid.spec.ts",
+ "totalTime": 115892,
+ },
+ TestSuiteResult {
+ "groups": Array [
+ TestGroupResult {
+ "name": "",
+ "tests": Array [
+ TestCaseResult {
+ "error": undefined,
+ "name": "Grid › Onboarding › Field Visibility › should successfully display field visibility onboarding prompt",
+ "result": "skipped",
+ "time": 0,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Grid › Onboarding › Field Visibility › Grid Hotkey Tooltip › should successfully display grid hotkey onboarding prompt",
+ "result": "skipped",
+ "time": 0,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Grid › Onboarding › Field Visibility › Reorder Field Sets › should successfully display field reorder onboarding prompt",
+ "result": "skipped",
+ "time": 0,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Grid › Onboarding › Field Visibility › Quick Edit › should successfully display quick edit onboarding prompt",
+ "result": "skipped",
+ "time": 0,
+ },
+ ],
+ },
+ ],
+ "name": "tests/onboarding.spec.ts",
+ "totalTime": 0,
+ },
+ TestSuiteResult {
+ "groups": Array [
+ TestGroupResult {
+ "name": "",
+ "tests": Array [
+ TestCaseResult {
+ "error": undefined,
+ "name": "Mock stats engine for speed › Filter by Offense in Phase card",
+ "result": "success",
+ "time": 3542,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Mock stats engine for speed › Filter by defense in phase card",
+ "result": "success",
+ "time": 2471,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Mock stats engine for speed › Key stats card stats appear as expected when opponent is selected",
+ "result": "success",
+ "time": 3207,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - FG percentage for Team in Context",
+ "result": "success",
+ "time": 2932,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - 2FG Makes for Team in Context",
+ "result": "success",
+ "time": 3549,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - 2FG Attempts for Team in Context",
+ "result": "success",
+ "time": 2802,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - 3FG Makes for Team in Context",
+ "result": "success",
+ "time": 2949,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - 3FG Attempts for Team in Context",
+ "result": "success",
+ "time": 2937,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - Off. Rebounds for Team in Context",
+ "result": "success",
+ "time": 3277,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - Def. Rebounds for Team in Context",
+ "result": "success",
+ "time": 2799,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - Assists for Team in Context",
+ "result": "success",
+ "time": 3056,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - Steal for Team in Context",
+ "result": "success",
+ "time": 2850,
+ },
+ ],
+ },
+ ],
+ "name": "tests/statsEngine.spec.ts",
+ "totalTime": 36371,
+ },
+ ],
+ "totalTime": 59092.58599999547,
+}
+`;
+
+exports[`java-junit tests playwright test report - only failed 1`] = `
+TestRunResult {
+ "path": "fixtures/external/java/playwright-report.xml",
+ "suites": Array [
+ TestSuiteResult {
+ "groups": Array [
+ TestGroupResult {
+ "name": "",
+ "tests": Array [
+ TestCaseResult {
+ "error": undefined,
+ "name": "authenticate as classic admin",
+ "result": "success",
+ "time": 1702,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "authenticate as basketball admin",
+ "result": "success",
+ "time": 1734,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "authenticate as wrestling admin",
+ "result": "success",
+ "time": 1697,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "authenticate as onboarding admin 1",
+ "result": "success",
+ "time": 516,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "authenticate as onboarding admin 3",
+ "result": "success",
+ "time": 527,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "authenticate as coachAdmin",
+ "result": "success",
+ "time": 526,
+ },
+ ],
+ },
+ ],
+ "name": "auth.setup.ts",
+ "totalTime": 6702,
+ },
+ TestSuiteResult {
+ "groups": Array [
+ TestGroupResult {
+ "name": "",
+ "tests": Array [
+ TestCaseResult {
+ "error": undefined,
+ "name": "record \\"Time to Video\\" when loading directly via URL › using manual timings",
+ "result": "skipped",
+ "time": 0,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "record \\"Time to Video\\" when loading directly via URL › using Performance API mark",
+ "result": "skipped",
+ "time": 0,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "record \\"Time to Video\\" when loading directly via URL › using Performance API measurement",
+ "result": "skipped",
+ "time": 0,
+ },
+ ],
+ },
+ ],
+ "name": "tests/analyze/load-video.spec.ts",
+ "totalTime": 0,
+ },
+ TestSuiteResult {
+ "groups": Array [
+ TestGroupResult {
+ "name": "",
+ "tests": Array [
+ TestCaseResult {
+ "error": undefined,
+ "name": "during looping playback › when clip repeats, it starts at the beginning",
+ "result": "skipped",
+ "time": 0,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "during sequential playback (\\"Play All Clips\\" mode) › when one clip plays through to the next, overlapping video is skipped",
+ "result": "skipped",
+ "time": 0,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "in 'Play All Clips' mode, clip plays from beginning › when clicked on in navigation module",
+ "result": "skipped",
+ "time": 0,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "in 'Play All Clips' mode, clip plays from beginning › with next clip button",
+ "result": "skipped",
+ "time": 0,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "in 'Play All Clips' mode, clip plays from beginning › with previous clip button",
+ "result": "skipped",
+ "time": 0,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "in 'Loop Clips' mode, clip plays from beginning › when clicked on in navigation module",
+ "result": "skipped",
+ "time": 0,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "in 'Loop Clips' mode, clip plays from beginning › with next clip button",
+ "result": "skipped",
+ "time": 0,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "in 'Loop Clips' mode, clip plays from beginning › with previous clip button",
+ "result": "skipped",
+ "time": 0,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "rewind functions normally",
+ "result": "skipped",
+ "time": 12,
+ },
+ ],
+ },
+ ],
+ "name": "tests/analyze/seamless-video-playback.spec.ts",
+ "totalTime": 12,
+ },
+ TestSuiteResult {
+ "groups": Array [
+ TestGroupResult {
+ "name": "",
+ "tests": Array [
+ TestCaseResult {
+ "error": undefined,
+ "name": "App › logs in and loads page",
+ "result": "skipped",
+ "time": 0,
+ },
+ ],
+ },
+ ],
+ "name": "tests/app.spec.ts",
+ "totalTime": 0,
+ },
+ TestSuiteResult {
+ "groups": Array [
+ TestGroupResult {
+ "name": "",
+ "tests": Array [
+ TestCaseResult {
+ "error": undefined,
+ "name": "Grid › Mobile Web › Athlete › should not be able to edit data",
+ "result": "success",
+ "time": 2968,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Grid › Mobile Web › Admin or Coach › should be able to edit data",
+ "result": "success",
+ "time": 5762,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Grid › Field Sets › should update displayed grid columns after editing",
+ "result": "success",
+ "time": 9215,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Grid › Field Sets › should update displayed clip preview fields after editing",
+ "result": "skipped",
+ "time": 0,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Grid › Basketball Navigation Module › should display correct moment data when filtered by Scout team Points",
+ "result": "success",
+ "time": 3150,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Grid › Basketball Navigation Module › should display correct moment data when filtered by Opponent Rebounds",
+ "result": "success",
+ "time": 5091,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Grid › Basketball Navigation Module › should display correct moment data when filtered by Steals",
+ "result": "success",
+ "time": 4261,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Grid › Basketball Navigation Module › should display correct moment data when filtered by Rebounds",
+ "result": "success",
+ "time": 2860,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Grid › Basketball Navigation Module › should display clips for opportunities in Period when filtered by Period",
+ "result": "success",
+ "time": 3501,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Grid › Basketball Navigation Module › should display clips for opportunities that end in a turnover when filtered by Turnovers",
+ "result": "success",
+ "time": 3721,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Grid › Basketball Navigation Module › should display correct moment data when filtered by 3FG Attempts",
+ "result": "success",
+ "time": 3282,
+ },
+ TestCaseResult {
+ "error": Object {
+ "details": "
+ [chrome] › tests/grid.spec.ts:202:11 › Grid › Column Sorting › AmFb Column Sets › should display correct data when sorting by OFF FORM column › Sort grid by OFF FORM in ascending order
+
+ Test timeout of 10000ms exceeded.
+
+ Error: locator.click: Target closed
+ =========================== logs ===========================
+ waiting for locator('[data-qa-id^=\\"column-header-OFF FORM-\\"]')
+ ============================================================
+
+ at ../../../packages/playwright-shared/src/models/locators/table.locator.ts:12
+
+ 10 | const expectedColumnSort = this.locator.filter({ has: this.page.locator(\`[data-qa-id*='\${sortOrder}']\`) });
+ 11 | do {
+ > 12 | await this.locator.click();
+ | ^
+ 13 | } while (!expectedColumnSort.isVisible());
+ 14 | }
+ 15 | }
+
+ at TableLocator.sortColumnBy (/Users/connor.vidlock/Documents/GitHub/hudl-frontends/packages/playwright-shared/src/models/locators/table.locator.ts:12:26)
+ at /Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/models/actions/grid.actions.ts:30:52
+ at GridActions.sortColumn (/Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/models/actions/grid.actions.ts:28:16)
+ at /Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/grid.spec.ts:205:27
+
+ Pending operations:
+ - locator.click at ../../packages/playwright-shared/src/models/locators/table.locator.ts:12:26
+
+
+ attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
+ playwright/test-results/tests-grid-Grid-Column-Sorting-AmFb-Column-Set-8f487-ay-correct-data-when-sorting-by-OFF-FORM-column-chrome/test-failed-1.png
+ ────────────────────────────────────────────────────────────────────────────────────────────────
+
+ attachment #2: trace (application/zip) ─────────────────────────────────────────────────────────
+ playwright/test-results/tests-grid-Grid-Column-Sorting-AmFb-Column-Set-8f487-ay-correct-data-when-sorting-by-OFF-FORM-column-chrome/trace.zip
+ Usage:
+
+ npx playwright show-trace playwright/test-results/tests-grid-Grid-Column-Sorting-AmFb-Column-Set-8f487-ay-correct-data-when-sorting-by-OFF-FORM-column-chrome/trace.zip
+
+ ────────────────────────────────────────────────────────────────────────────────────────────────
+
+",
+ "line": undefined,
+ "message": undefined,
+ "path": undefined,
+ },
+ "name": "Grid › Column Sorting › AmFb Column Sets › should display correct data when sorting by OFF FORM column",
+ "result": "failed",
+ "time": 10000,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Grid › Column Sorting › Wrestling Column Sets › should display correct data when sorting by Period column",
+ "result": "skipped",
+ "time": 0,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Grid › Quick Editor › should be able to edit data from quick editor as an admin or coach",
+ "result": "skipped",
+ "time": 0,
+ },
+ TestCaseResult {
+ "error": Object {
+ "details": "
+ [chrome] › tests/grid.spec.ts:254:9 › Grid › Data Entry › should open select dropdown options when pressing Spacebar in grid cell › double click into column OFF FORM clip number 3
+
+ Test timeout of 10000ms exceeded.
+
+ Error: locator.dblclick: Target closed
+ =========================== logs ===========================
+ waiting for locator('div[data-qa-id=\\\\'OFF FORM-column-3\\\\']')
+ ============================================================
+
+ at ../../../packages/playwright-shared/src/models/locators/base/base.locator.ts:17
+
+ 15 |
+ 16 | async doubleClick() {
+ > 17 | await this.locator.dblclick();
+ | ^
+ 18 | }
+ 19 |
+ 20 | async getText() {
+
+ at TextInputLocator.doubleClick (/Users/connor.vidlock/Documents/GitHub/hudl-frontends/packages/playwright-shared/src/models/locators/base/base.locator.ts:17:24)
+ at /Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/models/actions/grid.actions.ts:48:63
+ at GridActions.doubleClickIntoGridColumn (/Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/models/actions/grid.actions.ts:47:16)
+ at /Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/grid.spec.ts:256:25
+
+ Pending operations:
+ - locator.dblclick at ../../packages/playwright-shared/src/models/locators/base/base.locator.ts:17:24
+
+
+ attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
+ playwright/test-results/tests-grid-Grid-Data-Entry-should-open-select-dropdown-options-when-pressing-Spacebar-in-grid-cell-chrome/test-failed-1.png
+ ────────────────────────────────────────────────────────────────────────────────────────────────
+
+ attachment #2: trace (application/zip) ─────────────────────────────────────────────────────────
+ playwright/test-results/tests-grid-Grid-Data-Entry-should-open-select-dropdown-options-when-pressing-Spacebar-in-grid-cell-chrome/trace.zip
+ Usage:
+
+ npx playwright show-trace playwright/test-results/tests-grid-Grid-Data-Entry-should-open-select-dropdown-options-when-pressing-Spacebar-in-grid-cell-chrome/trace.zip
+
+ ────────────────────────────────────────────────────────────────────────────────────────────────
+
+",
+ "line": undefined,
+ "message": undefined,
+ "path": undefined,
+ },
+ "name": "Grid › Data Entry › should open select dropdown options when pressing Spacebar in grid cell",
+ "result": "failed",
+ "time": 10000,
+ },
+ TestCaseResult {
+ "error": Object {
+ "details": "
+ [chrome] › tests/grid.spec.ts:261:9 › Grid › Data Entry › should be able to use keyboard to navigate horizontal grid and enter data › double click into column OFF FORM clip number 3
+
+ Test timeout of 10000ms exceeded.
+
+ Error: locator.dblclick: Target closed
+ =========================== logs ===========================
+ waiting for locator('div[data-qa-id=\\\\'OFF FORM-column-3\\\\']')
+ ============================================================
+
+ at ../../../packages/playwright-shared/src/models/locators/base/base.locator.ts:17
+
+ 15 |
+ 16 | async doubleClick() {
+ > 17 | await this.locator.dblclick();
+ | ^
+ 18 | }
+ 19 |
+ 20 | async getText() {
+
+ at TextInputLocator.doubleClick (/Users/connor.vidlock/Documents/GitHub/hudl-frontends/packages/playwright-shared/src/models/locators/base/base.locator.ts:17:24)
+ at /Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/models/actions/grid.actions.ts:48:63
+ at GridActions.doubleClickIntoGridColumn (/Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/models/actions/grid.actions.ts:47:16)
+ at /Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/grid.spec.ts:263:25
+
+ Pending operations:
+ - locator.dblclick at ../../packages/playwright-shared/src/models/locators/base/base.locator.ts:17:24
+
+
+ attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
+ playwright/test-results/tests-grid-Grid-Data-Entry-should-be-able-to-use-keyboard-to-navigate-horizontal-grid-and-enter-data-chrome/test-failed-1.png
+ ────────────────────────────────────────────────────────────────────────────────────────────────
+
+ attachment #2: trace (application/zip) ─────────────────────────────────────────────────────────
+ playwright/test-results/tests-grid-Grid-Data-Entry-should-be-able-to-use-keyboard-to-navigate-horizontal-grid-and-enter-data-chrome/trace.zip
+ Usage:
+
+ npx playwright show-trace playwright/test-results/tests-grid-Grid-Data-Entry-should-be-able-to-use-keyboard-to-navigate-horizontal-grid-and-enter-data-chrome/trace.zip
+
+ ────────────────────────────────────────────────────────────────────────────────────────────────
+
+",
+ "line": undefined,
+ "message": undefined,
+ "path": undefined,
+ },
+ "name": "Grid › Data Entry › should be able to use keyboard to navigate horizontal grid and enter data",
+ "result": "failed",
+ "time": 10000,
+ },
+ TestCaseResult {
+ "error": Object {
+ "details": "
+ [chrome] › tests/grid.spec.ts:277:9 › Grid › Data Entry › should be able to use keyboard to navigate vertical grid and enter data › Select BUNCH from column OFF FORM list
+
+ Test timeout of 10000ms exceeded.
+
+ Error: locator.click: Target closed
+ =========================== logs ===========================
+ waiting for locator('[data-qa-id=\\"clip-edit-field-OFF FORM\\"]')
+ ============================================================
+
+ at ../../../packages/playwright-shared/src/models/locators/base/base.locator.ts:13
+
+ 11 |
+ 12 | async click(force: boolean = false) {
+ > 13 | await this.locator.click({ force });
+ | ^
+ 14 | }
+ 15 |
+ 16 | async doubleClick() {
+
+ at SelectLocator.click (/Users/connor.vidlock/Documents/GitHub/hudl-frontends/packages/playwright-shared/src/models/locators/base/base.locator.ts:13:24)
+ at /Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/models/actions/grid.actions.ts:93:58
+ at GridActions.enterGridSelectValue (/Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/models/actions/grid.actions.ts:92:16)
+ at /Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/grid.spec.ts:279:25
+
+ Pending operations:
+ - locator.click at ../../packages/playwright-shared/src/models/locators/base/base.locator.ts:13:24
+
+
+ attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
+ playwright/test-results/tests-grid-Grid-Data-Entry-should-be-able-to-use-keyboard-to-navigate-vertical-grid-and-enter-data-chrome/test-failed-1.png
+ ────────────────────────────────────────────────────────────────────────────────────────────────
+
+ attachment #2: trace (application/zip) ─────────────────────────────────────────────────────────
+ playwright/test-results/tests-grid-Grid-Data-Entry-should-be-able-to-use-keyboard-to-navigate-vertical-grid-and-enter-data-chrome/trace.zip
+ Usage:
+
+ npx playwright show-trace playwright/test-results/tests-grid-Grid-Data-Entry-should-be-able-to-use-keyboard-to-navigate-vertical-grid-and-enter-data-chrome/trace.zip
+
+ ────────────────────────────────────────────────────────────────────────────────────────────────
+
+",
+ "line": undefined,
+ "message": undefined,
+ "path": undefined,
+ },
+ "name": "Grid › Data Entry › should be able to use keyboard to navigate vertical grid and enter data",
+ "result": "failed",
+ "time": 10000,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Grid › Data Entry › should display error state for input with invalid data",
+ "result": "success",
+ "time": 5853,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Grid › Data Entry › confirm auto-fill works correctly",
+ "result": "success",
+ "time": 5021,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Grid › Tagged data › Wrestling › should display correct wrestler names tagged from Assist",
+ "result": "success",
+ "time": 2522,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Grid › Tagged data › Wrestling › should display correct score and points tagged from Assist",
+ "result": "success",
+ "time": 2655,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Grid › Tagged data › Wrestling › should display correct Period tagged from Assist",
+ "result": "success",
+ "time": 2666,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Grid › Tagged data › Wrestling › should display correct Key Moments tagged from Assist",
+ "result": "success",
+ "time": 2908,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Grid › Tagged data › Wrestling › should edit cells using the team roster",
+ "result": "success",
+ "time": 4794,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Grid › Tagged data › Wrestling › should change key moment type and update grid data",
+ "result": "success",
+ "time": 5662,
+ },
+ ],
+ },
+ ],
+ "name": "tests/grid.spec.ts",
+ "totalTime": 115892,
+ },
+ TestSuiteResult {
+ "groups": Array [
+ TestGroupResult {
+ "name": "",
+ "tests": Array [
+ TestCaseResult {
+ "error": undefined,
+ "name": "Grid › Onboarding › Field Visibility › should successfully display field visibility onboarding prompt",
+ "result": "skipped",
+ "time": 0,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Grid › Onboarding › Field Visibility › Grid Hotkey Tooltip › should successfully display grid hotkey onboarding prompt",
+ "result": "skipped",
+ "time": 0,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Grid › Onboarding › Field Visibility › Reorder Field Sets › should successfully display field reorder onboarding prompt",
+ "result": "skipped",
+ "time": 0,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Grid › Onboarding › Field Visibility › Quick Edit › should successfully display quick edit onboarding prompt",
+ "result": "skipped",
+ "time": 0,
+ },
+ ],
+ },
+ ],
+ "name": "tests/onboarding.spec.ts",
+ "totalTime": 0,
+ },
+ TestSuiteResult {
+ "groups": Array [
+ TestGroupResult {
+ "name": "",
+ "tests": Array [
+ TestCaseResult {
+ "error": undefined,
+ "name": "Mock stats engine for speed › Filter by Offense in Phase card",
+ "result": "success",
+ "time": 3542,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Mock stats engine for speed › Filter by defense in phase card",
+ "result": "success",
+ "time": 2471,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Mock stats engine for speed › Key stats card stats appear as expected when opponent is selected",
+ "result": "success",
+ "time": 3207,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - FG percentage for Team in Context",
+ "result": "success",
+ "time": 2932,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - 2FG Makes for Team in Context",
+ "result": "success",
+ "time": 3549,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - 2FG Attempts for Team in Context",
+ "result": "success",
+ "time": 2802,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - 3FG Makes for Team in Context",
+ "result": "success",
+ "time": 2949,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - 3FG Attempts for Team in Context",
+ "result": "success",
+ "time": 2937,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - Off. Rebounds for Team in Context",
+ "result": "success",
+ "time": 3277,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - Def. Rebounds for Team in Context",
+ "result": "success",
+ "time": 2799,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - Assists for Team in Context",
+ "result": "success",
+ "time": 3056,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - Steal for Team in Context",
+ "result": "success",
+ "time": 2850,
+ },
+ ],
+ },
+ ],
+ "name": "tests/statsEngine.spec.ts",
+ "totalTime": 36371,
+ },
+ ],
+ "totalTime": 59092.58599999547,
+}
+`;
+
+exports[`java-junit tests playwright test report - only summary 1`] = `
+TestRunResult {
+ "path": "fixtures/external/java/playwright-report.xml",
+ "suites": Array [
+ TestSuiteResult {
+ "groups": Array [
+ TestGroupResult {
+ "name": "",
+ "tests": Array [
+ TestCaseResult {
+ "error": undefined,
+ "name": "authenticate as classic admin",
+ "result": "success",
+ "time": 1702,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "authenticate as basketball admin",
+ "result": "success",
+ "time": 1734,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "authenticate as wrestling admin",
+ "result": "success",
+ "time": 1697,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "authenticate as onboarding admin 1",
+ "result": "success",
+ "time": 516,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "authenticate as onboarding admin 3",
+ "result": "success",
+ "time": 527,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "authenticate as coachAdmin",
+ "result": "success",
+ "time": 526,
+ },
+ ],
+ },
+ ],
+ "name": "auth.setup.ts",
+ "totalTime": 6702,
+ },
+ TestSuiteResult {
+ "groups": Array [
+ TestGroupResult {
+ "name": "",
+ "tests": Array [
+ TestCaseResult {
+ "error": undefined,
+ "name": "record \\"Time to Video\\" when loading directly via URL › using manual timings",
+ "result": "skipped",
+ "time": 0,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "record \\"Time to Video\\" when loading directly via URL › using Performance API mark",
+ "result": "skipped",
+ "time": 0,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "record \\"Time to Video\\" when loading directly via URL › using Performance API measurement",
+ "result": "skipped",
+ "time": 0,
+ },
+ ],
+ },
+ ],
+ "name": "tests/analyze/load-video.spec.ts",
+ "totalTime": 0,
+ },
+ TestSuiteResult {
+ "groups": Array [
+ TestGroupResult {
+ "name": "",
+ "tests": Array [
+ TestCaseResult {
+ "error": undefined,
+ "name": "during looping playback › when clip repeats, it starts at the beginning",
+ "result": "skipped",
+ "time": 0,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "during sequential playback (\\"Play All Clips\\" mode) › when one clip plays through to the next, overlapping video is skipped",
+ "result": "skipped",
+ "time": 0,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "in 'Play All Clips' mode, clip plays from beginning › when clicked on in navigation module",
+ "result": "skipped",
+ "time": 0,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "in 'Play All Clips' mode, clip plays from beginning › with next clip button",
+ "result": "skipped",
+ "time": 0,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "in 'Play All Clips' mode, clip plays from beginning › with previous clip button",
+ "result": "skipped",
+ "time": 0,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "in 'Loop Clips' mode, clip plays from beginning › when clicked on in navigation module",
+ "result": "skipped",
+ "time": 0,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "in 'Loop Clips' mode, clip plays from beginning › with next clip button",
+ "result": "skipped",
+ "time": 0,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "in 'Loop Clips' mode, clip plays from beginning › with previous clip button",
+ "result": "skipped",
+ "time": 0,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "rewind functions normally",
+ "result": "skipped",
+ "time": 12,
+ },
+ ],
+ },
+ ],
+ "name": "tests/analyze/seamless-video-playback.spec.ts",
+ "totalTime": 12,
+ },
+ TestSuiteResult {
+ "groups": Array [
+ TestGroupResult {
+ "name": "",
+ "tests": Array [
+ TestCaseResult {
+ "error": undefined,
+ "name": "App › logs in and loads page",
+ "result": "skipped",
+ "time": 0,
+ },
+ ],
+ },
+ ],
+ "name": "tests/app.spec.ts",
+ "totalTime": 0,
+ },
+ TestSuiteResult {
+ "groups": Array [
+ TestGroupResult {
+ "name": "",
+ "tests": Array [
+ TestCaseResult {
+ "error": undefined,
+ "name": "Grid › Mobile Web › Athlete › should not be able to edit data",
+ "result": "success",
+ "time": 2968,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Grid › Mobile Web › Admin or Coach › should be able to edit data",
+ "result": "success",
+ "time": 5762,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Grid › Field Sets › should update displayed grid columns after editing",
+ "result": "success",
+ "time": 9215,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Grid › Field Sets › should update displayed clip preview fields after editing",
+ "result": "skipped",
+ "time": 0,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Grid › Basketball Navigation Module › should display correct moment data when filtered by Scout team Points",
+ "result": "success",
+ "time": 3150,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Grid › Basketball Navigation Module › should display correct moment data when filtered by Opponent Rebounds",
+ "result": "success",
+ "time": 5091,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Grid › Basketball Navigation Module › should display correct moment data when filtered by Steals",
+ "result": "success",
+ "time": 4261,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Grid › Basketball Navigation Module › should display correct moment data when filtered by Rebounds",
+ "result": "success",
+ "time": 2860,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Grid › Basketball Navigation Module › should display clips for opportunities in Period when filtered by Period",
+ "result": "success",
+ "time": 3501,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Grid › Basketball Navigation Module › should display clips for opportunities that end in a turnover when filtered by Turnovers",
+ "result": "success",
+ "time": 3721,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Grid › Basketball Navigation Module › should display correct moment data when filtered by 3FG Attempts",
+ "result": "success",
+ "time": 3282,
+ },
+ TestCaseResult {
+ "error": Object {
+ "details": "
+ [chrome] › tests/grid.spec.ts:202:11 › Grid › Column Sorting › AmFb Column Sets › should display correct data when sorting by OFF FORM column › Sort grid by OFF FORM in ascending order
+
+ Test timeout of 10000ms exceeded.
+
+ Error: locator.click: Target closed
+ =========================== logs ===========================
+ waiting for locator('[data-qa-id^=\\"column-header-OFF FORM-\\"]')
+ ============================================================
+
+ at ../../../packages/playwright-shared/src/models/locators/table.locator.ts:12
+
+ 10 | const expectedColumnSort = this.locator.filter({ has: this.page.locator(\`[data-qa-id*='\${sortOrder}']\`) });
+ 11 | do {
+ > 12 | await this.locator.click();
+ | ^
+ 13 | } while (!expectedColumnSort.isVisible());
+ 14 | }
+ 15 | }
+
+ at TableLocator.sortColumnBy (/Users/connor.vidlock/Documents/GitHub/hudl-frontends/packages/playwright-shared/src/models/locators/table.locator.ts:12:26)
+ at /Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/models/actions/grid.actions.ts:30:52
+ at GridActions.sortColumn (/Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/models/actions/grid.actions.ts:28:16)
+ at /Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/grid.spec.ts:205:27
+
+ Pending operations:
+ - locator.click at ../../packages/playwright-shared/src/models/locators/table.locator.ts:12:26
+
+
+ attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
+ playwright/test-results/tests-grid-Grid-Column-Sorting-AmFb-Column-Set-8f487-ay-correct-data-when-sorting-by-OFF-FORM-column-chrome/test-failed-1.png
+ ────────────────────────────────────────────────────────────────────────────────────────────────
+
+ attachment #2: trace (application/zip) ─────────────────────────────────────────────────────────
+ playwright/test-results/tests-grid-Grid-Column-Sorting-AmFb-Column-Set-8f487-ay-correct-data-when-sorting-by-OFF-FORM-column-chrome/trace.zip
+ Usage:
+
+ npx playwright show-trace playwright/test-results/tests-grid-Grid-Column-Sorting-AmFb-Column-Set-8f487-ay-correct-data-when-sorting-by-OFF-FORM-column-chrome/trace.zip
+
+ ────────────────────────────────────────────────────────────────────────────────────────────────
+
+",
+ "line": undefined,
+ "message": undefined,
+ "path": undefined,
+ },
+ "name": "Grid › Column Sorting › AmFb Column Sets › should display correct data when sorting by OFF FORM column",
+ "result": "failed",
+ "time": 10000,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Grid › Column Sorting › Wrestling Column Sets › should display correct data when sorting by Period column",
+ "result": "skipped",
+ "time": 0,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Grid › Quick Editor › should be able to edit data from quick editor as an admin or coach",
+ "result": "skipped",
+ "time": 0,
+ },
+ TestCaseResult {
+ "error": Object {
+ "details": "
+ [chrome] › tests/grid.spec.ts:254:9 › Grid › Data Entry › should open select dropdown options when pressing Spacebar in grid cell › double click into column OFF FORM clip number 3
+
+ Test timeout of 10000ms exceeded.
+
+ Error: locator.dblclick: Target closed
+ =========================== logs ===========================
+ waiting for locator('div[data-qa-id=\\\\'OFF FORM-column-3\\\\']')
+ ============================================================
+
+ at ../../../packages/playwright-shared/src/models/locators/base/base.locator.ts:17
+
+ 15 |
+ 16 | async doubleClick() {
+ > 17 | await this.locator.dblclick();
+ | ^
+ 18 | }
+ 19 |
+ 20 | async getText() {
+
+ at TextInputLocator.doubleClick (/Users/connor.vidlock/Documents/GitHub/hudl-frontends/packages/playwright-shared/src/models/locators/base/base.locator.ts:17:24)
+ at /Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/models/actions/grid.actions.ts:48:63
+ at GridActions.doubleClickIntoGridColumn (/Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/models/actions/grid.actions.ts:47:16)
+ at /Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/grid.spec.ts:256:25
+
+ Pending operations:
+ - locator.dblclick at ../../packages/playwright-shared/src/models/locators/base/base.locator.ts:17:24
+
+
+ attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
+ playwright/test-results/tests-grid-Grid-Data-Entry-should-open-select-dropdown-options-when-pressing-Spacebar-in-grid-cell-chrome/test-failed-1.png
+ ────────────────────────────────────────────────────────────────────────────────────────────────
+
+ attachment #2: trace (application/zip) ─────────────────────────────────────────────────────────
+ playwright/test-results/tests-grid-Grid-Data-Entry-should-open-select-dropdown-options-when-pressing-Spacebar-in-grid-cell-chrome/trace.zip
+ Usage:
+
+ npx playwright show-trace playwright/test-results/tests-grid-Grid-Data-Entry-should-open-select-dropdown-options-when-pressing-Spacebar-in-grid-cell-chrome/trace.zip
+
+ ────────────────────────────────────────────────────────────────────────────────────────────────
+
+",
+ "line": undefined,
+ "message": undefined,
+ "path": undefined,
+ },
+ "name": "Grid › Data Entry › should open select dropdown options when pressing Spacebar in grid cell",
+ "result": "failed",
+ "time": 10000,
+ },
+ TestCaseResult {
+ "error": Object {
+ "details": "
+ [chrome] › tests/grid.spec.ts:261:9 › Grid › Data Entry › should be able to use keyboard to navigate horizontal grid and enter data › double click into column OFF FORM clip number 3
+
+ Test timeout of 10000ms exceeded.
+
+ Error: locator.dblclick: Target closed
+ =========================== logs ===========================
+ waiting for locator('div[data-qa-id=\\\\'OFF FORM-column-3\\\\']')
+ ============================================================
+
+ at ../../../packages/playwright-shared/src/models/locators/base/base.locator.ts:17
+
+ 15 |
+ 16 | async doubleClick() {
+ > 17 | await this.locator.dblclick();
+ | ^
+ 18 | }
+ 19 |
+ 20 | async getText() {
+
+ at TextInputLocator.doubleClick (/Users/connor.vidlock/Documents/GitHub/hudl-frontends/packages/playwright-shared/src/models/locators/base/base.locator.ts:17:24)
+ at /Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/models/actions/grid.actions.ts:48:63
+ at GridActions.doubleClickIntoGridColumn (/Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/models/actions/grid.actions.ts:47:16)
+ at /Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/grid.spec.ts:263:25
+
+ Pending operations:
+ - locator.dblclick at ../../packages/playwright-shared/src/models/locators/base/base.locator.ts:17:24
+
+
+ attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
+ playwright/test-results/tests-grid-Grid-Data-Entry-should-be-able-to-use-keyboard-to-navigate-horizontal-grid-and-enter-data-chrome/test-failed-1.png
+ ────────────────────────────────────────────────────────────────────────────────────────────────
+
+ attachment #2: trace (application/zip) ─────────────────────────────────────────────────────────
+ playwright/test-results/tests-grid-Grid-Data-Entry-should-be-able-to-use-keyboard-to-navigate-horizontal-grid-and-enter-data-chrome/trace.zip
+ Usage:
+
+ npx playwright show-trace playwright/test-results/tests-grid-Grid-Data-Entry-should-be-able-to-use-keyboard-to-navigate-horizontal-grid-and-enter-data-chrome/trace.zip
+
+ ────────────────────────────────────────────────────────────────────────────────────────────────
+
+",
+ "line": undefined,
+ "message": undefined,
+ "path": undefined,
+ },
+ "name": "Grid › Data Entry › should be able to use keyboard to navigate horizontal grid and enter data",
+ "result": "failed",
+ "time": 10000,
+ },
+ TestCaseResult {
+ "error": Object {
+ "details": "
+ [chrome] › tests/grid.spec.ts:277:9 › Grid › Data Entry › should be able to use keyboard to navigate vertical grid and enter data › Select BUNCH from column OFF FORM list
+
+ Test timeout of 10000ms exceeded.
+
+ Error: locator.click: Target closed
+ =========================== logs ===========================
+ waiting for locator('[data-qa-id=\\"clip-edit-field-OFF FORM\\"]')
+ ============================================================
+
+ at ../../../packages/playwright-shared/src/models/locators/base/base.locator.ts:13
+
+ 11 |
+ 12 | async click(force: boolean = false) {
+ > 13 | await this.locator.click({ force });
+ | ^
+ 14 | }
+ 15 |
+ 16 | async doubleClick() {
+
+ at SelectLocator.click (/Users/connor.vidlock/Documents/GitHub/hudl-frontends/packages/playwright-shared/src/models/locators/base/base.locator.ts:13:24)
+ at /Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/models/actions/grid.actions.ts:93:58
+ at GridActions.enterGridSelectValue (/Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/models/actions/grid.actions.ts:92:16)
+ at /Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/grid.spec.ts:279:25
+
+ Pending operations:
+ - locator.click at ../../packages/playwright-shared/src/models/locators/base/base.locator.ts:13:24
+
+
+ attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
+ playwright/test-results/tests-grid-Grid-Data-Entry-should-be-able-to-use-keyboard-to-navigate-vertical-grid-and-enter-data-chrome/test-failed-1.png
+ ────────────────────────────────────────────────────────────────────────────────────────────────
+
+ attachment #2: trace (application/zip) ─────────────────────────────────────────────────────────
+ playwright/test-results/tests-grid-Grid-Data-Entry-should-be-able-to-use-keyboard-to-navigate-vertical-grid-and-enter-data-chrome/trace.zip
+ Usage:
+
+ npx playwright show-trace playwright/test-results/tests-grid-Grid-Data-Entry-should-be-able-to-use-keyboard-to-navigate-vertical-grid-and-enter-data-chrome/trace.zip
+
+ ────────────────────────────────────────────────────────────────────────────────────────────────
+
+",
+ "line": undefined,
+ "message": undefined,
+ "path": undefined,
+ },
+ "name": "Grid › Data Entry › should be able to use keyboard to navigate vertical grid and enter data",
+ "result": "failed",
+ "time": 10000,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Grid › Data Entry › should display error state for input with invalid data",
+ "result": "success",
+ "time": 5853,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Grid › Data Entry › confirm auto-fill works correctly",
+ "result": "success",
+ "time": 5021,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Grid › Tagged data › Wrestling › should display correct wrestler names tagged from Assist",
+ "result": "success",
+ "time": 2522,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Grid › Tagged data › Wrestling › should display correct score and points tagged from Assist",
+ "result": "success",
+ "time": 2655,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Grid › Tagged data › Wrestling › should display correct Period tagged from Assist",
+ "result": "success",
+ "time": 2666,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Grid › Tagged data › Wrestling › should display correct Key Moments tagged from Assist",
+ "result": "success",
+ "time": 2908,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Grid › Tagged data › Wrestling › should edit cells using the team roster",
+ "result": "success",
+ "time": 4794,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Grid › Tagged data › Wrestling › should change key moment type and update grid data",
+ "result": "success",
+ "time": 5662,
+ },
+ ],
+ },
+ ],
+ "name": "tests/grid.spec.ts",
+ "totalTime": 115892,
+ },
+ TestSuiteResult {
+ "groups": Array [
+ TestGroupResult {
+ "name": "",
+ "tests": Array [
+ TestCaseResult {
+ "error": undefined,
+ "name": "Grid › Onboarding › Field Visibility › should successfully display field visibility onboarding prompt",
+ "result": "skipped",
+ "time": 0,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Grid › Onboarding › Field Visibility › Grid Hotkey Tooltip › should successfully display grid hotkey onboarding prompt",
+ "result": "skipped",
+ "time": 0,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Grid › Onboarding › Field Visibility › Reorder Field Sets › should successfully display field reorder onboarding prompt",
+ "result": "skipped",
+ "time": 0,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Grid › Onboarding › Field Visibility › Quick Edit › should successfully display quick edit onboarding prompt",
+ "result": "skipped",
+ "time": 0,
+ },
+ ],
+ },
+ ],
+ "name": "tests/onboarding.spec.ts",
+ "totalTime": 0,
+ },
+ TestSuiteResult {
+ "groups": Array [
+ TestGroupResult {
+ "name": "",
+ "tests": Array [
+ TestCaseResult {
+ "error": undefined,
+ "name": "Mock stats engine for speed › Filter by Offense in Phase card",
+ "result": "success",
+ "time": 3542,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Mock stats engine for speed › Filter by defense in phase card",
+ "result": "success",
+ "time": 2471,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Mock stats engine for speed › Key stats card stats appear as expected when opponent is selected",
+ "result": "success",
+ "time": 3207,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - FG percentage for Team in Context",
+ "result": "success",
+ "time": 2932,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - 2FG Makes for Team in Context",
+ "result": "success",
+ "time": 3549,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - 2FG Attempts for Team in Context",
+ "result": "success",
+ "time": 2802,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - 3FG Makes for Team in Context",
+ "result": "success",
+ "time": 2949,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - 3FG Attempts for Team in Context",
+ "result": "success",
+ "time": 2937,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - Off. Rebounds for Team in Context",
+ "result": "success",
+ "time": 3277,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - Def. Rebounds for Team in Context",
+ "result": "success",
+ "time": 2799,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - Assists for Team in Context",
+ "result": "success",
+ "time": 3056,
+ },
+ TestCaseResult {
+ "error": undefined,
+ "name": "Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - Steal for Team in Context",
+ "result": "success",
+ "time": 2850,
+ },
+ ],
+ },
+ ],
+ "name": "tests/statsEngine.spec.ts",
+ "totalTime": 36371,
+ },
+ ],
+ "totalTime": 59092.58599999547,
+}
+`;
+
exports[`java-junit tests report from apache/pulsar single suite test results matches snapshot 1`] = `
TestRunResult {
"path": "fixtures/external/java/TEST-org.apache.pulsar.AddMissingPatchVersionTest.xml",
diff --git a/__tests__/fixtures/external/java/playwright-report.xml b/__tests__/fixtures/external/java/playwright-report.xml
new file mode 100644
index 0000000..5ade47c
--- /dev/null
+++ b/__tests__/fixtures/external/java/playwright-report.xml
@@ -0,0 +1,472 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 12 | await this.locator.click();
+ | ^
+ 13 | } while (!expectedColumnSort.isVisible());
+ 14 | }
+ 15 | }
+
+ at TableLocator.sortColumnBy (/Users/connor.vidlock/Documents/GitHub/hudl-frontends/packages/playwright-shared/src/models/locators/table.locator.ts:12:26)
+ at /Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/models/actions/grid.actions.ts:30:52
+ at GridActions.sortColumn (/Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/models/actions/grid.actions.ts:28:16)
+ at /Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/grid.spec.ts:205:27
+
+ Pending operations:
+ - locator.click at ../../packages/playwright-shared/src/models/locators/table.locator.ts:12:26
+
+
+ attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
+ playwright/test-results/tests-grid-Grid-Column-Sorting-AmFb-Column-Set-8f487-ay-correct-data-when-sorting-by-OFF-FORM-column-chrome/test-failed-1.png
+ ────────────────────────────────────────────────────────────────────────────────────────────────
+
+ attachment #2: trace (application/zip) ─────────────────────────────────────────────────────────
+ playwright/test-results/tests-grid-Grid-Column-Sorting-AmFb-Column-Set-8f487-ay-correct-data-when-sorting-by-OFF-FORM-column-chrome/trace.zip
+ Usage:
+
+ npx playwright show-trace playwright/test-results/tests-grid-Grid-Column-Sorting-AmFb-Column-Set-8f487-ay-correct-data-when-sorting-by-OFF-FORM-column-chrome/trace.zip
+
+ ────────────────────────────────────────────────────────────────────────────────────────────────
+]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 17 | await this.locator.dblclick();
+ | ^
+ 18 | }
+ 19 |
+ 20 | async getText() {
+
+ at TextInputLocator.doubleClick (/Users/connor.vidlock/Documents/GitHub/hudl-frontends/packages/playwright-shared/src/models/locators/base/base.locator.ts:17:24)
+ at /Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/models/actions/grid.actions.ts:48:63
+ at GridActions.doubleClickIntoGridColumn (/Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/models/actions/grid.actions.ts:47:16)
+ at /Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/grid.spec.ts:256:25
+
+ Pending operations:
+ - locator.dblclick at ../../packages/playwright-shared/src/models/locators/base/base.locator.ts:17:24
+
+
+ attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
+ playwright/test-results/tests-grid-Grid-Data-Entry-should-open-select-dropdown-options-when-pressing-Spacebar-in-grid-cell-chrome/test-failed-1.png
+ ────────────────────────────────────────────────────────────────────────────────────────────────
+
+ attachment #2: trace (application/zip) ─────────────────────────────────────────────────────────
+ playwright/test-results/tests-grid-Grid-Data-Entry-should-open-select-dropdown-options-when-pressing-Spacebar-in-grid-cell-chrome/trace.zip
+ Usage:
+
+ npx playwright show-trace playwright/test-results/tests-grid-Grid-Data-Entry-should-open-select-dropdown-options-when-pressing-Spacebar-in-grid-cell-chrome/trace.zip
+
+ ────────────────────────────────────────────────────────────────────────────────────────────────
+]]>
+
+
+
+
+
+
+
+ 17 | await this.locator.dblclick();
+ | ^
+ 18 | }
+ 19 |
+ 20 | async getText() {
+
+ at TextInputLocator.doubleClick (/Users/connor.vidlock/Documents/GitHub/hudl-frontends/packages/playwright-shared/src/models/locators/base/base.locator.ts:17:24)
+ at /Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/models/actions/grid.actions.ts:48:63
+ at GridActions.doubleClickIntoGridColumn (/Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/models/actions/grid.actions.ts:47:16)
+ at /Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/grid.spec.ts:263:25
+
+ Pending operations:
+ - locator.dblclick at ../../packages/playwright-shared/src/models/locators/base/base.locator.ts:17:24
+
+
+ attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
+ playwright/test-results/tests-grid-Grid-Data-Entry-should-be-able-to-use-keyboard-to-navigate-horizontal-grid-and-enter-data-chrome/test-failed-1.png
+ ────────────────────────────────────────────────────────────────────────────────────────────────
+
+ attachment #2: trace (application/zip) ─────────────────────────────────────────────────────────
+ playwright/test-results/tests-grid-Grid-Data-Entry-should-be-able-to-use-keyboard-to-navigate-horizontal-grid-and-enter-data-chrome/trace.zip
+ Usage:
+
+ npx playwright show-trace playwright/test-results/tests-grid-Grid-Data-Entry-should-be-able-to-use-keyboard-to-navigate-horizontal-grid-and-enter-data-chrome/trace.zip
+
+ ────────────────────────────────────────────────────────────────────────────────────────────────
+]]>
+
+
+
+
+
+
+
+ 13 | await this.locator.click({ force });
+ | ^
+ 14 | }
+ 15 |
+ 16 | async doubleClick() {
+
+ at SelectLocator.click (/Users/connor.vidlock/Documents/GitHub/hudl-frontends/packages/playwright-shared/src/models/locators/base/base.locator.ts:13:24)
+ at /Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/models/actions/grid.actions.ts:93:58
+ at GridActions.enterGridSelectValue (/Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/models/actions/grid.actions.ts:92:16)
+ at /Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/grid.spec.ts:279:25
+
+ Pending operations:
+ - locator.click at ../../packages/playwright-shared/src/models/locators/base/base.locator.ts:13:24
+
+
+ attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
+ playwright/test-results/tests-grid-Grid-Data-Entry-should-be-able-to-use-keyboard-to-navigate-vertical-grid-and-enter-data-chrome/test-failed-1.png
+ ────────────────────────────────────────────────────────────────────────────────────────────────
+
+ attachment #2: trace (application/zip) ─────────────────────────────────────────────────────────
+ playwright/test-results/tests-grid-Grid-Data-Entry-should-be-able-to-use-keyboard-to-navigate-vertical-grid-and-enter-data-chrome/trace.zip
+ Usage:
+
+ npx playwright show-trace playwright/test-results/tests-grid-Grid-Data-Entry-should-be-able-to-use-keyboard-to-navigate-vertical-grid-and-enter-data-chrome/trace.zip
+
+ ────────────────────────────────────────────────────────────────────────────────────────────────
+]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/__tests__/java-junit.test.ts b/__tests__/java-junit.test.ts
index e8111d4..c0d6011 100644
--- a/__tests__/java-junit.test.ts
+++ b/__tests__/java-junit.test.ts
@@ -3,7 +3,7 @@ import * as path from 'path'
import {JavaJunitParser} from '../src/parsers/java-junit/java-junit-parser'
import {ParseOptions} from '../src/test-parser'
-import {getReport} from '../src/report/get-report'
+import {ReportOptions, getReport} from '../src/report/get-report'
import {normalizeFilePath} from '../src/utils/path-utils'
describe('java-junit tests', () => {
@@ -90,4 +90,117 @@ describe('java-junit tests', () => {
expect(result.result === 'failed')
expect(result.failed === 1)
})
+
+ it('playwright test report - all tests', async () => {
+ const fixturePath = path.join(__dirname, 'fixtures', 'external', 'java', 'playwright-report.xml')
+ const trackedFilesPath = path.join(__dirname, 'fixtures', 'external', 'java', 'files.txt')
+ const outputPath = path.join(__dirname, '__outputs__', 'playwright-output-all.md')
+ const filePath = normalizeFilePath(path.relative(__dirname, fixturePath))
+ const fileContent = fs.readFileSync(fixturePath, {encoding: 'utf8'})
+
+ const trackedFiles = fs.readFileSync(trackedFilesPath, {encoding: 'utf8'}).split(/\n\r?/g)
+ const opts: ParseOptions = {
+ parseErrors: true,
+ trackedFiles
+ }
+
+ const reportOpts: ReportOptions = {
+ listSuites: 'all',
+ listTests: 'all',
+ baseUrl: '',
+ onlySummary: false
+ }
+
+ const parser = new JavaJunitParser(opts)
+ const result = await parser.parse(filePath, fileContent)
+ expect(result).toMatchSnapshot()
+
+ const report = getReport([result], reportOpts)
+ fs.mkdirSync(path.dirname(outputPath), {recursive: true})
+ fs.writeFileSync(outputPath, report)
+ })
+ it('playwright test report - ignore skipped tests', async () => {
+ const fixturePath = path.join(__dirname, 'fixtures', 'external', 'java', 'playwright-report.xml')
+ const trackedFilesPath = path.join(__dirname, 'fixtures', 'external', 'java', 'files.txt')
+ const outputPath = path.join(__dirname, '__outputs__', 'playwright-output-no-skipped.md')
+ const filePath = normalizeFilePath(path.relative(__dirname, fixturePath))
+ const fileContent = fs.readFileSync(fixturePath, {encoding: 'utf8'})
+
+ const trackedFiles = fs.readFileSync(trackedFilesPath, {encoding: 'utf8'}).split(/\n\r?/g)
+ const opts: ParseOptions = {
+ parseErrors: true,
+ trackedFiles
+ }
+
+ const reportOpts: ReportOptions = {
+ listSuites: 'all',
+ listTests: 'non-skipped',
+ baseUrl: '',
+ onlySummary: false
+ }
+
+ const parser = new JavaJunitParser(opts)
+ const result = await parser.parse(filePath, fileContent)
+ expect(result).toMatchSnapshot()
+
+ const report = getReport([result], reportOpts)
+ fs.mkdirSync(path.dirname(outputPath), {recursive: true})
+ fs.writeFileSync(outputPath, report)
+ })
+ it('playwright test report - only failed', async () => {
+ const fixturePath = path.join(__dirname, 'fixtures', 'external', 'java', 'playwright-report.xml')
+ const trackedFilesPath = path.join(__dirname, 'fixtures', 'external', 'java', 'files.txt')
+ const outputPath = path.join(__dirname, '__outputs__', 'playwright-output-failed.md')
+ const filePath = normalizeFilePath(path.relative(__dirname, fixturePath))
+ const fileContent = fs.readFileSync(fixturePath, {encoding: 'utf8'})
+
+ const trackedFiles = fs.readFileSync(trackedFilesPath, {encoding: 'utf8'}).split(/\n\r?/g)
+ const opts: ParseOptions = {
+ parseErrors: true,
+ trackedFiles
+ }
+
+ const reportOpts: ReportOptions = {
+ listSuites: 'failed',
+ listTests: 'failed',
+ baseUrl: '',
+ onlySummary: false
+ }
+
+ const parser = new JavaJunitParser(opts)
+ const result = await parser.parse(filePath, fileContent)
+ expect(result).toMatchSnapshot()
+
+ const report = getReport([result], reportOpts)
+ fs.mkdirSync(path.dirname(outputPath), {recursive: true})
+ fs.writeFileSync(outputPath, report)
+ })
+ it('playwright test report - only summary', async () => {
+ const fixturePath = path.join(__dirname, 'fixtures', 'external', 'java', 'playwright-report.xml')
+ const trackedFilesPath = path.join(__dirname, 'fixtures', 'external', 'java', 'files.txt')
+ const outputPath = path.join(__dirname, '__outputs__', 'playwright-output-summary.md')
+ const filePath = normalizeFilePath(path.relative(__dirname, fixturePath))
+ const fileContent = fs.readFileSync(fixturePath, {encoding: 'utf8'})
+
+ const trackedFiles = fs.readFileSync(trackedFilesPath, {encoding: 'utf8'}).split(/\n\r?/g)
+ const opts: ParseOptions = {
+ parseErrors: true,
+ trackedFiles
+ }
+
+ const reportOpts: ReportOptions = {
+ listSuites: 'all',
+ listTests: 'all',
+ baseUrl: '',
+ onlySummary: true
+ }
+
+ const parser = new JavaJunitParser(opts)
+ const result = await parser.parse(filePath, fileContent)
+ expect(result).toMatchSnapshot()
+
+ const report = getReport([result], reportOpts)
+ fs.mkdirSync(path.dirname(outputPath), {recursive: true})
+ fs.writeFileSync(outputPath, report)
+ })
})
diff --git a/dist/index.js b/dist/index.js
index aac5b52..3bad222 100644
--- a/dist/index.js
+++ b/dist/index.js
@@ -314,10 +314,13 @@ class TestReporter {
});
this.octokit = github.getOctokit(this.token);
if (this.listSuites !== 'all' && this.listSuites !== 'failed') {
- core.setFailed(`Input parameter 'list-suites' has invalid value`);
+ core.setFailed(`Input parameter 'list-suites' has invalid value of ${this.listSuites}`);
return;
}
- if (this.listTests !== 'all' && this.listTests !== 'failed' && this.listTests !== 'none') {
+ if (this.listTests !== 'all' &&
+ this.listTests !== 'failed' &&
+ this.listTests !== 'none' &&
+ this.listTests !== 'non-skipped') {
core.setFailed(`Input parameter 'list-tests' has invalid value`);
return;
}
@@ -1723,6 +1726,9 @@ function getTestsReport(ts, runIndex, suiteIndex, options) {
}
const space = grp.name ? ' ' : '';
for (const tc of grp.tests) {
+ if (options.listTests === 'non-skipped' && tc.result === 'skipped') {
+ continue;
+ }
const result = getResultIcon(tc.result);
sections.push(`${space}${result} ${tc.name}`);
if (tc.error) {
diff --git a/playwright-report.xml b/playwright-report.xml
new file mode 100644
index 0000000..5ade47c
--- /dev/null
+++ b/playwright-report.xml
@@ -0,0 +1,472 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 12 | await this.locator.click();
+ | ^
+ 13 | } while (!expectedColumnSort.isVisible());
+ 14 | }
+ 15 | }
+
+ at TableLocator.sortColumnBy (/Users/connor.vidlock/Documents/GitHub/hudl-frontends/packages/playwright-shared/src/models/locators/table.locator.ts:12:26)
+ at /Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/models/actions/grid.actions.ts:30:52
+ at GridActions.sortColumn (/Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/models/actions/grid.actions.ts:28:16)
+ at /Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/grid.spec.ts:205:27
+
+ Pending operations:
+ - locator.click at ../../packages/playwright-shared/src/models/locators/table.locator.ts:12:26
+
+
+ attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
+ playwright/test-results/tests-grid-Grid-Column-Sorting-AmFb-Column-Set-8f487-ay-correct-data-when-sorting-by-OFF-FORM-column-chrome/test-failed-1.png
+ ────────────────────────────────────────────────────────────────────────────────────────────────
+
+ attachment #2: trace (application/zip) ─────────────────────────────────────────────────────────
+ playwright/test-results/tests-grid-Grid-Column-Sorting-AmFb-Column-Set-8f487-ay-correct-data-when-sorting-by-OFF-FORM-column-chrome/trace.zip
+ Usage:
+
+ npx playwright show-trace playwright/test-results/tests-grid-Grid-Column-Sorting-AmFb-Column-Set-8f487-ay-correct-data-when-sorting-by-OFF-FORM-column-chrome/trace.zip
+
+ ────────────────────────────────────────────────────────────────────────────────────────────────
+]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 17 | await this.locator.dblclick();
+ | ^
+ 18 | }
+ 19 |
+ 20 | async getText() {
+
+ at TextInputLocator.doubleClick (/Users/connor.vidlock/Documents/GitHub/hudl-frontends/packages/playwright-shared/src/models/locators/base/base.locator.ts:17:24)
+ at /Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/models/actions/grid.actions.ts:48:63
+ at GridActions.doubleClickIntoGridColumn (/Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/models/actions/grid.actions.ts:47:16)
+ at /Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/grid.spec.ts:256:25
+
+ Pending operations:
+ - locator.dblclick at ../../packages/playwright-shared/src/models/locators/base/base.locator.ts:17:24
+
+
+ attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
+ playwright/test-results/tests-grid-Grid-Data-Entry-should-open-select-dropdown-options-when-pressing-Spacebar-in-grid-cell-chrome/test-failed-1.png
+ ────────────────────────────────────────────────────────────────────────────────────────────────
+
+ attachment #2: trace (application/zip) ─────────────────────────────────────────────────────────
+ playwright/test-results/tests-grid-Grid-Data-Entry-should-open-select-dropdown-options-when-pressing-Spacebar-in-grid-cell-chrome/trace.zip
+ Usage:
+
+ npx playwright show-trace playwright/test-results/tests-grid-Grid-Data-Entry-should-open-select-dropdown-options-when-pressing-Spacebar-in-grid-cell-chrome/trace.zip
+
+ ────────────────────────────────────────────────────────────────────────────────────────────────
+]]>
+
+
+
+
+
+
+
+ 17 | await this.locator.dblclick();
+ | ^
+ 18 | }
+ 19 |
+ 20 | async getText() {
+
+ at TextInputLocator.doubleClick (/Users/connor.vidlock/Documents/GitHub/hudl-frontends/packages/playwright-shared/src/models/locators/base/base.locator.ts:17:24)
+ at /Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/models/actions/grid.actions.ts:48:63
+ at GridActions.doubleClickIntoGridColumn (/Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/models/actions/grid.actions.ts:47:16)
+ at /Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/grid.spec.ts:263:25
+
+ Pending operations:
+ - locator.dblclick at ../../packages/playwright-shared/src/models/locators/base/base.locator.ts:17:24
+
+
+ attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
+ playwright/test-results/tests-grid-Grid-Data-Entry-should-be-able-to-use-keyboard-to-navigate-horizontal-grid-and-enter-data-chrome/test-failed-1.png
+ ────────────────────────────────────────────────────────────────────────────────────────────────
+
+ attachment #2: trace (application/zip) ─────────────────────────────────────────────────────────
+ playwright/test-results/tests-grid-Grid-Data-Entry-should-be-able-to-use-keyboard-to-navigate-horizontal-grid-and-enter-data-chrome/trace.zip
+ Usage:
+
+ npx playwright show-trace playwright/test-results/tests-grid-Grid-Data-Entry-should-be-able-to-use-keyboard-to-navigate-horizontal-grid-and-enter-data-chrome/trace.zip
+
+ ────────────────────────────────────────────────────────────────────────────────────────────────
+]]>
+
+
+
+
+
+
+
+ 13 | await this.locator.click({ force });
+ | ^
+ 14 | }
+ 15 |
+ 16 | async doubleClick() {
+
+ at SelectLocator.click (/Users/connor.vidlock/Documents/GitHub/hudl-frontends/packages/playwright-shared/src/models/locators/base/base.locator.ts:13:24)
+ at /Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/models/actions/grid.actions.ts:93:58
+ at GridActions.enterGridSelectValue (/Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/models/actions/grid.actions.ts:92:16)
+ at /Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/grid.spec.ts:279:25
+
+ Pending operations:
+ - locator.click at ../../packages/playwright-shared/src/models/locators/base/base.locator.ts:13:24
+
+
+ attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
+ playwright/test-results/tests-grid-Grid-Data-Entry-should-be-able-to-use-keyboard-to-navigate-vertical-grid-and-enter-data-chrome/test-failed-1.png
+ ────────────────────────────────────────────────────────────────────────────────────────────────
+
+ attachment #2: trace (application/zip) ─────────────────────────────────────────────────────────
+ playwright/test-results/tests-grid-Grid-Data-Entry-should-be-able-to-use-keyboard-to-navigate-vertical-grid-and-enter-data-chrome/trace.zip
+ Usage:
+
+ npx playwright show-trace playwright/test-results/tests-grid-Grid-Data-Entry-should-be-able-to-use-keyboard-to-navigate-vertical-grid-and-enter-data-chrome/trace.zip
+
+ ────────────────────────────────────────────────────────────────────────────────────────────────
+]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/main.ts b/src/main.ts
index c6d579b..c09003c 100644
--- a/src/main.ts
+++ b/src/main.ts
@@ -40,7 +40,7 @@ class TestReporter {
readonly pathReplaceBackslashes = core.getInput('path-replace-backslashes', {required: false}) === 'true'
readonly reporter = core.getInput('reporter', {required: true})
readonly listSuites = core.getInput('list-suites', {required: true}) as 'all' | 'failed'
- readonly listTests = core.getInput('list-tests', {required: true}) as 'all' | 'failed' | 'none'
+ readonly listTests = core.getInput('list-tests', {required: true}) as 'all' | 'failed' | 'none' | 'non-skipped'
readonly maxAnnotations = parseInt(core.getInput('max-annotations', {required: true}))
readonly failOnError = core.getInput('fail-on-error', {required: true}) === 'true'
readonly workDirInput = core.getInput('working-directory', {required: false})
@@ -54,11 +54,16 @@ class TestReporter {
this.octokit = github.getOctokit(this.token)
if (this.listSuites !== 'all' && this.listSuites !== 'failed') {
- core.setFailed(`Input parameter 'list-suites' has invalid value`)
+ core.setFailed(`Input parameter 'list-suites' has invalid value of ${this.listSuites}`)
return
}
- if (this.listTests !== 'all' && this.listTests !== 'failed' && this.listTests !== 'none') {
+ if (
+ this.listTests !== 'all' &&
+ this.listTests !== 'failed' &&
+ this.listTests !== 'none' &&
+ this.listTests !== 'non-skipped'
+ ) {
core.setFailed(`Input parameter 'list-tests' has invalid value`)
return
}
diff --git a/src/report/get-report.ts b/src/report/get-report.ts
index 2cc1f16..0d82b1a 100644
--- a/src/report/get-report.ts
+++ b/src/report/get-report.ts
@@ -9,7 +9,7 @@ const MAX_REPORT_LENGTH = 65535
export interface ReportOptions {
listSuites: 'all' | 'failed'
- listTests: 'all' | 'failed' | 'none'
+ listTests: 'all' | 'failed' | 'none' | 'non-skipped'
baseUrl: string
onlySummary: boolean
}
@@ -212,6 +212,7 @@ function getTestsReport(ts: TestSuiteResult, runIndex: number, suiteIndex: numbe
if (options.listTests === 'failed' && ts.result !== 'failed') {
return []
}
+
const groups = ts.groups
if (groups.length === 0) {
return []
@@ -232,6 +233,9 @@ function getTestsReport(ts: TestSuiteResult, runIndex: number, suiteIndex: numbe
}
const space = grp.name ? ' ' : ''
for (const tc of grp.tests) {
+ if (options.listTests === 'non-skipped' && tc.result === 'skipped') {
+ continue
+ }
const result = getResultIcon(tc.result)
sections.push(`${space}${result} ${tc.name}`)
if (tc.error) {