Warunki zatrzymania automatyzacji Android: ponowić, zatrzymać czy sprawdzić?

BeePOS LLC  |   |  11 min read

Bezpieczny przepływ pracy z Androidem nie będzie stukał dopóki coś się nie stanie. Określa bieżący ekran, ogranicza powtórzenia, weryfikuje następny stan i zatrzymuje się z dowodami, gdy wynik jest niepewny.

Warunki zatrzymania automatyzacji Android: ponowić, zatrzymać czy sprawdzić?
Warunki zatrzymania automatyzacji Android: ponowić, zatrzymać czy sprawdzić?

Krótka odpowiedź: zatrzymać, gdy kolejne działanie nie jest już uzasadnione

Warunkiem zatrzymania automatyki systemu Android jest zasada, która zapobiega kontynuacji przepływu pracy, gdy bieżący ekran, wynik lub czas nie obsługuje już następnej akcji. Może zakończyć bieg, zwrócić kontrolowany wynik, zebrać dowody lub wysłać sprawę do osoby. Chodzi o to, żeby nie zatrzymywać się na każdej niespodziance. Chodzi o to, aby uniknąć zmiany niepewności w inny kran.

Wiarygodne przepływy pracy odpowiadają na cztery pytania przed każdym ważnym działaniem: W jakim stanie powinien być telefon? Jaka obserwacja dowodzi tego stanu? Ile prób powrotu do zdrowia jest akceptowalnych? Jakie dowody należy zachować, jeśli państwo nigdy się nie pojawi? Android UI Automator zawiera warunkowe oczekiwania i kontrole stabilności, podczas gdy WorkManager dokumentuje anulowanie i wstrzymanie pracy. Wspólna lekcja projektowania jest prosta: czekanie, ponowna próba i zatrzymanie wymaga wyraźnych ograniczeń.

  • Kontynuuj tylko wtedy, gdy spodziewany stan jest pozytywnie zidentyfikowany.
  • Retry tylko wtedy, gdy awaria jest tymczasowa i ponowna próba ma jasny limit.
  • Zatrzymać lub zażądać przeglądu, gdy ekran jest nieznany, działanie jest wrażliwe, lub stan po awarii.

Kontynuować, czekać, spróbować ponownie, zatrzymać, czy przegląd?

DecyzjaUżyj go, gdyWymagany limitDowody do przechowywania
KontynuujOczekuje się, że zarówno obecny stan, jak i kolejne działaniaJeden przegląd przejściaObserwowany stan i stan po
Czekaj.Aplikacja nadal załadowuje lub ustawiaCzas lub nazwany stan gotowościCzas minął i ostatni ekran
RetryWarunek tymczasowy może rozwiązać bez zmiany znaczenia biznesowegoMaksymalne próby plus interwałLiczba prób i wynik każdej obserwacji
StopStan jest nieznany, nieprawidłowy, niebezpieczny lub poza zatwierdzoną ścieżkąNatychmiastowe zakończeniePowód zatrzymania, zrzut ekranu, wynik strukturyzowany
Przegląd ludziPrzepływ pracy nie może być bezpieczny lub kolejne działanie ma istotne konsekwencjeWyczyść termin przekazania i właścicielaPełne zestawienie dowodów i proponowany następny krok

Wybory te nie są wymienne. Czekanie daje ten sam czas na ugodę. Ponowne próby powtarzają ograniczone działania obserwacyjne lub naprawcze. Branża wybiera między znanymi wynikami. Zatrzymanie kończy sprawdzoną ścieżkę. Przegląd ludzi jest odpowiedni, gdy automatyzacja nie ma wystarczających dowodów, aby bezpiecznie wybrać.

Krok 1: nazwa stanów przed wyborem działań

Pod koniec tego kroku, każdy ważny ekran ma nazwę i mały zestaw obserwowalnych faktów. Zacznij od wąskiego przepływu pracy, takiego jak otwarcie budowy testowej, nawigacja do strony ustawień, zmiana jednej niewrażliwej opcji i potwierdzenie nowego stanu. Nie zaczynaj od długiej sekwencji współrzędnych.

  1. Napisz stan początkowy, oczekiwany stan następny i akceptowalne stany alternatywne.
  2. Dla każdego stanu należy wybrać najwęższy użyteczny sygnał: właściwość UI, widoczny tekst, znany obraz, wykryty obiekt lub ukierunkowany zrzut ekranu.
  3. Zaznacz dowolny ekran, który nie może nigdy otrzymać automatycznego działania, np. nieoczekiwane konto, pozwolenie, zakup, usunięcie lub wyświetlenie danych produkcyjnych.

Weryfikacja jest prosta: inny recenzent powinien być w stanie spojrzeć na definicję stanu i wyjaśnić, dlaczego następne działanie jest dozwolone. Wimage- recognition auto- click guidepokazuje, dlaczego znalezienie celu wizualnego nie wystarczy. Przepływ pracy nadal wymaga warunków wstępnych przed kranem i po nim.

Krok 2: wybrać jedną obserwację, która udowadnia każdy stan

