Tâche Wait For Element
Résumé
- Nom interne :
WaitForElement - Catégorie : Android UI
- Objectif : Sonder l'écran jusqu'à ce qu'un élément correspondant à un sélecteur apparaisse, ou expiration du délai.
- Type de tâche : Normal
Compatibilité
- Version AndroMate minimale :
1.1.0 - Version AndroMate maximale :
1.1.0 - Android minimum :
Android 13 (API 33) - Android testé maximum :
Android 16 (API 36) -
Fabricants supportés :
- Samsung (One UI 6.x / 7.x / 8.x)
- Autres fabricants - pas encore supportés (Xiaomi HyperOS et Google Pixel en cours d'adaptation)
- Permissions requises :
ACCESSIBILITY_SERVICE
Description détaillée
La tâche Wait For Element vérifie de manière répétée l'arbre d'accessibilité (toutes les 300ms) à la recherche d'un élément correspondant à un sélecteur, jusqu'à le trouver ou expiration de WaitForElement_timeout_ms. Elle ne clique pas et n'agit pas autrement sur l'élément trouvé - enchaînez avec une tâche Click In Element ou Fill Text ensuite si besoin.
Comme pour Fill Text, la recherche n'est pas limitée aux nœuds cliquables - elle peut attendre la disparition d'un indicateur de chargement, l'apparition d'un label, ou n'importe quel nœud, pas seulement ceux qui sont tapables.
Paramètres d'entrée
| Paramètre | Type | Requis | Valeurs possibles | Compatibilité Android | Compatibilité AndroMate | Défaut |
|---|---|---|---|---|---|---|
WaitForElement_textSelector |
Enum / String (résolvable) | Oui | text, contentDescription, tooltipText, resourceId, className, hintText, anyOf |
Android 13 (API 33) -> Android 16 (API 36) | 1.1.0 -> 1.1.0 | "" |
WaitForElement_CompareType |
Enum / String (résolvable) | Oui | exactText, startWith, contain |
Android 13 (API 33) -> Android 16 (API 36) | 1.1.0 -> 1.1.0 | "" |
WaitForElement_Index |
Entier (résolvable) | Non | Index base 0 parmi les correspondances | Android 13 (API 33) -> Android 16 (API 36) | 1.1.0 -> 1.1.0 | 0 |
WaitForElement_matchText |
String (résolvable) | Oui | La valeur à faire correspondre | Android 13 (API 33) -> Android 16 (API 36) | 1.1.0 -> 1.1.0 | "" |
WaitForElement_timeout_ms |
Entier (résolvable) | Non | ≥ 0 millisecondes | Android 13 (API 33) -> Android 16 (API 36) | 1.1.0 -> 1.1.0 | 5000 |
Paramètres de sortie
Cette tâche ne produit aucune variable de sortie. Elle retourne un VoidResult en cas de succès.
Exceptions
| Code | Nom de l'exception | Description |
|---|---|---|
SCREEN-AUTOMATOR-ERROR-006 |
Unsupported Text Selector | WaitForElement_textSelector n'est pas une valeur de sélecteur reconnue. |
SCREEN-AUTOMATOR-ERROR-010 |
Screen Automator Service Not Connected | Le service d'accessibilité AndroMate n'est pas activé/connecté. |
SCREEN-AUTOMATOR-ERROR-011 |
Screen Automator Action Failed | Aucun élément correspondant n'est apparu avant expiration de WaitForElement_timeout_ms - inclut le sélecteur/compare/index/matchText/timeout résolus dans le détail de l'erreur. |
Diagramme d'exécution
flowchart TD
Start([WaitForElement]) --> CheckConnected{Service d'accessibilité\nconnecté ?}
CheckConnected -->|Non| E1[SCREEN-AUTOMATOR-ERROR-010\nSERVICE_NOT_CONNECTED]
CheckConnected -->|Oui| Search["Recherche dans l'arbre\n(tout nœud)"]
Search --> Found{Correspondance\ntrouvée ?}
Found -->|Oui| Success([VoidResult])
Found -->|Non| Timeout{Temps écoulé ≥\ntimeout_ms ?}
Timeout -->|Non| Sleep[attendre 300ms] --> Search
Timeout -->|Oui| E2[SCREEN-AUTOMATOR-ERROR-011\nACTION_FAILED]
E1 --> Error([Exception])
E2 --> Error
style Start fill:#e3f2fd
style Success fill:#c8e6c9
style Error fill:#ffcdd2
style Search fill:#f3e5f5
Fonctionnement :
- Vérifier la connexion : échoue immédiatement avec
SERVICE_NOT_CONNECTEDsi le service d'accessibilité n'est pas activé. - Sonder : vérifie une correspondance avec
WaitForElement_matchText; si non trouvé, attend 300ms et revérifie. - Résoudre : retourne un succès dès qu'une correspondance est trouvée ; lève
ACTION_FAILEDune foistimeout_msécoulé sans correspondance.
Exemples de code
Exemple 1 - Attendre une boîte de dialogue de confirmation
{
"WaitForElement": [
{
"id": "1",
"title": "Attendre la boîte de confirmation",
"WaitForElement_textSelector": "text",
"WaitForElement_CompareType": "contain",
"WaitForElement_Index": 0,
"WaitForElement_matchText": "Confirm",
"WaitForElement_timeout_ms": 8000
}
]
}
Détails des paramètres d'entrée
1. Paramètre d'entrée : WaitForElement_textSelector
Mêmes 7 valeurs que Click In Element > ClickInElement_textSelector, dont anyOf.
Exemple
2. Paramètre d'entrée : WaitForElement_CompareType
exactText, startWith, ou contain (insensible à la casse).
Exemple
3. Paramètre d'entrée : WaitForElement_Index
Si plusieurs éléments correspondent, sélectionne le n-ième (base 0).
Exemple
4. Paramètre d'entrée : WaitForElement_matchText
La valeur à faire correspondre.
Exemple
5. Paramètre d'entrée : WaitForElement_timeout_ms
Durée maximale de sondage avant de lever ACTION_FAILED. Défaut 5000.
Exemple
Détails des paramètres de sortie
Cette tâche n'a pas de paramètres de sortie.