Przejdź do treści
MK

Architektura automatyzacji

Automatyzacja testów mobilnych aplikacji bankowej

Wieloplatformowy framework automatyzacji krytycznych przepływów bankowych na Androidzie i iOS

Przegląd

Aplikacja bankowa potrzebowała niezawodnej automatycznej regresji na Androidzie i iOS. Łączyła natywny interfejs, hybrydowe ekrany WebView i wieloetapowe uwierzytelnianie, co stanowiło realne wyzwanie dla stabilności automatyzacji. Projekt obejmował zaprojektowanie frameworka od zera, z naciskiem na łatwość utrzymania, współdzielenie kodu między platformami i integrację z CI/CD.

Wyzwanie

  1. 01

    Hybrydowa architektura z kontekstem natywnym i WebView wymagała precyzyjnej obsługi przełączania kontekstu w trakcie testów.

  2. 02

    Złożone przepływy uwierzytelniania (biometria, kody jednorazowe, zarządzanie sesją) powodowały niestabilność scenariuszy.

  3. 03

    Częste zmiany interfejsu między wydaniami wymagały frameworka o niskim koszcie utrzymania.

  4. 04

    Pokrycie obu platform trzeba było osiągnąć bez duplikowania całego zestawu testów dla Androida i iOS.

Podejście

  1. Zaprojektowałem architekturę warstwową: Page Objects jako abstrakcja interfejsu, warstwa serwisowa do komunikacji z API i współdzielona logika testów działająca na obu platformach.

  2. Zaimplementowałem narzędzia do przełączania między kontekstem natywnym a WebView, z automatycznymi powtórzeniami i strategiami oczekiwania.

  3. Stworzyłem dynamiczny system identyfikacji elementów, który łączy accessibility ID, zapasowe lokatory XPath i lokatory specyficzne dla platformy.

  4. Zbudowałem wzorce data-driven, dzięki którym te same scenariusze działają na wielu środowiskach i profilach użytkowników.

  5. Zintegrowałem framework z pipeline'ami Jenkins, tak aby regresja uruchamiała się automatycznie dla każdego kandydata do wydania.

Efekty

  • Stabilne pokrycie automatyzacją krytycznych przepływów bankowych na Androidzie i iOS.

  • Krótszy cykl regresji dzięki równoległemu wykonywaniu testów.

  • Architektura przetrwała kilka dużych przeprojektowań interfejsu przy minimalnych zmianach w lokatorach.

  • Zespół otrzymał jasne, automatyczne sygnały pass/fail wpięte bezpośrednio w pipeline'y wydań.

Podsumowanie

Automatyzacja mobilna w bankowości wymaga architektury zbudowanej pod realną złożoność: aplikacje hybrydowe, złożone uwierzytelnianie, ciągłe zmiany interfejsu. Ten framework stawiał na trwałość, a jego warstwowa struktura utrzymała się przez wiele dużych wydań.