Ajouter des actions
Il est possible d'utiliser de nouvelles actions qui ne font pas partie de la bibliothèque du TextEngine et de les intégrer à vos parcours.
public static boolean MonActionACoder(String prop, String param) throws IOException {
/* L'appel de l'action se fait en appelant une propriété et un paramètre.
Il est possible de ne pas avoir besoin de paramètre, auquel cas l'action peut être appelée uniquement avec la propriété.
public static boolean MonActionACoder(String prop) */
WebDriver selenium = TextEngine.selfdriver;
Teststep teststep = initTeststep("NatureAction", "MonActionACoder", prop, param, TextEngine.nom);
/* Ici, on crée un Teststep. Le premier paramètre de la fonction initTeststep() est la nature de l'action.
Les valeurs les plus courantes sont texte, id, name, xpath; mais il est possible d'utiliser la valeur de votre choix.
Le deuxième paramètre est le nom de l'action.
Si l'action ne prend pas de paramètre, il est nécessaire de changer param en null.
Les autres paramètres ne doivent pas être modifiés. */
Date time1 = new Date();
try {
Thread.sleep(Config.pause_actions);
} catch (InterruptedException e) {
e.printStackTrace();
}
WebDriverWait wait = new WebDriverWait(selenium, Config.timeout_elements);
WebElement myObj;
Hashtable<String, String> array_prop_object = Fonctions.getObjectProperties(teststep.object_attach_name);
if (array_prop_object.isEmpty()){
return Fonctions.logStepKO(teststep, selenium, time1, "No such file :"+ teststep.object_attach_name);
}
try {
/* Le try est le corps de l'action où tous les développements ont lieu.
Cette première ligne permet de récupérer un élément sur la page en utilisant la propriété donnée en appel de l'action.
La fonction By n'accepte que les valeurs id, name et xpath pour rechercher un élément.
Si votre NatureAction est différente, il faut le plus souvent utiliser un xpath.
*/
myObj = wait.until(ExpectedConditions.presenceOfElementLocated(By.NatureAction(array_prop_object.get("NatureAction"))));
return Fonctions.logStepOK(teststep, selenium, time1);
} catch (Exception e) {
System.out.println (e.getMessage());
return Fonctions.logStepKO(teststep, selenium, time1, "Cannot perform action in obj : " +e.getMessage());
}
}
Last updated