Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
We don't have a way to export this macro.

Status
colourGreen
titleUp TO DATE

Exemple 1

Le formulaire de connexion de l’application Kwit contient un champ “Email” qui est accessible avec son texte et sa classe Android.

...

Il est donc possible d’utiliser une fonction click pour sélectionner le champ “Email”.

...

Pour sélectionner le champ du formulaire, il faut donc utiliser la fonction clickByTextExact.

Voici ce que l’on obtient après avoir renseigné son email :

...

On aimerait utiliser la fonction pressEnter pour passer au champ suivant.

Cependant, dans cet exemple, cela ne fonctionne pas.

Il faut donc utiliser la fonction pressBack qui permet de désactiver le clavier.

Ensuite, aucune fonction click ne permet de sélectionner le champ “Password”.

Il faut donc utiliser la fonction clickByXY ou clickByPercent pour sélectionner le champ grâce à ses coordonnées. Ces dernières sont à adapter suivant les téléphones qui effectuent les mesures.

Parfois, le script va trop vite et rentre le mot de passe dans le champ de l’email.

Pour éviter cela, il faut ajouter une pause de une seconde après avoir désactivé le clavierLe champ “Email” est également accessible avec sa classe Android : android.widget.EditText.

Il est donc possible d’utiliser la fonction formClickOnEditText avec en paramètre la position du champ de texte. Si aucun paramètre n’est fourni, c’est le premier champ qui est sélectionné par défaut.

Il existe aussi la fonction formClickOnFirstEmptyEditText qui peut être utilisée pour sélectionner le premier champ de texte vide. Cela n’est pas intéressant dans notre cas car le champ “Email” est déjà pré-rempli.

Voici ce que l’on obtient après avoir renseigné son email :

...

Ensuite, la fonction pressTab permet de passer au champ suivant.

Voici un exemple de code qui permet de remplir les deux champs :

Code Block
languagebash
### Préparation rapide du téléphone (à ne pas utiliser pour les mesures)
applicationStart,fr.kwit.android
waitUntilText,Already an account
# Clic sur l'élément "Already an account"
clickByText,Already an account
waitUntilText,Sign Up
# Clic sur l'élément "Other Sign in methods"
clickByPercent,50,85
waitUntilText,Other Sign in methods
# Clic sur l'élément "Email"
clickByPercent,50,92
waitUntilText,Sign in with your Email

### Remplissage du formulaire
measureStart,ACTION_loginPage_fillForm
clickByTextExact,EmailformClickOnEditText
enterText,test@gmail.com
pressBackpressTab
pauseenterText,100012345678
clickByPercent,50,70
enterText,12345678pause,${PAUSEAFTERLOAD}
measureStop

Exemple 2

Le site web https://www.sante.fr contient des champs qui ne sont pas accessibles par leur texte, leur description ou leur identifiant.

...

Cependant, les deux champs ont la classe Android suivante : android.widget.EditText.

La fonction GDSL clickOnFirstEmptyEditText formClickOnFirstEmptyEditText permet de cliquer sur le premier champ de texte vide.

...

Code Block
languagebash
### Préparation rapide du téléphone (à ne pas utiliser pour les mesures)
setBrowser,chrome
launchBrowser
browserClearCache
browserCloseAllTabs
browserNewTab
browserGoToUrl,https://www.sante.fr
pressEnter
# Acceptation des cookies
waitUntilText,Tout accepter
clickByText,Tout accepter
waitUntilText,L'information fiable

### Remplissage du formulaire
measureStart,ACTION_homePage_fillForm
clickOnFirstEmptyEditTextformClickOnFirstEmptyEditText
enterText,pediatre
clickOnFirstEmptyEditTextpressTab
enterText,Hauts-de-Seine
pause,${PAUSEAFTERLOAD}
measureStop

Note

Après la fonction enterText, ne pas écrire de caractères spéciaux ni accentués car ils ne sont pas pris en compte.