Pod koniec tego etapu, każde państwo ma pierwotne obserwacje i źródło dowodów awaryjnych. Użyj struktury UI dla semantycznych faktów, takich jak etykieta, wybrany stan, włączone sterowanie lub liczenie elementów. Użyj OCR, gdy widoczny tekst ma znaczenie, ale drzewo UI nie ujawnia go niezawodnie. Użyj szablonu pasującego do znanego celu wizualnego i detekcji obiektu dla klasy zatwierdzonej, której pozycja lub rozmiar są różne.

Unikać układania kilku słabych sygnałów i wywołania pewności połączenia. Szeroki zrzut ekranu, niezatwierdzony szablon oraz częściowy wynik OCR nie decydują automatycznie. Zamiast tego należy zdefiniować jedną obserwację nośną i zapisać pozostałe sygnały jako potwierdzające dowody. WPorównanie testów wizualnych Androidwyjaśnia, gdzie znajduje się interfejs użytkownika, OCR, zrzuty ekranu, szablony i wykrywanie każdego dopasowania.

Weryfikacja oznacza badanie zarówno próbek pozytywnych, jak i ujemnych. Stan powinien przejść na zamierzonym ekranie i nie na wizualnie podobny, ale nieprawidłowy ekran. Jeśli nie jest w stanie rozróżnić tych stanów, zawęzić obszar, zmienić sygnał lub zatrzymać przepływ pracy przed działaniem.

Krok 3: umieścić budżet wokół każdego czekać i ponownie

Pod koniec tego kroku, żadna pętla nie może trwać wiecznie. Każde czekanie wymaga albo przerwy albo stanu gotowości. Każda powtórka wymaga maksymalnej liczby prób, rozsądnego odstępu czasu i powodu, dla którego próba powtórzenia może się powieść bez pogarszania sytuacji.

Schemat awariiDlaczego kolejna próba może pomócBezpieczna granicaPowód zatrzymania
Ekran wciąż się ładujeTen sam stan może stać się gotowyPoczekać do chwili ustabilizowania lub odłączeniaStan gotowy nieosiągnięty
Element jest tymczasowo nieobecnyZawartość może pojawić się po krótkim opóźnieniuObserwuj ponownie dla stałej liczby próbOczekiwany element nigdy się nie pojawił
Tap produkowany bez przejściaWlot może być niezauważonyPo sprawdzeniu ekranu powtórz jeden przeglądNieobecny stan pośmiertny
Pojawia się nieznane okno dialogowe lub kontoKolejna próba nie zmniejsza niepewnościNie powtórzNiespodziewany stan wymaga przeglądu
Działanie może usunąć, kupić, wysłać lub opublikowaćNiewidomy powtarzanie może powielać konsekwencjeNie ma automatycznego powtórzenia, chyba że udowodniono, że idempotencjaWrażliwy wynik działania jest niepewny

Pytania społeczne dotyczące automatyzacji Androida często opisują pętle, które czekają na wieczność lub zadania, które wydają się zablokowane. Przydatna jest zasada maximum-try, ale liczba powinna być następstwem operacji. Kontrola tylko read- może tolerować więcej prób niż zmiany stanu działania. Prawidłową liczbą jest najmniejszy zrewidowany budżet, który obejmuje normalne opóźnienia.

Krok 4: sprawdzić stan przed ogłoszeniem sukcesu

Pod koniec tego etapu dostarczony kran nie jest już traktowany jako zakończone zadanie. Po każdej zmianie stanu, czekać na interfejs do rozliczenia i obserwować oczekiwany wynik. Jeżeli brakuje warunków postcondition, przepływ pracy nie może być kontynuowany po cichu do następnego działania.

  1. Nagraj stan, który zatwierdził akcję.
  2. Wykonać jedno zatwierdzone działanie.
  3. Czekać na nazwany stan lub ograniczony czas.
  4. Przenieść sukces do następnego stanu i nieuchwycenie dowodów, zweryfikowany powrót do zdrowia lub zatrzymać.

Chroni to przed nakładkami, opóźnioną nawigacją, pominiętym wejściem, niechlujnymi współrzędnymi i podobnymi ekranami. Tworzy również lepszy raport o niepowodzeniu: recenzent widzi, czego się spodziewano, jakie działania miały miejsce, a które nie pojawiły się w następnym stanie.

Krok 5: zachowanie wystarczających dowodów dla osoby do podjęcia decyzji

Pod koniec tego kroku, każdy przystanek produkuje kompaktowy pakiet dowodów zamiast niejasnego nieudanego etykiety. Uchwycić dowody zanim odzysk zmieni ekran. Zachowaj tylko to, co jest konieczne do diagnozy, i obsłużyć zrzuty ekranu lub logi zgodnie z polityką danych dla testowanej aplikacji.

  • Nazwa przepływu i kroku, wersja aplikacji, urządzenie, wersja Androida, język i orientacja ekranu.
  • Oczekiwany stan, obserwowany stan, wynik stanu, liczba prób i upłynął czas.
  • Skupiony screenshot lub plony, plus tekst OCR, wynik meczu, właściwości UI, lub wynik detekcji w stosownych przypadkach.
  • Ostatni udany stan, próba działania, brak stanu pourazowego i wyraźny powód zatrzymania.
  • Proponowany wybór recenzenta: ponownie spróbować po znanym fix, zaktualizować zaakceptowany stan lub zbadać produkt.

