Logo de Groovy
La version pro de SoapUI (c’est à dire SoapUi Ng Pro Ready!API) permet de générer de multiple test à la volée à condition de savoir coder en Groovy.
GROOVY c’est un langage objet orienté objet assez proche de python.
Il est destiné aux plateformes Java. Il n’est donc bien sûr pas limité à SoapUI.
Je vous propose dans cet article de faire un tour rapide sur l’implémentation de boucle for each en Groovy pour les listes ou les tableaux.
On crée un tableau et on va afficher chacune des valeurs de ce tableau.
//Création du tableau
def tableauSimple= [ "a", "b" ] ;
//On boucle sur chaque valeur du tableau.
for (maValeur in tableauSimple){
//Affichage de la valeur du tableau
log.info(maValeur);
}
// a 1
// a 2
On crée deux tableaux et on va afficher chacune des valeurs de ces tableaux.
La deuxième boucle étant imbriquée dans la première boucle cela nous donnera toutes les couples (ou tuples) possibles entre le tableau A et le tableau B.
def paramA = [ "a", "b" ] ;
def paramB = [ "1", "2" ] ;
for (myParamA in paramA){
for (myParamB in paramB){
log.info(myParamA + " " + myParamB);
}
}
// a 1
// a 2
// b 1
// b 2
Pour cet exemple, je vous propose de faire un peu d’objet et d’utiliser la méthode each des listes.
Ce programme, va afficher chaque élément de la liste.
def stringList = ["java", "perl", "python", "ruby", "c#", "cobol",
"groovy"] as String[];
stringList.each() {langage->log.info(langage); };
// java
// perl
// python
// ruby
// c#
// cobol
// groovy
La variable it est le nom de la variable par défaut d’itération.
Si vous ne précisez pas de variable dans l’itération comme l’exemple ci-dessus alors il vous faudra utiliser ‘it’.
def stringList = [ "java", "perl", "python", "ruby", "c#", "cobol",
"groovy"];
stringList.each() {log.info(it); };
// java
// perl
// python
// ruby
// c#
// cobol
// groovy
Attention à la façon dont vous déclarez votre tableau.
Si au lieu de déclarer une liste ou une variable vous déclarez un String, groovy va interpréter cela comme un tableau de caractère.
Il itérera donc sur chaque caractère de la chaine de caractères.
String monstring = "JAVA";
monstring.each() {log.info(it); };
// J
// A
// V
// A
Vous pourriez jeter un coup d’œil aux articles suivants:
Sources:
Voilà 10 ans que je n'avais pas écrit un petit texte pour souhaiter un joyeux… Read More
Cela faisait un petit moment que je n'avais pas créé de billets sur ce blog.… Read More
Explorez l'importance des user stories dans la méthode Agile à travers une vidéo humoristique qui… Read More
Parce que, contrairement à ce que l'on pourrait penser ce soir qu'il pleut des cordes,… Read More
Un peu d’humour en attendant le résultat des élections présidentielles françaises. Read More
Si vous n'avez pas accès à l'interface graphique de votre Linux, vous pouvez modifier l'horloge… Read More
View Comments