Mechanizm, który podczas nagrywania testu rejestruje wszystkie niezbędne informacje i stara się zachowywać dokładnie jak człowiek przy odtwarzaniu testów.

Samo pojęcie “flaky tests” odnosi się do testów, które raz “przechodzą”, a innym razem zgłaszają błąd. Często stanowią problem w projektach ponieważ nie wnoszą do raportów nic prócz zamieszania.

To co już w tej chwili robimy żeby im przeciwdziałać to mechanizm, który podczas nagrywania testu rejestruje wszystkie niezbędne informacje i stara się zachowywać dokładnie jak człowiek przy odtwarzaniu testów, tzn. przed interakcją z elementem (kliknięcie np. przycisku “Wyślij”) automatycznie sprawdzamy czy element jest:

  • Widoczny (nie przykrywa go inny element, nie znajduje się poza obszarem widocznym w przeglądarce)
  • Aktywny (nie ma atrybutu HTML “disabled”)
  • Nie przemieszcza się (najczęściej przez animację)
  • Ma focus (czyli np. Aktywny kursor w polach do wpisywania tekstu)