Przydatne przekazanie pozwala komuś podjąć kolejną decyzję, nie odtwarzając najpierw całej operacji. WAutomatyzacja systemu Android poradnik QA-testdaje szerszy przykład utrzymania kontroli realnych urządzeń wąskich i powtarzalnych.

JakLaiCai Flowmodele bezpiecznych granic

LaiCai Flowjest funkcją automatyzacji wewnątrzLaiCai Screen Mirroring. Flow może obserwować strukturę UI lub stan wizualny, gałąź między znanymi wynikami, czekać widocznie, powtórzyć ograniczoną liczbę razy, zadzwonić do dziecka Flow aż do sukcesu lub limitu, i zakończyć poprzez wyraźny powrót lub zatrzymać zachowanie. Te klocki sprawiają, że decyzja o bezpieczeństwie jest widoczna dla recenzenta.

W typowym wzorze, UI, OCR, szablon lub węzeł detekcji obserwuje telefon raz. Oddział trasa znany sukces lub porażka. Czekanie oznacza prawdziwe opóźnienie w interesach. Ograniczona pętla obsługuje stan tymczasowy. Nieudana obserwacja bez krawędzi odzysku może zakończyć bieżący przepływ zamiast karmić to samo działanie na zawsze.

LaiCai Flow Insidemoże uruchomić kompatybilny profil poprzezLaiCai Android Agentprzez telefon po rozmieszczeniu. Zgodność nadal zależy od każdego węzła, aktywów, modelu i zależności sieci wykorzystywanych przez ten profil. Uruchomienie urządzenia nie usuwa potrzeby ograniczenia, dowodów ani przeglądu.

Praktyczna lista kontrolna przed wdrożeniem

  • Każda akcja ma nazwany warunek wstępny i weryfikowalny warunek postcondition.
  • Każde oczekiwanie ma czas lub stan gotowy, a każda powtórka ma maksymalną liczbę prób.
  • Nieznane stany zatrzymują się lub idą do zrewidowanej ścieżki odzyskiwania.
  • Wrażliwe działania nigdy nie powtarzają się na ślepo, gdy ich wynik jest niepewny.
  • Dowody porażki zostają przechwycone, zanim ekran znów się zmieni.
  • Pozytywne, negatywne, wolne, przerywane i nieoczekiwane przypadki ekranu zostały przetestowane na autoryzowanych urządzeniach.

Jeśli jedno z tych stwierdzeń jest fałszywe, przepływ pracy nie jest gotowy do pracy bez nadzoru. Może być nadal przydatny w trybie nadzorowanymAI Android automatyzacja, w przypadku gdy osoba może obserwować urządzenie, udoskonalić warunki państwowe i dokonać przeglądu dowodów awarii.

Stan zatrzymania automatyki Android FAQ

Czy stałe opóźnienie jest warunkiem zatrzymania?

Nie. Stałe opóźnienie tylko wstrzymuje przepływ pracy. Nie dowodzi to, że aplikacja osiągnęła oczekiwany stan. Para wszelkie opóźnienia z obserwacji stanu i timeout.

Czy każda awaria powinna zatrzymać cały przepływ pracy?

Nie. Znana, tymczasowa porażka może przebiegać po zrewidowanej i ograniczonej ścieżce odzyskiwania. Nieznany stan, brak stanu poststatycznego lub niepewne działanie uczulające powinno zwykle zatrzymać lub zażądać przeglądu.

Ile powtórzeń jest bezpiecznych?

Nie ma uniwersalnej liczby. Należy zastosować najmniejszą granicę, która obejmuje zmierzone normalne opóźnienie i zmniejszyć limit dla działań, które zmieniają stan. Jeśli powtórzenie działania może powielać konsekwencje, zweryfikować idempotencję lub nie próbować ponownie automatycznie.

Czy AI usuwa potrzebę zatrzymania zasad?

Nie. AI może pomóc w interpretacji ekranu lub zaproponować przepływ pracy, ale realizacja nadal potrzebuje wyraźnie dozwolone państwa, budżety, warunki postconditions i granice przeglądu. Niepewność to powód do zbierania dowodów, a nie pozwolenie na kontynuowanie.

Uwidocznienie niepewności zamiast automatyzacji

Niezawodny przepływ pracy z systemem Android nie jest tym, który działa najdłużej. To ten, który może wyjaśnić, dlaczego każde działanie było dozwolone, czego oczekiwał i dlaczego zatrzymał się, gdy dowody się zmieniły.

Wymień stany, wybierz jedną obserwację łożysk obciążających, zwiąż każde oczekiwanie i powtórnie, zweryfikuj każdy stan i zachowaj użyteczne przekazanie. Ten projekt przekształca warunki zatrzymania z kodu obronnego w politykę operacyjną przepływu pracy.

Pobierz bezpłatną wersję

Poprzednia wersja 4.0.2: macOSWindows EXE

Uwaga: tylko kopia lustrzana ekranu Android.