Tâche Is Element Exist
Résumé
- Nom interne :
IsElementExist - Catégorie : Android UI
- Objectif : Vérifier si un élément correspondant à un sélecteur est actuellement à l'écran. Oriente le workflow -
truesi trouvé,falsesinon. - Type de tâche : Condition
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 Is Element Exist effectue une vérification unique et immédiate de l'arbre d'accessibilité pour un élément correspondant à un sélecteur, et oriente le workflow en conséquence - contrairement aux tâches d'action de ce groupe (Click In Element, Fill Text, ...), un résultat "non trouvé" ici est un résultat normal (la branche false), pas une exception levée. C'est ce qui en fait une tâche de type Condition plutôt que Normal.
La recherche n'est pas limitée aux nœuds cliquables - elle peut détecter n'importe quel élément, selon la même règle utilisée par Wait For Element et Scroll To Element, simplement sans la boucle de sondage.
Paramètres d'entrée
| Paramètre | Type | Requis | Valeurs possibles | Compatibilité Android | Compatibilité AndroMate | Défaut |
|---|---|---|---|---|---|---|
IsElementExist_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 | "" |
IsElementExist_CompareType |
Enum / String (résolvable) | Oui | exactText, startWith, contain |
Android 13 (API 33) -> Android 16 (API 36) | 1.1.0 -> 1.1.0 | "" |
IsElementExist_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 |
IsElementExist_matchText |
String (résolvable) | Oui | La valeur à faire correspondre | Android 13 (API 33) -> Android 16 (API 36) | 1.1.0 -> 1.1.0 | "" |
Paramètres de sortie
C'est une tâche de type Condition - elle ne stocke pas de valeur. Elle oriente plutôt l'exécution du workflow :
| Condition | Prochaine étape |
|---|---|
| Un élément correspondant au sélecteur est trouvé | Branche true |
| Aucun élément correspondant n'est trouvé | Branche false |
Exceptions
| Code | Nom de l'exception | Description |
|---|---|---|
SCREEN-AUTOMATOR-ERROR-006 |
Unsupported Text Selector | IsElementExist_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é. |
Note : l'absence d'un élément n'est pas une erreur - c'est la branche false.
Diagramme d'exécution
flowchart TD
Start([IsElementExist]) --> 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| TrueBranch([Branche true])
Found -->|Non| FalseBranch([Branche false])
E1 --> Error([Exception])
style Start fill:#e3f2fd
style TrueBranch fill:#c8e6c9
style FalseBranch fill:#ffcdd2
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é. - Rechercher une fois : cherche n'importe où dans l'arbre une correspondance avec
IsElementExist_matchText, sans sondage. - Brancher :
truesi trouvé,falsesinon.
Exemples de code
Exemple 1 - Vérifier la présence d'un bouton "Skip"
{
"IsElementExist": [
{
"id": "1",
"title": "Le bouton Skip est-il présent ?",
"IsElementExist_textSelector": "text",
"IsElementExist_CompareType": "exactText",
"IsElementExist_Index": 0,
"IsElementExist_matchText": "Skip"
}
]
}
Détails des paramètres d'entrée
1. Paramètre d'entrée : IsElementExist_textSelector
Mêmes 7 valeurs que Click In Element > ClickInElement_textSelector, dont anyOf.
Exemple
2. Paramètre d'entrée : IsElementExist_CompareType
exactText, startWith, ou contain (insensible à la casse).
Exemple
3. Paramètre d'entrée : IsElementExist_Index
Si plusieurs éléments correspondent, sélectionne le n-ième (base 0) - surtout pertinent avec contain/startWith.
Exemple
4. Paramètre d'entrée : IsElementExist_matchText
La valeur à faire correspondre.
Exemple
Détails des paramètres de sortie
C'est une tâche de type Condition - elle ne stocke aucune variable de sortie. Le résultat pilote le branchement du workflow :
Branche true
Prise lorsqu'un élément correspondant au sélecteur/compare/index est actuellement à l'écran.
Branche false
Prise lorsqu'aucun élément de ce type n'est trouvé.