Selaintestit jumittavat ja ovat hyvin epästabiilit GitLab CI:ssa

Olen tutkinut tätä jo viime viikosta lähtien, mutta laitan nyt kortin ja merkkaan itselleni hoidettavaksi.

Yleistä tietoa:

!386 (merged):n mergen jälkeen olen huomannut, että selaintestit alkoivat epäonnistua satunnaisiin kohtiin CIssä. Virheitä on erilaisia, yleisiä ovat

  • sqlalchemy.exc.ResourceClosedError: This result object does not return rows. It has been closed automatically.
  • selenium.common.exceptions.ElementNotInteractableException: Message: element not interactable:
  • sqlalchemy.exc.IntegrityError: (psycopg2.errors.UniqueViolation) duplicate key value violates unique constraint "plugintype_type_key" tests_1

Lokaalisti testit kuitenkin menevät läpi ilman ongelmia.

Mitä on kokeiltu korjaukseksi:

  • Seleniumin ja Chromen päivittämien
    • Auttoivat ilmeisesti alkuun, mutta nyt taas virheitä alkoi tulla lisää
  • Poistettu mahdollinen race-tilanne plugintype-taulusta
  • Laitettu --no-sandbox ja --disable-dev-shm-usage tämän SO-vinkin avulla
    • Ilmeisesti ei auttanut
  • CI-ajojen toistaminen 2 kertaa ennen jobin lopettamista (yritys mallia "jospa se edes toimisi")
  • Kuvakaappausten tekeminen jokaisen testin jälkeen debuggausta varten
  • find_element_avoid_staleness:n parantaminen vähemmän epästabiiliksi
  • Seleniumin ja Chromiumin päivittäminen vielä kerran (on ehtinyt tulla muutava versio)

Mitä kokeilen seuraavaksi:

  • SQL:n lokitus CI:hin
  • Ajoituksen muokkaaminen
Edited by Denis Zhidkikh