Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Flaky E2E-Tests fixen #1236

Open
3 tasks
RandomTannenbaum opened this issue Dec 6, 2024 · 1 comment
Open
3 tasks

Flaky E2E-Tests fixen #1236

RandomTannenbaum opened this issue Dec 6, 2024 · 1 comment
Labels
bug Something isn't working

Comments

@RandomTannenbaum
Copy link
Collaborator

RandomTannenbaum commented Dec 6, 2024

Einige E2E-Tests sind flaky, was dazu führt das man die Pipeline babysitten muss. Sie schlagen in der Pipeline fehl, sind dann aber bei erneutem Ausführen OK.

duplicate-objective.cy.ts

Der Test Should not duplicate objective when cancel button is clicked recht regelmässig zu failen.

CypressError: Timed out retrying after 4050ms: `cy.click()` failed because the center of this element is hidden from view:

`<button _ngcontent-ng-c1750590055="" mat-menu-item="" class="mat-mdc-menu-item mat-mdc-focus-indicator objective-menu-option ng-tns-c1923052698-14 ng-star-inserted" data-testid="objective-menu" role="menuitem" tabindex="0" aria-disabled="false" style="">...</button>`

Ein Beispiel kann man hier finden.

tab.cy.ts

Der E2E Test namens Should tab keyresult detail view der sich im file tab.cy.ts befindet scheint flaky zu sein. Es ist schon mehrmals vorgekommen, dass er auf der Pipeline plötzlich failed. Das soll behoben werden.

Eine erste Vermutung die ich habe ist, dass wir irgendwo vielleicht einen unsafe call haben, also zum Beispiel ein .find() an ein .scrollIntoView() chainen. Vielleicht müssen wir auch die Strategie ändern, die wir brauchen, um zu wissen ob das sidepanel offen ist.

teammanagement.cy.ts

Sehr selten schlägt der Test should preserve team filter fehl, das Fixen dieses Tests halt also kleinere Prio.

AssertionError: Timed out retrying after 4000ms: Expected to find content: 'LoremIpsum' within the selector: 'h1:visible' but never did.
      at FilterHelper.optionShouldBeSelected (webpack://frontend/./cypress/support/helper/dom-helper/filterHelper.ts:6:0)
      at checkTeamsSelected (webpack://frontend/./cypress/e2e/teammanagement.cy.ts:28:24)
      at Context.eval (webpack://frontend/./cypress/e2e/teammanagement.cy.ts:20:0)

Ein Beispiel kann man hier finden.

overview.cy.ts

Ebenfalls eher selten schlägt der Check order of teams-Test fehlt. Hat also ebenfalls eine niedrigere Prio.

AssertionError: Timed out retrying after 4000ms: Expected to find element: `.team-title:contains("we are cube.³")`, but never found it.
      at Context.eval (webpack://frontend/./cypress/e2e/overview.cy.ts:13:0)

Ein Beispiel kan man hier finden.

Anforderungen

  • Die E2E-Tests funktionieren wieder zuverlässig(er)

Akzeptanzkriterien

  • Die Tests läuft sowohl lokal als auch auf der pipeline nicht mehr flaky.
  • Die Tests läuft sowohl headless als auch nicht ohne flaky zu sein.
  • Die Tests wurde nach dem Fix >20 Mal hintereinander in der Pipeline ausgeführt, ohne das sie ein einziges Mal fehlgeschlagen sind
@MasterEvarior MasterEvarior changed the title "Should tab keyresult detail view" ist flaky Flaky E2E-Tests fixen Dec 18, 2024
@MasterEvarior MasterEvarior added the bug Something isn't working label Dec 18, 2024
@MasterEvarior
Copy link
Collaborator

@RandomTannenbaum Es hat noch mehr flaky E2E-Tests, hab darum das Ticket entsprechend ergänzt.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants