Toolverse
Wszystkie skille

axiom-ui-testing

autor: CharlesWiltgen

Testy UI bez flakiness – czekaj na warunki, nie na timeout'y

Instalacja

Wybierz klienta i sklonuj repozytorium do odpowiedniego katalogu skilli.

Instalacja

Szybkie info

Kategoria
Testowanie
Wyświetlenia
1

O skillu

Umiejętność do pisania stabilnych testów interfejsu użytkownika w XCTest. Eliminujesz race conditions i niestabilne testy poprzez czekanie na rzeczywiste warunki zamiast arbitralnych opóźnień. Obsługuje nagrywanie interakcji (WWDC 2025), warunkowe czekanie, symulację sieci, testy wieloczynnikowe i debugowanie awarii. Idealna, gdy testy przechodzą lokalnie, ale padają w CI, lub gdy sleep() nie rozwiązuje problemu flakiness'u.

Jak używać

  1. Zainstaluj umiejętność w swoim projekcie Claude/Copilot, wskazując repozytorium https://github.com/CharlesWiltgen/Axiom/tree/main/.claude-plugin/plugins/axiom/skills/axiom-ui-testing.

  2. Zamiast pisać sleep(2) lub sleep(5) w testach, opisz Claude'owi problem: "Moje testy padają w CI, ale przechodzą lokalnie" lub "Testy są niestabilne na różnych urządzeniach". Umiejętność pokaże ci wzorce czekania na rzeczywiste warunki – waitForExistence, XCTestExpectation, polling dla ładowania danych i żądań sieciowych.

  3. Jeśli nagrałeś test za pomocą Recording UI Automation w Xcode 26, poproś Claude'a o pomoc w analizie nagrania wideo i znalezieniu kroku, w którym test się psuje. Umiejętność prowadzi przez workflow debugowania nagrań.

  4. Dla testów działających na wielu urządzeniach (iPhone, iPad, różne rozmiary ekranu), poproś o strategie testowania wieloczynnikowego i predykaty niezależne od urządzenia. Umiejętność wyjaśni, jak pisać testy, które działają konsekwentnie na wszystkich konfiguracjach.

  5. Opisz konkretny problem: race conditions, timing dependencies, niespójne wyniki testów. Claude użyje umiejętności, aby zasugerować wzorce accessibility-first testing i warunkowe czekanie zamiast arbitralnych timeoutów.

  6. Przejrzyj zaproponowane rozwiązania – każde opiera się na zasadzie: czekaj na rzeczywisty warunek (element istnieje, sieć odpowiada, animacja skończy się), a nie na zgadywaniu czasu trwania operacji.

Podobne skille