diff --git a/web/libs/editor/tests/e2e/tests/audio/audio-regions.test.js b/web/libs/editor/tests/e2e/tests/audio/audio-regions.test.js index a67cf1b4f3bf..54583134ca61 100644 --- a/web/libs/editor/tests/e2e/tests/audio/audio-regions.test.js +++ b/web/libs/editor/tests/e2e/tests/audio/audio-regions.test.js @@ -105,7 +105,9 @@ FFlagMatrix(["fflag_feat_front_lsdv_e_278_contextual_scrolling_short"], (flags) AtOutliner.seeSelectedRegion(); AtAudioView.clickAt(220); AtOutliner.dontSeeSelectedRegion(); - }); + }) + .tag("@flakey") + .retry(3); // Don't need to test this for both scenarios of flags, as it is the same code and is verified in the above test if (!flags.fflag_feat_front_lsdv_e_278_contextual_scrolling_short) { @@ -151,7 +153,9 @@ FFlagMatrix(["fflag_feat_front_lsdv_e_278_contextual_scrolling_short"], (flags) AtOutliner.dontSeeSelectedRegion(); }, - ); + ) + .tag("@flakey") + .retry(3); FFlagScenario("Can select a region below a hidden region", async ({ I, LabelStudio, AtAudioView, AtOutliner }) => { LabelStudio.setFeatureFlags({ @@ -189,7 +193,9 @@ FFlagMatrix(["fflag_feat_front_lsdv_e_278_contextual_scrolling_short"], (flags) // click on the region below the hidden one to select it AtAudioView.clickAt(51); AtOutliner.seeSelectedRegion("Speech"); - }); + }) + .tag("@flakey") + .retry(3); FFlagScenario( "Selecting a region brings it to the front of the stack", diff --git a/web/libs/editor/tests/e2e/tests/regression-tests/video-timeline-seek-indicator.test.js b/web/libs/editor/tests/e2e/tests/regression-tests/video-timeline-seek-indicator.test.js index 1575d4d9eef3..489783ee53b0 100644 --- a/web/libs/editor/tests/e2e/tests/regression-tests/video-timeline-seek-indicator.test.js +++ b/web/libs/editor/tests/e2e/tests/regression-tests/video-timeline-seek-indicator.test.js @@ -162,4 +162,6 @@ Scenario("Seek view should be in sync with indicator position", async ({ I, Labe I.say("Seeker should now have moved to the left"); assert.ok(indicatorBbox.x < indicatorPosX, "Seeker should have moved to the left from this one step movement"); } -}); +}) + .tag("@flakey") + .retry(3); diff --git a/web/libs/editor/tests/e2e/tests/sync/multiple-audio.test.js b/web/libs/editor/tests/e2e/tests/sync/multiple-audio.test.js index 03bf235eb119..8a2e46922356 100644 --- a/web/libs/editor/tests/e2e/tests/sync/multiple-audio.test.js +++ b/web/libs/editor/tests/e2e/tests/sync/multiple-audio.test.js @@ -64,7 +64,9 @@ Scenario("Play/pause of multiple synced audio stay in sync", async ({ I, LabelSt assert.notEqual(audioTime1, 0); assert.notEqual(audioTime2, 0); } -}); +}) + .tag("@flakey") + .retry(3); /** * @TODO: Fix `The play() request was interrupted by a call to pause()` diff --git a/web/package.json b/web/package.json index 082dd0328400..d089328edc12 100644 --- a/web/package.json +++ b/web/package.json @@ -18,6 +18,7 @@ "lsf:e2e:slow": "DEFAULT_CPU_THROTTLING=100 yarn lsf:e2e", "lsf:e2e:parallel": "cd libs/editor/tests/e2e && yarn test:parallel", "lsf:e2e:ci": "cd libs/editor/tests/e2e && yarn test:ci", + "lsf:e2e:flakey": "cd libs/editor/tests/e2e && yarn test:ci --grep \"@flakey\"", "lsf:integration": "nx run editor:integration", "lsf:integration:slow": "DEFAULT_CPU_THROTTLING=4 DEFAULT_NETWORK_THROTTLING=4g nx run editor:integration", "lsf:integration:watch": "nx run editor:integration --watch",