Tâche Fill Text
Résumé
- Nom interne :
FillText - Catégorie : Android UI
- Objectif : Trouver un élément éditable par sélecteur et le remplir avec une valeur texte.
- 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 Fill Text localise un élément par sélecteur et définit son texte via AccessibilityNodeInfo.ACTION_SET_TEXT - sans clavier à l'écran. Contrairement à Click In Element, la recherche n'est pas limitée aux nœuds cliquables, car un champ éditable n'est pas toujours signalé comme cliquable par l'arbre d'accessibilité ; cela rend hintText (le texte indicatif du champ) un sélecteur particulièrement utile ici, puisqu'un champ vide n'a pas encore de text sur lequel se baser.
N'attend pas l'apparition de l'élément - combinez avec Wait For Element au préalable si le champ pourrait ne pas encore être à l'écran.
Paramètres d'entrée
| Paramètre | Type | Requis | Valeurs possibles | Compatibilité Android | Compatibilité AndroMate | Défaut |
|---|---|---|---|---|---|---|
FillText_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 | "" |
FillText_CompareType |
Enum / String (résolvable) | Oui | exactText, startWith, contain |
Android 13 (API 33) -> Android 16 (API 36) | 1.1.0 -> 1.1.0 | "" |
FillText_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 |
FillText_matchText |
String (résolvable) | Oui | La valeur utilisée pour localiser le champ | Android 13 (API 33) -> Android 16 (API 36) | 1.1.0 -> 1.1.0 | "" |
FillText_value |
String (résolvable) | Oui | Le texte à saisir dans le champ | Android 13 (API 33) -> Android 16 (API 36) | 1.1.0 -> 1.1.0 | "" |
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 | FillText_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 trouvé, ou ACTION_SET_TEXT refusé par la cible - inclut le sélecteur/compare/index/matchText résolus dans le détail de l'erreur. |
Diagramme d'exécution
flowchart TD
Start([FillText]) --> 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, sans filtre cliquable)"]
Search --> Found{Correspondance\ntrouvée ?}
Found -->|Non| E2[SCREEN-AUTOMATOR-ERROR-011\nACTION_FAILED]
Found -->|Oui| SetText[ACTION_SET_TEXT\navec FillText_value]
SetText --> Result{A retourné true ?}
Result -->|Non| E2
Result -->|Oui| Success([VoidResult])
E1 --> Error([Exception])
E2 --> Error
style Start fill:#e3f2fd
style Success fill:#c8e6c9
style Error fill:#ffcdd2
style SetText fill:#fff9c4
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 : cherche n'importe où dans l'arbre (pas seulement les nœuds cliquables) une correspondance avec
FillText_matchText. - Remplir : exécute
ACTION_SET_TEXTavecFillText_value; non trouvé, ou action refusée, lèveACTION_FAILED.
Exemples de code
Exemple 1 - Remplir un champ nom d'utilisateur par son texte indicatif
{
"FillText": [
{
"id": "1",
"title": "Saisir le nom d'utilisateur",
"FillText_textSelector": "hintText",
"FillText_CompareType": "contain",
"FillText_Index": 0,
"FillText_matchText": "Username",
"FillText_value": "andromate_user"
}
]
}
Détails des paramètres d'entrée
1. Paramètre d'entrée : FillText_textSelector
D'où provient le texte comparé (utilisé pour localiser le champ) - voir Click In Element > ClickInElement_textSelector pour la liste complète des valeurs (les 7 mêmes valeurs, dont anyOf).
Exemple
2. Paramètre d'entrée : FillText_CompareType
Comment la comparaison est effectuée (insensible à la casse) : exactText, startWith, ou contain.
Exemple
3. Paramètre d'entrée : FillText_Index
Si plusieurs éléments correspondent, sélectionne le n-ième (base 0).
Exemple
4. Paramètre d'entrée : FillText_matchText
La valeur comparée au sélecteur pour trouver le champ - pas la valeur saisie dedans (c'est FillText_value).
Exemple
5. Paramètre d'entrée : FillText_value
Le texte réellement écrit dans le champ une fois trouvé.
Exemple
Détails des paramètres de sortie
Cette tâche n'a pas de paramètres de sortie.