안전한 안드로이드 워크플로에서는 어떤 일이 일어나기 전까지 계속 탭을 눌러서는 안 됩니다. 현재 화면을 식별하고, 재시도를 제한하고, 다음 상태를 확인하고, 결과가 불확실할 때 증거로 멈춥니다.

간단한 대답: 다음 행동이 더 이상 정당화되지 않을 때 멈추세요.
안드로이드 자동화 중지 조건은 현재 화면, 결과 또는 타이밍이 다음 작업을 더 이상 지원하지 않을 때 워크플로우가 계속되지 않도록 하는 규칙입니다. 실행 종료, 제어된 결과 반환, 증거 수집 또는 케이스를 사람에게 보내는 것을 포함할 수 있습니다. 중요한 것은 모든 놀라움에 멈추지 않는 것입니다. 중요한 것은 불확실성을 또 다른 탭으로 전환하는 것을 피하는 것입니다.
신뢰할 수 있는 워크플로에서는 중요한 작업 전에 네 가지 질문을 해결합니다. 전화를 어떤 상태로 유지해야 합니까? 어떤 관찰이 그 상태를 증명합니까? 몇 번의 복구 시도가 허용됩니까? 상태가 나타나지 않는 경우 어떤 증거를 보존해야 합니까? Android UI Automator에는 조건부 대기 및 안정성 검사가 포함되어 있으며, WorkManager에는 취소 및 중단 작업 처리 문서가 포함되어 있습니다. 일반적인 디자인 교훈은 간단합니다. 대기, 재시도 및 중단은 명시적인 제한이 필요합니다.
- 예상된 상태가 긍정적으로 확인된 경우에만 계속 진행합니다.
- 실패가 일시적이며 재시도가 명확한 한계를 갖는 경우에만 재시도하십시오.
- 화면이 알 수 없는 경우, 작업이 민감한 경우 또는 후속 조건이 실패한 경우 중지하거나 검토 요청을 합니다.
계속, 기다리다, 다시 시도하다, 중지하거나 검토하십니까?
| 결정 | 다음 경우에 사용하세요 | 필요한 제한 | 보유해야 할 증거 |
|---|---|---|---|
| 계속하다 | 현재 상태와 다음 행동 모두 예상됩니다. | 한 번의 검토된 전환 | 관찰된 상태와 후속 조건 |
| 기다리다 | 앱이 아직 로드 중이거나 안정화 중입니다. | 타임아웃 또는 명명된 준비 상태 | 지속 시간 및 마지막 화면 |
| 을 다시 해보다 | 임시적인 상태는 비즈니스 의미를 변경하지 않고 해결될 수 있습니다. | 최대 시도 수 및 간격 | 각 관찰의 시도 수와 결과 |
| 멈추다 | 상태가 알려지지 않거나, 유효하지 않거나, 안전하지 않거나, 승인된 경로 외부에 있습니다. | 즉시 해지 | 이유 멈추기, 스크린샷, 구조화된 결과 |
| 인간 검토 | 워크플로우가 안전하게 결정할 수 없거나 다음 작업이 실질적인 결과를 초래할 수 있습니다. | 전환 마감일과 소유자를 명확히 한다. | 전체 증거 패키지와 제안된 다음 단계 |
이러한 선택은 상호 교환할 수 없습니다. 대기 시간은 동일한 상태에 대한 시간이 안정될 때까지 줍니다. 재시도는 제한된 관찰이나 복구 작업을 반복합니다. 브랜치는 알려진 결과 중에서 선택합니다. 중단은 검토된 경로를 종료합니다. 자동화가 안전하게 선택할 수 있는 충분한 증거가 부족할 때 인간의 검토가 적합합니다.
1단계: 행동을 선택하기 전에 주들을 명명하세요.
이 단계를 마치면 모든 중요한 화면에 이름과 관찰 가능한 사실의 작은 집합이 있습니다. 테스트 빌드를 열거나, 설정 페이지로 이동하거나, 민감한 옵션 중 하나를 변경하거나, 새 상태를 확인하는 것과 같은 좁은 워크플로우로 시작하세요. 긴 좌표 순서로 시작하지 마세요.
- 시작 상태, 예상되는 다음 상태 및 허용 가능한 대체 상태를 작성합니다.
- 각 상태에 대해 가장 좁은 유용한 신호를 선택합니다. UI 속성, 표시된 텍스트, 알려진 이미지, 감지된 객체 또는 초점 스크린샷입니다.
- 예기치 않은 계정, 권한, 구매, 삭제 또는 생산 데이터 화면과 같이 자동 동작을 받아서는 안 되는 모든 화면을 표시합니다.
확인은 간단합니다: 다른 검토자가 상태 정의를 보고 다음 조치가 허용되는 이유를 설명할 수 있어야 합니다. 그이미지 인식 자동 클릭 가이드시각적 타겟을 찾는 것만으로는 충분하지 않다는 것을 보여줍니다. 워크플로에는 여전히 탭하기 전의 전제 조건과 이후의 후제 조건이 필요합니다.
2단계: 각 상태를 증명하는 한 가지 관찰을 선택하세요.
이 단계가 끝나면 각 상태에는 기본 관찰과 대체 증거 출처가 있습니다. 레이블, 선택한 상태, 활성화된 제어 또는 항목 수와 같은 의미적 사실에 대해서는 UI 구조를 사용합니다. 가시 텍스트가 중요하지만 UI 트리가 이를 안정적으로 노출하지 않는 경우 OCR를 사용합니다. 알려진 시각적 대상에 대해서는 템플릿 매칭을 사용하고 위치나 크기가 변하는 검증된 클래스에 대해서는 객체 탐지를 사용합니다.
여러 가지 약한 신호를 쌓아 조합 확신을 부르는 것을 피하세요. 넓은 스크린샷, 검증되지 않은 템플릿, 부분 OCR 결과는 자동으로 신뢰할 수 있는 결정을 내리지 않습니다. 대신, 하나의 지반 견딜 수 있는 관찰을 정의하고 다른 신호를 증거로 기록하세요. 그안드로이드 시각 테스트 비교UI 상태, OCR, 스크린샷, 템플릿 및 검출이 각각 어디에 적합한지 설명합니다.
확인은 양성 및 음성 샘플을 모두 테스트하는 것을 의미합니다. 조건은 의도한 화면에서 통과해야 하고 시각적으로 유사하지만 잘못된 화면에서 실패해야 합니다. 이러한 상태를 구별할 수 없는 경우 영역을 좁히거나 신호를 변경하거나 작업 전에 워크플로우를 중단하십시오.
3단계: 모든 대기 및 재시도에 대한 예산을 책정합니다.
이 단계를 마치면, 어떤 루프도 영원히 실행될 수 없습니다. 모든 대기에는 타임아웃 또는 지정된 준비 상태가 필요합니다. 모든 재시도는 최대 시도 수, 합리적인 간격, 그리고 상황을 악화시키지 않고 다시 시도할 수 있는 이유를 필요로 합니다.
| 실패 패턴 | 왜 또 다른 시도가 도움이 될 수 있는지 | 안전한 경계 | 이유 멈추다 |
|---|---|---|---|
| 화면이 아직 로드 중입니다. | 같은 상태가 준비될 수 있습니다. | 안정되거나 시간 초과될 때까지 기다리세요. | 준비 상태에 도달하지 못함 |
| 요소가 일시적으로 누락되었습니다. | 콘텐츠는 약간의 지연 후에 도착할 수 있습니다. | 정해진 수만큼의 시도 후에 다시 관찰합니다. | 예상되는 요소가 나타나지 않음 |
| 타입하면 전환이 발생하지 않음 | 입력한 내용이 한 번 누락되었을 수 있습니다. | 화면을 확인한 후 한 명이 반복을 검토했습니다. | 후처리 조건이 여전히 존재하지 않음 |
| 알 수 없는 대화상자 또는 계정이 나타남 | 또 다른 시도도 불확실성을 줄이지 않는다 | 다시 시도하지 않음 | 예상치 못한 상태로 인해 검토가 필요합니다. |
| 액션은 삭제, 구매, 전송 또는 게시할 수 있습니다. | 무작위 반복은 결과를 중복시킬 수 있다. | 일중성성이 증명되지 않는 한 자동 재시도가 없습니다. | 민감한 행동 결과의 불확실성 |
안드로이드 자동화에 대한 커뮤니티 질문은 종종 영원히 기다리는 루프나 멈춰진 것처럼 보이는 작업을 설명합니다. 최대 시도 규칙은 유용하지만 카운트는 작업에 따라야 합니다. 읽기 전용 확인은 상태 변경 작업보다 더 많은 시도를 허용할 수 있습니다. 올바른 숫자는 정상적인 지연 시간을 커버하는 가장 작은 검토된 예산입니다.
4단계: 성공을 선언하기 전에 후속 조건을 확인합니다.
이 단계를 마치면, 전달된 탭은 더 이상 완료된 작업으로 취급되지 않습니다. 각 상태 변경 작업 후, 인터페이스가 안정화될 때까지 기다린 다음 예상 결과를 관찰합니다. 후속 조건이 누락된 경우, 워크플로는 다음 작업으로 조용히 계속되지 않아야 합니다.
- 작업을 승인한 상태를 기록합니다.
- 승인된 단일 작업을 수행합니다.
- 명명된 후속 조건이나 제한된 시간 초과를 기다립니다.
- 다음 주소로 경로가 성공하거나 증거 캡처에 실패하거나 검토된 복구 또는 중지됩니다.
이것은 오버레이, 지연된 탐색, 누락된 입력, 낡은 좌표 및 유사 화면에 대한 보호를 제공합니다. 또한 더 나은 실패 보고서를 생성합니다. 검토자는 예상된 사항, 발생한 작업 및 다음 상태가 나타나지 않은 사항을 확인할 수 있습니다.
5단계: 사람이 결정을 내릴 수 있도록 충분한 증거를 보존합니다.
이 단계를 마치면 모든 스톱에서 모호한 실패 레이블 대신 컴팩트한 증거 패키지가 생성됩니다. 복구가 화면을 변경하기 전에 증거를 캡처합니다. 진단을 위해 필요한 것만 유지하고, 스크린샷이나 로그를 테스트 중인 앱의 데이터 정책에 따라 처리합니다.
- 워크플로우 및 단계 이름, 앱 빌드, 기기, Android 버전, 지역 및 방향.
- 예상 상태, 관찰된 상태, 상태 결과, 시도 횟수 및 소요 시간.
- 중요한 경우, 집중된 스크린샷 또는 크롭, OCR 텍스트, 매치 점수, UI 속성 또는 감지 결과를 함께 제공합니다.
- 마지막 성공적인 상태, 시도한 작업, 누락된 후속 조건 및 명시적인 중지 이유.
- 제안된 검토자 선택 사항: 알려진 해결 후 다시 시도하거나, 승인된 상태를 업데이트하거나, 제품을 조사합니다.
유용한 넘겨주는 것은 누군가가 전체 실행본을 다시 만들어보지 않고 다음 결정을 내릴 수 있게 해줍니다. 그안드로이드 자동화 QA 스모크 테스트 가이드실제 장치 검사를 좁히고 재현 가능하게 유지하는 더 광범위한 예를 제공합니다.
어떻게LaiCai Flow안전한 경계를 모델링하다
LaiCai Flow는 inside의 자동화 기능입니다.LaiCai Screen Mirroring. 플로우는 UI 구조나 시각적 상태를 관찰하거나, 알려진 결과 사이를 번갈아 가며, 눈에 띄게 기다리거나, 제한된 번수에 반복하거나, 성공 또는 한계까지 하위 플로우를 호출하거나, 명시적인 반환 또는 정지 동작을 통해 종료할 수 있습니다. 이러한 빌딩 블록은 검토자에게 안전 결정을 명확하게 보여줍니다.
일반적인 패턴에서 UI, OCR, 템플릿 또는 감지 노드는 전화를 한 번 관찰합니다. 한 가지 지점은 알려진 성공 또는 실패를 라우팅합니다. 대기 시간은 실제 비즈니스 지연을 나타냅니다. 제한된 루프는 임시 상태를 처리합니다. 복구 경로가 없는 실패한 관찰은 같은 작업을 영원히 전달하는 대신 현재 흐름을 종료할 수 있습니다.
LaiCai Flow Inside호환되는 프로필을 통해 실행할 수 있습니다.LaiCai Android Agent배치 후 전화로. 호환성은 여전히 해당 프로파일에 사용되는 각 노드, 자산, 모델 및 네트워크 의존성에 따라 달라집니다. 기기에서 실행해도 제한, 증거 또는 검토의 필요성은 제거되지 않습니다.
배치 전의 실용적인 검토 체크리스트
- 모든 행동에는 이름 지정된 전제 조건과 검증 가능한 후제 조건이 있습니다.
- 모든 대기에는 타임아웃 또는 준비 상태가 있으며, 모든 재시도는 최대 시도 횟수가 있습니다.
- 알 수 없는 상태는 중지하거나 검토된 복구 경로로 이동합니다.
- 결과가 불확실한 경우에는 민감한 행동은 결코 맹목적으로 반복되지 않는다.
- 실패 증거는 화면이 다시 변경되기 전에 캡처됩니다.
- 긍정적, 부정적, 느린, 중단된 및 예상치 못한 화면 케이스는 공인된 기기에서 테스트되었습니다.
이 진술 중 하나가 거짓이면, 워크플로는 무인 운영을 위해 준비되지 않았습니다. 여전히 감독 모드에서 유용할 수 있습니다.AI 안드로이드 자동화, 사용자가 기기를 시청하고, 상태 조건을 개선하고, 실패 증거를 검토할 수 있는 곳입니다.
안드로이드 자동화 중지 조건 FAQ
고정된 지연이 정지 조건입니까?
아니요. 고정된 지연은 워크플로우를 일시적으로 중단할 뿐입니다. 앱이 예상된 상태로 도달했음을 증명하는 것은 아닙니다. 지연을 상태 관찰과 타임아웃과 함께 연결하십시오.
모든 실패가 전체 워크플로우를 멈추게 해야 합니까?
아니요. 알려진 일시적인 실패는 검토된 제한된 복구 경로를 따라 발생할 수 있습니다. 알 수 없는 상태, 누락된 후속 조건 또는 불확실한 민감한 작업은 일반적으로 중지하거나 검토를 요청해야 합니다.
몇 번의 재시도가 안전합니까?
범용적인 숫자는 없습니다. 측정된 정상 대기 시간을 커버하는 가장 작은 한계를 사용하고, 상태를 변경하는 작업의 한계를 줄입니다. 작업을 반복하면 결과가 중복될 수 있으므로, 일회성성을 확인하거나 자동으로 다시 시도하지 마십시오.
AI는 정지 규칙의 필요성을 없애나요?
아니요. AI는 화면을 해석하거나 워크플로를 제안하는 데 도움이 될 수 있지만 실행에는 여전히 명시적으로 허용되는 상태, 예산, 후속 조건 및 검토 경계가 필요합니다. 불확실성은 계속할 수 있는 권한이 아니라 증거를 수집할 수 있는 이유입니다.
불확실성을 자동화하기보다는 가시화하세요.
신뢰할 수 있는 안드로이드 워크플로란 가장 오래 실행되는 것이 아닙니다. 그것은 각 작업이 왜 허용되었는지, 어떤 결과를 기대했는지, 그리고 증거가 변경되었을 때 왜 중단되었는지 설명할 수 있는 것입니다.
주들을 명명하고, 하나의 지반 견딜 수 있는 관측을 선택하고, 모든 대기 및 재시도를 제한하고, 모든 후속 조건을 확인하고, 유용한 인수 전환을 보존하십시오. 그 디자인은 정지 조건을 방어적 코드로 전환하여 워크플로의 운영 정책으로 바꿉니다.